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

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

[elpa] master bc15f84: Release: ada-mode: version 5.2.0. wisi: version 1


From: Stephen Leake
Subject: [elpa] master bc15f84: Release: ada-mode: version 5.2.0. wisi: version 1.1.3
Date: Tue, 26 Jul 2016 20:46:49 +0000 (UTC)

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

    Release: ada-mode: version 5.2.0. wisi: version 1.1.3
---
 packages/ada-mode/NEWS              |   26 +
 packages/ada-mode/README            |    2 +-
 packages/ada-mode/ada-build.el      |    4 +-
 packages/ada-mode/ada-gnat-xref.el  |   10 +-
 packages/ada-mode/ada-grammar-wy.el | 1339 ++++++++++++++++++-----------------
 packages/ada-mode/ada-mode.el       |   55 +-
 packages/ada-mode/ada-mode.info     |  247 ++++---
 packages/ada-mode/ada-mode.texi     |  204 +++---
 packages/ada-mode/ada-ref-man.el    |   13 -
 packages/ada-mode/ada-skel.el       |   31 +-
 packages/ada-mode/ada-wisi.el       |   63 +-
 packages/ada-mode/dir               |    2 +-
 packages/ada-mode/gnat-core.el      |   26 +-
 packages/ada-mode/gpr-grammar-wy.el |    2 +-
 packages/ada-mode/gpr-mode.info     |    2 +-
 packages/ada-mode/gpr-query.el      |   12 +-
 packages/ada-mode/gpr_query.adb     |  732 +++++++++++++++++++
 packages/ada-mode/gpr_query.gpr     |   70 ++
 packages/wisi/NEWS                  |    4 +
 packages/wisi/README                |    2 +-
 packages/wisi/wisi.el               |    2 +-
 21 files changed, 1932 insertions(+), 916 deletions(-)

diff --git a/packages/ada-mode/NEWS b/packages/ada-mode/NEWS
index 960584e..90a0ad4 100644
--- a/packages/ada-mode/NEWS
+++ b/packages/ada-mode/NEWS
@@ -7,6 +7,32 @@ 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.0
+
+** GNAT 2016 drops support for 'gnat find'; users must use gpr_query.
+
+** ada-xref-tool now defaults to gpr_query if gpr_query executable is
+   found in PATH.
+
+** source code for compiling gpr_query is installed with the Gnu ELPA
+   package; instructions for compiling and installing it are in
+   ada-mode.info.
+
+** better handling of cross-compile targets.
+
+** Allow trailing label in a sequence_of_statements:
+   loop
+      ...
+      goto Next;
+   <<Next>>
+   end loop;
+
+** Handle package aspects.
+
+** tested with GNAT GPL 2016.
+
+** several bug fixes
+
 * Ada mode 5.1.9
 20 Jan 2016
 
diff --git a/packages/ada-mode/README b/packages/ada-mode/README
old mode 100644
new mode 100755
index df7a48c..03ccda9
--- a/packages/ada-mode/README
+++ b/packages/ada-mode/README
@@ -1,4 +1,4 @@
-Emacs Ada mode version 5.1.9
+Emacs Ada mode version 5.2.0
 
 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 158773a..6b28042 100644
--- a/packages/ada-mode/ada-build.el
+++ b/packages/ada-mode/ada-build.el
@@ -1,7 +1,7 @@
 ;; ada-build.el --- Extensions to ada-mode for compiling and running  -*- 
lexical-binding:t -*-
 ;; Ada projects without 'make' or similar tool
 ;;
-;; Copyright (C) 1994, 1995, 1997 - 2015  Free Software Foundation, Inc.
+;; Copyright (C) 1994, 1995, 1997 - 2016  Free Software Foundation, Inc.
 ;;
 ;; Author: Stephen Leake <address@hidden>
 ;; Maintainer: Stephen Leake <address@hidden>
@@ -66,7 +66,7 @@ Overridden by project variable `check_cmd'."
 (defcustom ada-build-make-cmd
   (concat "${cross_prefix}gnatmake -P${gpr_file} -o ${main} ${main} 
${gnatmake_opt} "
          "-cargs -I${src_dir} ${comp_opt} -bargs ${bind_opt} -largs 
${link_opt}")
-  "Default command to compile the application.
+  "Default command and link to compile the application.
 Overridden by project variable `make_cmd'."
   :type 'string)
 
diff --git a/packages/ada-mode/ada-gnat-compile.el 
b/packages/ada-mode/ada-gnat-compile.el
old mode 100644
new mode 100755
diff --git a/packages/ada-mode/ada-gnat-xref.el 
b/packages/ada-mode/ada-gnat-xref.el
old mode 100644
new mode 100755
index 4d49aa7..58719a5
--- a/packages/ada-mode/ada-gnat-xref.el
+++ b/packages/ada-mode/ada-gnat-xref.el
@@ -5,7 +5,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>
@@ -145,7 +145,9 @@
   ;; is asynchronous, and automatically runs the compilation error
   ;; filter.
 
-  (let* ((cmd (format "gnat find -a -r %s:%s:%d:%d" identifier file line col)))
+  (let* ((cmd (format "%sgnat find -a -r %s:%s:%d:%d"
+                      (or (ada-prj-get 'target) "")
+                      identifier file line col)))
 
     (with-current-buffer (gnat-run-buffer); for default-directory
       (let ((compilation-environment (ada-prj-get 'proc_env))
@@ -208,9 +210,5 @@
 (ada-gnat-xref)
 
 (provide 'ada-gnat-xref)
-(provide 'ada-xref-tool)
-
-(unless (default-value 'ada-xref-tool)
-  (set-default 'ada-xref-tool 'gnat))
 
 ;; end of file
diff --git a/packages/ada-mode/ada-grammar-wy.el 
b/packages/ada-mode/ada-grammar-wy.el
old mode 100644
new mode 100755
index 10cd525..be0c5f7
--- a/packages/ada-mode/ada-grammar-wy.el
+++ b/packages/ada-mode/ada-grammar-wy.el
@@ -891,6 +891,9 @@
         (wisi-statement-action [1 block-start 2 block-middle 4 statement-end])
         (wisi-containing-action 2 3)
         (wisi-motion-action [1 2]))))
+      (goto_label
+       ((LESS_LESS IDENTIFIER GREATER_GREATER )
+        (wisi-face-action [2 font-lock-constant-face])))
       (handled_sequence_of_statements
        ((sequence_of_statements_opt EXCEPTION exception_handler_list_opt )
         (progn
@@ -1020,8 +1023,7 @@
        ((iterator_specification )))
       (label_opt
        (())
-       ((LESS_LESS IDENTIFIER GREATER_GREATER )
-        (wisi-face-action [2 font-lock-constant-face]))
+       ((goto_label ))
        ((IDENTIFIER COLON )))
       (library_item
        ((PRIVATE library_unit_declaration ))
@@ -1177,7 +1179,7 @@
         (wisi-statement-action [1 block-start 3 name 5 block-middle 7 
block-middle
         9 block-end 11 statement-end])
         (wisi-containing-action 1 3)
-        (wisi-containing-action 3 4)
+        (wisi-containing-action 1 4)
         (wisi-containing-action 5 6)
         (wisi-containing-action 7 8)
         (wisi-containing-action 9 10)
@@ -1187,7 +1189,7 @@
         (progn
         (wisi-statement-action [1 block-start 3 name 5 block-middle 7 
block-end 9 statement-end])
         (wisi-containing-action 1 3)
-        (wisi-containing-action 3 4)
+        (wisi-containing-action 1 4)
         (wisi-containing-action 5 6)
         (wisi-containing-action 7 8)
         (wisi-motion-action [1 5 7])
@@ -1214,7 +1216,7 @@
         (progn
         (wisi-statement-action [1 statement-start 2 name 4 block-start 6 
block-middle 8 block-end])
         (wisi-containing-action 1 2)
-        (wisi-containing-action 2 3)
+        (wisi-containing-action 1 3)
         (wisi-containing-action 4 5)
         (wisi-containing-action 6 7)
         (wisi-motion-action [1 4 6 8])
@@ -1223,7 +1225,7 @@
         (progn
         (wisi-statement-action [1 statement-start 2 name 4 block-start 6 
block-end])
         (wisi-containing-action 1 2)
-        (wisi-containing-action 2 3)
+        (wisi-containing-action 1 3)
         (wisi-containing-action 4 5)
         (wisi-motion-action [1 4 6])
         (wisi-face-action [2 font-lock-function-name-face 7 
font-lock-function-name-face]))))
@@ -1545,7 +1547,8 @@
        ((asynchronous_select )))
       (sequence_of_statements
        ((statement ))
-       ((sequence_of_statements statement )))
+       ((sequence_of_statements statement ))
+       ((sequence_of_statements goto_label )))
       (sequence_of_statements_opt
        (())
        ((sequence_of_statements )))
@@ -1927,7 +1930,7 @@
       ((default . error) (IS .  180))
       ((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)) (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)) 
(LESS_LESS . (pragma . 1)) (STRI [...]
+      ((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) (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))
@@ -2216,7 +2219,7 @@
       ((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))
@@ -2233,7 +2236,7 @@
       ((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)) (LESS_LESS . (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 . (pr [...]
+      ((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))
@@ -2348,43 +2351,43 @@
       ((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) (RIGHT_PAREN . (parameter_specification_list . 1)) 
(SEMICOLON . (parameter_specification_list . 1)))
-      ((default . error) (COLON_EQUAL .  812) (RIGHT_PAREN . 
(parameter_specification . 3)) (SEMICOLON . (parameter_specification . 3)))
+      ((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 .  808))
-      ((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 .  808))
+      ((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) (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 .  805))
-      ((default . error) (DOT .  90) (TICK .  91) (WITH . 
(formal_package_actual_part . 1)) (SEMICOLON . (formal_package_actual_part . 
1)) (LEFT_PAREN .  803))
-      ((default . error) (SEMICOLON .  802))
+      ((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) (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 .  801))
+      ((default . error) (SEMICOLON .  803))
       ((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 .  799) (WITH . (interface_type_definition . 5)) 
(SEMICOLON . (interface_type_definition . 5)))
+      ((default . error) (AND .  801) (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 .  798))
-      ((default . error) (AND .  797) (WITH . (interface_type_definition . 7)) 
(SEMICOLON . (interface_type_definition . 7)))
+      ((default . error) (SEMICOLON .  800))
+      ((default . error) (AND .  799) (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 .  796) (WITH . (interface_type_definition . 6)) 
(SEMICOLON . (interface_type_definition . 6)))
+      ((default . error) (AND .  798) (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 .  795) (WITH . (interface_type_definition . 4)) 
(SEMICOLON . (interface_type_definition . 4)))
-      ((default . error) (RIGHT_PAREN .  794))
+      ((default . error) (AND .  797) (WITH . (interface_type_definition . 4)) 
(SEMICOLON . (interface_type_definition . 4)))
+      ((default . error) (RIGHT_PAREN .  796))
       ((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 .  793))
-      ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (PLUS .  154) (MINUS .  153) (ABS .  144) (NOT .  734) 
(NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) (LEFT_PAREN .  148))
+      ((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) (NEW . (abstract_limited_synchronized_opt . 1)))
       ((default . error) (NEW . (abstract_limited_synchronized_opt . 2)))
-      ((default . error) (LIMITED .  787) (RECORD . 
(abstract_tagged_limited_opt . 2)) (NULL . (abstract_tagged_limited_opt . 2)) 
(PRIVATE . (abstract_tagged_limited_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) (RIGHT_PAREN . (discriminant_specification_list . 1)) 
(SEMICOLON . (discriminant_specification_list . 1)))
-      ((default . error) (NULL .  786))
+      ((default . error) (NULL .  788))
       ((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 .  785))
+      ((default . error) (SEMICOLON . (discriminant_specification_opt . 4)) 
(RIGHT_PAREN . (discriminant_specification_opt . 4)) (COLON_EQUAL .  787))
       ((default . error) (DOT .  90) (TICK .  91) (LEFT_PAREN .  107))
-      ((default . error) (SEMICOLON . (discriminant_specification_opt . 2)) 
(RIGHT_PAREN . (discriminant_specification_opt . 2)) (COLON_EQUAL .  784))
+      ((default . error) (SEMICOLON . (discriminant_specification_opt . 2)) 
(RIGHT_PAREN . (discriminant_specification_opt . 2)) (COLON_EQUAL .  786))
       ((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 [...]
@@ -2398,31 +2401,31 @@
       ((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 .  778))
-      ((default . error) (AT .  777))
+      ((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 . ( 775 
(aspect_specification_opt . 0))) (WITH .  109) (LEFT_PAREN .  107))
-      ((default . error) (IS .  774))
+      ((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 . ( 772 (aspect_specification_opt . 0))) (WITH .  
109))
-      ((default . error) (NOT .  729) (IDENTIFIER .  48) (CHARACTER_LITERAL .  
50) (STRING_LITERAL .  49))
-      ((default . error) (SEMICOLON .  770) (IS .  769))
+      ((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 . ( 767 (aspect_specification_opt . 0))) (WITH .  
109))
-      ((default . error) (SEMICOLON .  766) (IS .  765))
-      ((default . error) (RENAMES .  764))
-      ((default . error) (RENAMES .  763))
+      ((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 .  761))
+      ((default . error) (END .  763))
       ((default . error) (SEMICOLON . (package_specification . 1)))
-      ((default . error) (COLON_EQUAL .  760))
-      ((default . error) (SEMICOLON .  759))
-      ((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 .  757))
-      ((default . error) (SEPARATE .  756) (ABSTRACT .  755))
-      ((default . error) (NULL .  754))
-      ((default . error) (LEFT_PAREN .  752))
-      ((default . error) (WITH . (parameter_profile_opt . 0)) (SEMICOLON . 
(parameter_profile_opt . 0)) (LEFT_PAREN .  750))
-      ((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) (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 [...]
@@ -2431,140 +2434,142 @@
       ((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 . (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 .  745))
-      ((default . error) (ELSE .  741) (RIGHT_PAREN . (if_expression . 3)) 
(COMMA . (if_expression . 3)) (ELSIF .  742))
+      ((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 .  735) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (PLUS .  154) (MINUS .  153) 
(ABS .  144) (NOT .  734) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(LEFT_PAREN .  148))
-      ((default . error) (REVERSE .  732) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49))
-      ((default . error) (NOT .  729) (IDENTIFIER .  48) (CHARACTER_LITERAL .  
50) (STRING_LITERAL .  49))
+      ((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) (RIGHT_PAREN . (case_expression_alternative_list . 
0)) (COMMA . (case_expression_alternative_list . 0)))
-      ((default . error) (RIGHT_PAREN . (case_expression . 0)) (COMMA . ( 727 
(case_expression . 0))))
+      ((default . error) (RIGHT_PAREN . (case_expression . 0)) (COMMA . ( 729 
(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 .  724))
+      ((default . error) (IDENTIFIER .  726))
       ((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) (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 .  718) (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 .  716))
+      ((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 .  713))
+      ((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 .  710))
-      ((default . error) (SEMICOLON .  708) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49))
+      ((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) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
-      ((default . error) (SEMICOLON .  702) (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 .  703) (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 .  691) (TERMINATE .  690) (ACCEPT 
.  630))
+      ((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 .  688))
-      ((default . error) (COLON .  687))
-      ((default . error) (OR . (compound_statement . 5)) (THEN . 
(compound_statement . 5)) (WHEN . (compound_statement . 5)) (EXCEPTION . 
(compound_statement . 5)) (END . (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 . (compound_statement . 5)) (GOTO . (compoun 
[...]
-      ((default . error) (OR . (simple_statement . 1)) (THEN . 
(simple_statement . 1)) (WHEN . (simple_statement . 1)) (EXCEPTION . 
(simple_statement . 1)) (END . (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 . 
(simple_statement . 1)) (IF . (sim [...]
-      ((default . error) (OR . (select_statement . 3)) (THEN . 
(select_statement . 3)) (WHEN . (select_statement . 3)) (EXCEPTION . 
(select_statement . 3)) (END . (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 . 
(select_statement . 3)) (IF . (sel [...]
-      ((default . error) (OR . (compound_statement . 3)) (THEN . 
(compound_statement . 3)) (WHEN . (compound_statement . 3)) (EXCEPTION . 
(compound_statement . 3)) (END . (compound_statement . 3)) (ACCEPT . 
(compound_statement . 3)) (ABORT . (compound_statement . 3)) (BEGIN . 
(compound_statement . 3)) (CASE . (compound_statement . 3)) (DECLARE . 
(compound_statement . 3)) (DELAY . (compound_statement . 3)) (EXIT . 
(compound_statement . 3)) (FOR . (compound_statement . 3)) (GOTO . (compoun 
[...]
-      ((default . error) (OR . (compound_statement . 1)) (THEN . 
(compound_statement . 1)) (WHEN . (compound_statement . 1)) (EXCEPTION . 
(compound_statement . 1)) (END . (compound_statement . 1)) (ACCEPT . 
(compound_statement . 1)) (ABORT . (compound_statement . 1)) (BEGIN . 
(compound_statement . 1)) (CASE . (compound_statement . 1)) (DECLARE . 
(compound_statement . 1)) (DELAY . (compound_statement . 1)) (EXIT . 
(compound_statement . 1)) (FOR . (compound_statement . 1)) (GOTO . (compoun 
[...]
-      ((default . error) (OR . (select_statement . 2)) (THEN . 
(select_statement . 2)) (WHEN . (select_statement . 2)) (EXCEPTION . 
(select_statement . 2)) (END . (select_statement . 2)) (ACCEPT . 
(select_statement . 2)) (ABORT . (select_statement . 2)) (BEGIN . 
(select_statement . 2)) (CASE . (select_statement . 2)) (DECLARE . 
(select_statement . 2)) (DELAY . (select_statement . 2)) (EXIT . 
(select_statement . 2)) (FOR . (select_statement . 2)) (GOTO . 
(select_statement . 2)) (IF . (sel [...]
-      ((default . error) (OR . (simple_statement . 7)) (THEN . 
(simple_statement . 7)) (WHEN . (simple_statement . 7)) (EXCEPTION . 
(simple_statement . 7)) (END . (simple_statement . 7)) (ACCEPT . 
(simple_statement . 7)) (ABORT . (simple_statement . 7)) (BEGIN . 
(simple_statement . 7)) (CASE . (simple_statement . 7)) (DECLARE . 
(simple_statement . 7)) (DELAY . (simple_statement . 7)) (EXIT . 
(simple_statement . 7)) (FOR . (simple_statement . 7)) (GOTO . 
(simple_statement . 7)) (IF . (sim [...]
-      ((default . error) (OR . (simple_statement . 2)) (THEN . 
(simple_statement . 2)) (WHEN . (simple_statement . 2)) (EXCEPTION . 
(simple_statement . 2)) (END . (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 . 
(simple_statement . 2)) (IF . (sim [...]
-      ((default . error) (OR . (compound_statement . 4)) (THEN . 
(compound_statement . 4)) (WHEN . (compound_statement . 4)) (EXCEPTION . 
(compound_statement . 4)) (END . (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 . (compound_statement . 4)) (GOTO . (compoun 
[...]
-      ((default . error) (END .  686))
-      ((default . error) (OR . (compound_statement . 0)) (THEN . 
(compound_statement . 0)) (WHEN . (compound_statement . 0)) (EXCEPTION . 
(compound_statement . 0)) (END . (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 . (compound_statement . 0)) (GOTO . (compoun 
[...]
-      ((default . error) (LOOP .  685))
+      ((default . error) (IDENTIFIER .  690))
+      ((default . error) (COLON .  689))
+      ((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 [...]
+      ((default . error) (OR . (compound_statement . 3)) (THEN . 
(compound_statement . 3)) (WHEN . (compound_statement . 3)) (EXCEPTION . 
(compound_statement . 3)) (END . (compound_statement . 3)) (LESS_LESS . 
(compound_statement . 3)) (ACCEPT . (compound_statement . 3)) (ABORT . 
(compound_statement . 3)) (BEGIN . (compound_statement . 3)) (CASE . 
(compound_statement . 3)) (DECLARE . (compound_statement . 3)) (DELAY . 
(compound_statement . 3)) (EXIT . (compound_statement . 3)) (FOR . (co [...]
+      ((default . error) (OR . (compound_statement . 1)) (THEN . 
(compound_statement . 1)) (WHEN . (compound_statement . 1)) (EXCEPTION . 
(compound_statement . 1)) (END . (compound_statement . 1)) (LESS_LESS . 
(compound_statement . 1)) (ACCEPT . (compound_statement . 1)) (ABORT . 
(compound_statement . 1)) (BEGIN . (compound_statement . 1)) (CASE . 
(compound_statement . 1)) (DECLARE . (compound_statement . 1)) (DELAY . 
(compound_statement . 1)) (EXIT . (compound_statement . 1)) (FOR . (co [...]
+      ((default . error) (OR . (select_statement . 2)) (THEN . 
(select_statement . 2)) (WHEN . (select_statement . 2)) (EXCEPTION . 
(select_statement . 2)) (END . (select_statement . 2)) (LESS_LESS . 
(select_statement . 2)) (ACCEPT . (select_statement . 2)) (ABORT . 
(select_statement . 2)) (BEGIN . (select_statement . 2)) (CASE . 
(select_statement . 2)) (DECLARE . (select_statement . 2)) (DELAY . 
(select_statement . 2)) (EXIT . (select_statement . 2)) (FOR . 
(select_statement . 2)) (GOTO [...]
+      ((default . error) (OR . (simple_statement . 7)) (THEN . 
(simple_statement . 7)) (WHEN . (simple_statement . 7)) (EXCEPTION . 
(simple_statement . 7)) (END . (simple_statement . 7)) (LESS_LESS . 
(simple_statement . 7)) (ACCEPT . (simple_statement . 7)) (ABORT . 
(simple_statement . 7)) (BEGIN . (simple_statement . 7)) (CASE . 
(simple_statement . 7)) (DECLARE . (simple_statement . 7)) (DELAY . 
(simple_statement . 7)) (EXIT . (simple_statement . 7)) (FOR . 
(simple_statement . 7)) (GOTO [...]
+      ((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) (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) (OR . (compound_statement . 2)) (THEN . 
(compound_statement . 2)) (WHEN . (compound_statement . 2)) (EXCEPTION . 
(compound_statement . 2)) (END . (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 . (compound_statement . 2)) (GOTO . (compoun 
[...]
-      ((default . error) (DOT .  90) (SEMICOLON .  682) (TICK .  91) 
(COLON_EQUAL .  681) (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)) (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_statement . 10)) (GOTO . 
(simple_statement . 1 [...]
-      ((default . error) (OR . (simple_statement . 4)) (THEN . 
(simple_statement . 4)) (WHEN . (simple_statement . 4)) (EXCEPTION . 
(simple_statement . 4)) (END . (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 . 
(simple_statement . 4)) (IF . (sim [...]
-      ((default . error) (OR . (simple_statement . 9)) (THEN . 
(simple_statement . 9)) (WHEN . (simple_statement . 9)) (EXCEPTION . 
(simple_statement . 9)) (END . (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 . 
(simple_statement . 9)) (IF . (sim [...]
-      ((default . error) (OR . (simple_statement . 6)) (THEN . 
(simple_statement . 6)) (WHEN . (simple_statement . 6)) (EXCEPTION . 
(simple_statement . 6)) (END . (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 . 
(simple_statement . 6)) (IF . (sim [...]
-      ((default . error) (OR . (select_statement . 0)) (THEN . 
(select_statement . 0)) (WHEN . (select_statement . 0)) (EXCEPTION . 
(select_statement . 0)) (END . (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 . 
(select_statement . 0)) (IF . (sel [...]
-      ((default . error) (OR . (compound_statement . 6)) (THEN . 
(compound_statement . 6)) (WHEN . (compound_statement . 6)) (EXCEPTION . 
(compound_statement . 6)) (END . (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 . (compound_statement . 6)) (GOTO . (compoun 
[...]
-      ((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)) (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_op [...]
-      ((default . error) (END . (handled_sequence_of_statements . 1)) 
(EXCEPTION .  679))
-      ((default . error) (OR . (simple_statement . 5)) (THEN . 
(simple_statement . 5)) (WHEN . (simple_statement . 5)) (EXCEPTION . 
(simple_statement . 5)) (END . (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 . 
(simple_statement . 5)) (IF . (sim [...]
-      ((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)) (ACCEPT . 
(sequence_of_statements . 0)) (ABORT . (sequence_of_statements . 0)) (BEGIN . 
(sequence_of_statements . 0)) (CASE . (sequence_of_statements . 0)) (DECLARE . 
(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)) (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 . 
(select_statement . 1)) (IF . (sel [...]
+      ((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) (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) (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 .  677))
       ((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 .  
950))
-      ((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)) 
(LESS_LESS . (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 .  [...]
+      ((default . error) (END . (exception_handler_list_opt . 0)) (WHEN .  
952))
+      ((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) (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)) 
(LESS_LESS . (procedure_call_statement . 0)) (WHILE . (procedure_call_statement 
. 0)) (SELECT . (procedure_call_stateme [...]
-      ((default . error) (OR . (statement . 1)) (THEN . (statement . 1)) (WHEN 
. (statement . 1)) (EXCEPTION . (statement . 1)) (END . (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)) (PRAGMA . 
(statement . 1)) (RAISE . [...]
-      ((default . error) (OR . (statement . 0)) (THEN . (statement . 0)) (WHEN 
. (statement . 0)) (EXCEPTION . (statement . 0)) (END . (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)) (PRAGMA . 
(statement . 0)) (RAISE . [...]
-      ((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) (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) (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 .  946))
+      ((default . error) (GREATER_GREATER .  948))
       ((default . error) (LOOP . (iteration_scheme . 0)))
-      ((default . error) (SEMICOLON .  945))
+      ((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) (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 .  940) (OR .  941))
-      ((default . error) (DOT .  90) (SEMICOLON .  682) (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 .  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) (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 .  937))
-      ((default . error) (ELSE .  935) (END .  936))
-      ((default . error) (THEN .  934))
-      ((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)) 
(LESS_LESS . (simple_return_statement . 0)) (WHILE . (simple_return_statement . 
0)) (SELECT . (simple_return_statement . 0)) (R [...]
-      ((default . error) (COLON .  933) (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 .  932))
-      ((default . error) (DO . (extended_return_object_declaration_opt . 1)) 
(SEMICOLON .  931))
-      ((default . error) (DO .  930))
+      ((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) (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) (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) (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)) 
(LESS_LESS . (raise_statement . 0)) (WHILE . (raise_statement . 0)) (SELECT . 
(raise_statement . 0)) (RETURN . (raise_statement . 0)) (REQUEUE . 
(raise_statement . 0)) (RAISE . (raise_stateme [...]
-      ((default . error) (WITH .  926) (DOT .  90) (TICK .  91) (SEMICOLON .  
927) (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)) (LESS_LESS . (simple_statement . 0)) (WHILE . 
(simple_statement . 0)) (SELECT . (simple_statement . 0)) (RETURN . 
(simple_statement . 0)) (REQUEUE . (simple_statement . 0)) (RAISE . ( [...]
-      ((default . error) (END .  925))
-      ((default . error) (THEN .  924))
-      ((default . error) (SEMICOLON .  923))
+      ((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) (LOOP . (iterator_specification_opt . 1)))
       ((default . error) (LOOP . (iteration_scheme . 1)))
       ((default . error) (WHEN . (identifier_opt . 1)) (SEMICOLON . 
(identifier_opt . 1)))
-      ((default . error) (WHEN .  921) (SEMICOLON .  922))
+      ((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 .  919))
-      ((default . error) (BEGIN .  918))
-      ((default . error) (IS .  917))
-      ((default . error) (END .  916))
-      ((default . error) (DOT .  90) (TICK .  91) (SEMICOLON .  915) 
(LEFT_PAREN .  107))
-      ((default . error) (SEMICOLON . (actual_parameter_part_opt . 0)) (DO . 
(actual_parameter_part_opt . 0)) (LEFT_PAREN . ( 912 (actual_parameter_part_opt 
. 0))))
-      ((default . error) (IS .  911))
-      ((default . error) (IS .  910))
+      ((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 .  908))
-      ((default . error) (NULL .  907))
-      ((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 .  902) (LEFT_PAREN . 
 827))
-      ((default . error) (OF .  906))
+      ((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) (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 .  904) (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 .  734) 
(NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) (LEFT_PAREN .  148))
+      ((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) (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 .  898) (ELSIF .  742))
+      ((default . error) (COMMA . (if_expression . 1)) (RIGHT_PAREN . 
(if_expression . 1)) (ELSE .  900) (ELSIF .  744))
       ((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 .  897))
+      ((default . error) (RIGHT_PAREN .  899))
       ((default . error) (COMMA . (pragma_argument_association . 3)) 
(RIGHT_PAREN . (pragma_argument_association . 3)))
-      ((default . error) (SEMICOLON .  896))
-      ((default . error) (END .  895))
-      ((default . error) (IDENTIFIER .  235) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (PLUS .  154) (MINUS .  153) (ABS .  144) (NOT .  734) 
(NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) (LEFT_PAREN .  148))
+      ((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) (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) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
109))
@@ -2572,83 +2577,83 @@
       ((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 .  883))
+      ((default . error) (ARRAY .  498) (IDENTIFIER .  48) (CHARACTER_LITERAL 
.  50) (STRING_LITERAL .  49) (ACCESS . (null_exclusion_opt . 0)) (NOT .  885))
       ((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 . (name_opt . 0)) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49))
-      ((default . error) (DOT .  90) (TICK .  91) (RENAMES .  880) (LEFT_PAREN 
.  107))
+      ((default . error) (DOT .  90) (TICK .  91) (RENAMES .  882) (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 .  867) (RANGE .  865) (MOD .  863) (DIGITS .  860) (DELTA .  859) 
(TASK .  509) (PROTECTED .  505) (SYNCHRONIZED .  507) (INTERFACE .  501) 
(ARRAY .  498) (LEFT_PAREN .  861) (ACCESS . (null_exclusion_opt . 0)) (NOT .  
232) (NEW . ((abstract_limited_opt . 0) (abstract_limited_synchronized_opt . 
0))) (LIMITED .  862) (ABSTR [...]
+      ((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) (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 .  857))
+      ((default . error) (SEPARATE .  859))
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (IS . 
(aspect_specification_opt . 0)) (WITH .  109))
-      ((default . error) (NEW .  853) (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 .  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) (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 .  851))
+      ((default . error) (SEPARATE .  853))
       ((default . error) (IS . (aspect_specification_opt . 0)) (WITH .  109))
-      ((default . error) (NEW .  847) (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 .  846))
-      ((default . error) (SEMICOLON .  845))
+      ((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 .  842))
-      ((default . error) (SEMICOLON .  841))
-      ((default . error) (SEMICOLON .  840))
+      ((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 .  839))
+      ((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 .  
835) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49))
+      ((default . error) (ACCESS . (null_exclusion_opt . 1)) (IDENTIFIER .  
837) (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 .  834) (RIGHT_PAREN .  833))
+      ((default . error) (COMMA .  836) (RIGHT_PAREN .  835))
       ((default . error) (RIGHT_PAREN . (index_subtype_definition_list . 0)) 
(COMMA . (index_subtype_definition_list . 0)))
-      ((default . error) (COMMA .  832) (RIGHT_PAREN .  831))
-      ((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 .  828) (LEFT_PAREN .  827))
-      ((default . error) (BOX .  826))
+      ((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) (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 . 
 819) (LEFT_PAREN .  107))
+      ((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) (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 .  818) (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 .  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) (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 .  815))
+      ((default . error) (SEMICOLON .  817))
       ((default . error) (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 .  1084) (DOT .  90) (TICK .  91) 
(RIGHT_PAREN . (parameter_specification . 1)) (SEMICOLON . 
(parameter_specification . 1)) (LEFT_PAREN .  107))
+      ((default . error) (COLON_EQUAL .  1086) (DOT .  90) (TICK .  91) 
(RIGHT_PAREN . (parameter_specification . 1)) (SEMICOLON . 
(parameter_specification . 1)) (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 .  1083))
-      ((default . error) (SEMICOLON .  1082))
-      ((default . error) (RIGHT_PAREN .  1081))
+      ((default . error) (SEMICOLON .  1085))
+      ((default . error) (SEMICOLON .  1084))
+      ((default . error) (RIGHT_PAREN .  1083))
       ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
-      ((default . error) (WITH . ( 1079 (formal_derived_type_definition . 1))) 
(SEMICOLON . (formal_derived_type_definition . 1)))
-      ((default . error) (AND .  1078) (WITH . (interface_type_definition . 
1)) (SEMICOLON . (interface_type_definition . 1)))
+      ((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) (DOT .  90) (SEMICOLON . (interface_list . 0)) (WITH 
. (interface_list . 0)) (AND . (interface_list . 0)) (TICK .  91) (LEFT_PAREN . 
 107))
-      ((default . error) (AND .  1078) (WITH . (interface_type_definition . 
3)) (SEMICOLON . (interface_type_definition . 3)))
-      ((default . error) (AND .  1078) (WITH . (interface_type_definition . 
2)) (SEMICOLON . (interface_type_definition . 2)))
-      ((default . error) (AND .  1078) (WITH . (interface_type_definition . 
0)) (SEMICOLON . (interface_type_definition . 0)))
+      ((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) (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 .  1075) (RAISE .  152) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW . 
 149) (LEFT_PAREN .  148))
-      ((default . error) (BOX .  1074) (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 .  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) (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 .  1073))
+      ((default . error) (OF .  1075))
       ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
-      ((default . error) (OF .  1070))
-      ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (PLUS .  154) (MINUS .  153) (ABS .  144) (NOT .  734) 
(NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) (LEFT_PAREN .  148))
+      ((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) (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)))
@@ -2656,35 +2661,35 @@
       ((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 .  1068))
-      ((default . error) (IDENTIFIER .  1065))
-      ((default . error) (SEMICOLON .  1064))
+      ((default . error) (MOD .  1070))
+      ((default . error) (IDENTIFIER .  1067))
+      ((default . error) (SEMICOLON .  1066))
       ((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 .  1060) (PRIVATE .  1061))
-      ((default . error) (SEMICOLON .  1059))
-      ((default . error) (IS .  1058))
+      ((default . error) (END .  1062) (PRIVATE .  1063))
+      ((default . error) (SEMICOLON .  1061))
+      ((default . error) (IS .  1060))
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
109))
-      ((default . error) (SEMICOLON .  1056))
+      ((default . error) (SEMICOLON .  1058))
       ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
-      ((default . error) (END .  1053) (PRIVATE .  1054))
-      ((default . error) (SEMICOLON .  1052))
-      ((default . error) (SEMICOLON .  1051) (IS .  1050))
+      ((default . error) (END .  1055) (PRIVATE .  1056))
+      ((default . error) (SEMICOLON .  1054))
+      ((default . error) (SEMICOLON .  1053) (IS .  1052))
       ((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 
.  1048))
+      ((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 .  1042) (CHARACTER_LITERAL .  1043))
+      ((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 .  1040))
+      ((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 .  1031) (CASE 
.  1030) (IDENTIFIER .  77) (FOR .  299))
-      ((default . error) (SEMICOLON .  1029) (PRIVATE . 
(abstract_tagged_limited_opt . 4)) (NULL . (abstract_tagged_limited_opt . 4)) 
(RECORD . (abstract_tagged_limited_opt . 4)) (LIMITED .  551))
-      ((default . error) (NEW .  1028))
-      ((default . error) (NEW .  1027))
-      ((default . error) (PRIVATE .  1025) (RECORD .  866) (NULL .  864))
+      ((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) (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)))
@@ -2696,130 +2701,130 @@
       ((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 .  1020))
-      ((default . error) (NULL .  1019))
+      ((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) (COLON_EQUAL .  1013) (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) (SEMICOLON .  1010))
-      ((default . error) (SEMICOLON .  1009))
-      ((default . error) (RIGHT_PAREN .  1008))
+      ((default . error) (RIGHT_PAREN .  1010))
+      ((default . error) (RIGHT_PAREN .  1009))
+      ((default . error) (SEMICOLON .  1008))
       ((default . error) (RIGHT_PAREN .  1007))
-      ((default . error) (SEMICOLON .  1006))
-      ((default . error) (RIGHT_PAREN .  1005))
       ((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) (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 .  1002))
+      ((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) (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 .  999) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49))
+      ((default . error) (REVERSE .  1001) (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) (RIGHT_PAREN . (case_expression_alternative_list . 
1)) (COMMA . (case_expression_alternative_list . 1)))
-      ((default . error) (END . (protected_operation_item_list_opt . 0)) 
(ENTRY .  986) (NOT .  4) (OVERRIDING .  5) (FUNCTION . 
(overriding_indicator_opt . 2)) (PROCEDURE . (overriding_indicator_opt . 2)) 
(FOR .  299))
+      ((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) (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 .  808))
-      ((default . error) (OR . (simple_statement . 8)) (THEN . 
(simple_statement . 8)) (WHEN . (simple_statement . 8)) (EXCEPTION . 
(simple_statement . 8)) (END . (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 . 
(simple_statement . 8)) (IF . (sim [...]
-      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
716))
-      ((default . error) (WHEN .  980))
-      ((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) (DO . (parameter_profile_opt . 0)) (SEMICOLON . 
(parameter_profile_opt . 0)) (LEFT_PAREN .  810))
+      ((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) (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 .  978))
+      ((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) (OR . (exit_statement . 1)) (THEN . (exit_statement . 
1)) (WHEN . (exit_statement . 1)) (EXCEPTION . (exit_statement . 1)) (END . 
(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 . 
(exit_statement . 1)) (LOOP . (e [...]
-      ((default . error) (OR . (simple_statement . 3)) (THEN . 
(simple_statement . 3)) (WHEN . (simple_statement . 3)) (EXCEPTION . 
(simple_statement . 3)) (END . (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 . 
(simple_statement . 3)) (IF . (sim [...]
-      ((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 .  975))
+      ((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) (OR . (raise_statement . 2)) (THEN . (raise_statement 
. 2)) (WHEN . (raise_statement . 2)) (EXCEPTION . (raise_statement . 2)) (END . 
(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_statement . 
2)) (IF . (raise_statement . [...]
-      ((default . error) (ABORT .  973))
-      ((default . error) (OR . (requeue_statement . 1)) (THEN . 
(requeue_statement . 1)) (WHEN . (requeue_statement . 1)) (EXCEPTION . 
(requeue_statement . 1)) (END . (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_statement . 1)) (GOTO . 
(requeue_statement .  [...]
-      ((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)) (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)) (DELAY . (extended_return_statement . 1)) (EXIT  [...]
-      ((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)) (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_statement . 1)) (EXIT . (simple_return_state [...]
+      ((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) (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) (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 .  970))
-      ((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 .  968))
-      ((default . error) (WHEN .  691) (TERMINATE .  690) (ACCEPT .  630) 
(DELAY .  635))
+      ((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) (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) (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) (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 .  963))
+      ((default . error) (EQUAL_GREATER .  965))
       ((default . error) (END . (select_alternative . 5)) (OR . 
(select_alternative . 5)) (ELSE . (select_alternative . 5)))
-      ((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) (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) (END .  961))
-      ((default . error) (SEMICOLON .  960))
-      ((default . error) (OTHERS .  955) (IDENTIFIER .  956) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49))
+      ((default . error) (OTHERS .  957) (IDENTIFIER .  958) 
(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 .  
950))
+      ((default . error) (END . (exception_handler_list_opt . 1)) (WHEN .  
952))
       ((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 .  1182) (EQUAL_GREATER . (name . 0)) (BAR . 
(name . 0)) (LEFT_PAREN . (name . 0)) (DOT . (name . 0)) (TICK . (name . 0)))
+      ((default . error) (COLON .  1184) (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 .  1180) (EQUAL_GREATER .  1181))
+      ((default . error) (BAR .  1182) (EQUAL_GREATER .  1183))
       ((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)) 
(LESS_LESS . (assignment_statement . 0)) (WHILE . (assignment_statement . 0)) 
(SELECT . (assignment_statement . 0)) (RETURN . (assignment_statement . 0 [...]
-      ((default . error) (LOOP .  1179))
+      ((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) (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 .  1176) (ACCEPT .  630) (DELAY .  635))
+      ((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) (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 .  1173))
       ((default . error) (ELSE . (select_alternative_list . 1)) (END . 
(select_alternative_list . 1)) (OR . (select_alternative_list . 1)))
-      ((default . error) (SEMICOLON .  1172))
-      ((default . error) (END .  1171))
-      ((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 .  757))
-      ((default . error) (END .  1168))
-      ((default . error) (SEMICOLON .  1167))
-      ((default . error) (SEMICOLON .  1166))
-      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
716))
-      ((default . error) (ELSE .  1160) (END .  1162) (ELSIF .  1161))
-      ((default . error) (SEMICOLON .  1159))
+      ((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) (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 .  1158))
+      ((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 . (case_statement_alternative_list . 0)) (WHEN . 
(case_statement_alternative_list . 0)))
-      ((default . error) (END .  1155) (WHEN .  980))
-      ((default . error) (SEMICOLON .  1154))
-      ((default . error) (DO .  1152) (SEMICOLON .  1153))
-      ((default . error) (BEGIN .  1151))
-      ((default . error) (IDENTIFIER .  1150))
+      ((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) (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 .  986) (NOT .  4) (OVERRIDING .  5) (FUNCTION . 
(overriding_indicator_opt . 2)) (PROCEDURE . (overriding_indicator_opt . 2)) 
(FOR .  299))
-      ((default . error) (END .  1147))
+      ((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) (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 .  902) (LEFT_PAREN . 
 827))
+      ((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) (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 .  1143))
-      ((default . error) (WITH . (parameter_profile_opt . 0)) (SEMICOLON . 
(parameter_profile_opt . 0)) (LEFT_PAREN .  808))
+      ((default . error) (SEMICOLON .  1145))
+      ((default . error) (WITH . (parameter_profile_opt . 0)) (SEMICOLON . 
(parameter_profile_opt . 0)) (LEFT_PAREN .  810))
       ((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)))
@@ -2828,73 +2833,73 @@
       ((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) (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 .  1136))
       ((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 .  1133))
-      ((default . error) (SEMICOLON .  1132))
       ((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 .  729) (IDENTIFIER .  48) (CHARACTER_LITERAL .  
50) (STRING_LITERAL .  49))
+      ((default . error) (NOT .  731) (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 .  1125) 
(STRING_LITERAL .  1126))
-      ((default . error) (SEMICOLON .  1124))
+      ((default . error) (IS . (direct_name_opt . 0)) (IDENTIFIER .  1127) 
(STRING_LITERAL .  1128))
+      ((default . error) (SEMICOLON .  1126))
       ((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 .  1030) (IDENTIFIER .  77) (FOR .  299))
-      ((default . error) (END .  1121))
-      ((default . error) (COMMA .  96) (COLON .  1120))
+      ((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 . 3)) (END . (component_list 
. 3)) (CASE . (component_list . 3)) (FOR . (component_list . 3)) (IDENTIFIER . 
(component_list . 3)))
-      ((default . error) (DOT_DOT .  1119))
+      ((default . error) (DOT_DOT .  1121))
       ((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 .  1118) (RIGHT_PAREN .  1117))
-      ((default . error) (WITH . (real_range_specification_opt . 0)) 
(SEMICOLON . (real_range_specification_opt . 0)) (RANGE .  1114))
-      ((default . error) (DIGITS .  1113) (WITH . 
(real_range_specification_opt . 0)) (SEMICOLON . (real_range_specification_opt 
. 0)) (RANGE .  1114))
+      ((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) (NEW . ((abstract_limited_synchronized_opt . 1) 
(abstract_limited_opt . 1))))
-      ((default . error) (SEMICOLON .  1112))
-      ((default . error) (NEW .  1110) (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 .  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) (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 .  
716))
+      ((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 .  1078) (WITH .  1107))
+      ((default . error) (AND .  1080) (WITH .  1109))
       ((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 .  1106))
-      ((default . error) (NEW .  1104) (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 .  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) (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 .  
716))
+      ((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 .  1078) (WITH .  1101))
-      ((default . error) (SEMICOLON .  1100))
+      ((default . error) (AND .  1080) (WITH .  1103))
+      ((default . error) (SEMICOLON .  1102))
       ((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 .  1099))
+      ((default . error) (AT .  1101))
       ((default . error) (END . (component_clause_list . 0)) (IDENTIFIER . 
(component_clause_list . 0)))
-      ((default . error) (END .  1097) (IDENTIFIER .  1065))
+      ((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) (RIGHT_PAREN . (discrete_subtype_definition_list . 
1)) (COMMA . (discrete_subtype_definition_list . 1)))
-      ((default . error) (ALIASED .  1090) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (ACCESS . (null_exclusion_opt 
. 0)) (NOT .  883))
+      ((default . error) (ALIASED .  1092) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (ACCESS . (null_exclusion_opt 
. 0)) (NOT .  885))
       ((default . error) (RIGHT_PAREN . (index_subtype_definition_list . 1)) 
(COMMA . (index_subtype_definition_list . 1)))
-      ((default . error) (DOT .  90) (RANGE .  1094) (TICK .  91) (LEFT_PAREN 
.  107))
-      ((default . error) (ALIASED .  1090) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (ACCESS . (null_exclusion_opt 
. 0)) (NOT .  883))
+      ((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) (COMMA . (index_subtype_definition . 0)) (RIGHT_PAREN 
. (index_subtype_definition . 0)))
-      ((default . error) (NUMERIC_LITERAL .  155) (NULL .  1089) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (COMMA .  834) (RIGHT_PAREN .  1088))
+      ((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) (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 .  1086))
-      ((default . error) (AND .  1078) (WITH . (and_interface_list_opt . 1)) 
(SEMICOLON . (and_interface_list_opt . 1)))
+      ((default . error) (PRIVATE .  1088))
+      ((default . error) (AND .  1080) (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)))
@@ -2904,52 +2909,52 @@
       ((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 .  883) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49))
+      ((default . error) (ACCESS . (null_exclusion_opt . 0)) (NOT .  885) 
(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 .  1074))
+      ((default . error) (BOX .  1076))
       ((default . error) (WITH . (array_type_definition . 1)) (SEMICOLON . 
(array_type_definition . 1)) (COLON_EQUAL . (array_type_definition . 1)))
-      ((default . error) (SEMICOLON .  1240))
-      ((default . error) (RECORD .  1239))
+      ((default . error) (SEMICOLON .  1242))
+      ((default . error) (RECORD .  1241))
       ((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) (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 .  1236))
+      ((default . error) (END .  1238))
       ((default . error) (SEMICOLON . (protected_definition . 1)))
       ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
-      ((default . error) (SEMICOLON .  1234))
+      ((default . error) (SEMICOLON .  1236))
       ((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 .  1232))
+      ((default . error) (END .  1234))
       ((default . error) (SEMICOLON . (task_definition . 1)))
       ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
-      ((default . error) (SEMICOLON .  1230))
+      ((default . error) (SEMICOLON .  1232))
       ((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) (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 .  1042) (CHARACTER_LITERAL .  1043))
+      ((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 .  1090) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (ACCESS . (null_exclusion_opt 
. 0)) (NOT .  883))
-      ((default . error) (RECORD .  1224))
+      ((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) (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 .  1223))
-      ((default . error) (WITH . (and_interface_list_opt . 0)) (AND .  819))
-      ((default . error) (DOT .  90) (TICK .  91) (AND .  819) (WITH . 
((constraint_opt . 0) (and_interface_list_opt . 0))) (SEMICOLON . 
(constraint_opt . 0)) (RANGE .  902) (LEFT_PAREN .  827))
-      ((default . error) (SEMICOLON .  1218))
+      ((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) (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 .  1217))
+      ((default . error) (SEMICOLON .  1219))
       ((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 . [...]
@@ -2961,103 +2966,103 @@
       ((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) (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 .  
716))
+      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
718))
       ((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 .  
1209))
-      ((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 .  
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) (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)) (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_statement . 
1)) (IF . (block_statement . [...]
-      ((default . error) (CASE .  1206))
+      ((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) (WHEN . (case_statement_alternative_list . 1)) (END . 
(case_statement_alternative_list . 1)))
-      ((default . error) (BAR .  286) (EQUAL_GREATER .  1205))
-      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
716))
-      ((default . error) (OR . (exit_statement . 0)) (THEN . (exit_statement . 
0)) (WHEN . (exit_statement . 0)) (EXCEPTION . (exit_statement . 0)) (END . 
(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 . 
(exit_statement . 0)) (LOOP . (e [...]
-      ((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) (BAR .  286) (EQUAL_GREATER .  1207))
+      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
718))
+      ((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 .  1201))
+      ((default . error) (IF .  1203))
       ((default . error) (END . (elsif_statement_list . 0)) (ELSE . 
(elsif_statement_list . 0)) (ELSIF . (elsif_statement_list . 0)))
-      ((default . error) (END .  1199) (ELSE .  1198) (ELSIF .  1161))
-      ((default . error) (SEMICOLON .  1197))
-      ((default . error) (OR . (raise_statement . 1)) (THEN . (raise_statement 
. 1)) (WHEN . (raise_statement . 1)) (EXCEPTION . (raise_statement . 1)) (END . 
(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_statement . 
1)) (IF . (raise_statement . [...]
-      ((default . error) (OR . (requeue_statement . 0)) (THEN . 
(requeue_statement . 0)) (WHEN . (requeue_statement . 0)) (EXCEPTION . 
(requeue_statement . 0)) (END . (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_statement . 0)) (GOTO . 
(requeue_statement .  [...]
-      ((default . error) (RETURN .  1196))
-      ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (ACCESS . (null_exclusion_opt . 0)) (NOT .  883))
-      ((default . error) (END .  1192))
-      ((default . error) (SELECT .  1191))
-      ((default . error) (OR . (selective_accept . 1)) (THEN . 
(selective_accept . 1)) (WHEN . (selective_accept . 1)) (EXCEPTION . 
(selective_accept . 1)) (END . (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 . 
(selective_accept . 1)) (IF . (sel [...]
-      ((default . error) (SELECT .  1190))
+      ((default . error) (END .  1201) (ELSE .  1200) (ELSIF .  1163))
+      ((default . error) (SEMICOLON .  1199))
+      ((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) (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) (END . (delay_alternative . 0)) (OR . 
(delay_alternative . 0)) (ELSE . (delay_alternative . 0)))
-      ((default . error) (SELECT .  1189))
-      ((default . error) (SEMICOLON .  1188))
-      ((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 .  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) (END . (select_alternative . 2)) (OR . 
(select_alternative . 2)) (ELSE . (select_alternative . 2)))
-      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
716))
-      ((default . error) (OTHERS .  955) (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 .  955) (IDENTIFIER .  48) (CHARACTER_LITERAL 
.  50) (STRING_LITERAL .  49))
-      ((default . error) (BAR .  1180) (EQUAL_GREATER .  1284))
+      ((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) (WHEN . (exception_handler . 1)) (END . 
(exception_handler . 1)))
       ((default . error) (EQUAL_GREATER . (exception_choice_list . 1)) (BAR . 
(exception_choice_list . 1)))
-      ((default . error) (SEMICOLON .  1283))
+      ((default . error) (SEMICOLON .  1285))
       ((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) (SEMICOLON .  1281))
-      ((default . error) (SEMICOLON .  1280))
-      ((default . error) (SELECT .  1279))
+      ((default . error) (SELECT .  1281))
       ((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 .  1278))
+      ((default . error) (DO . (extended_return_object_declaration . 1)) 
(SEMICOLON . (extended_return_object_declaration . 1)) (COLON_EQUAL .  1280))
       ((default . error) (DO . (return_subtype_indication . 0)) (SEMICOLON . 
(return_subtype_indication . 0)) (COLON_EQUAL . (return_subtype_indication . 
0)))
-      ((default . error) (SEMICOLON .  1277))
-      ((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)) 
(LESS_LESS . (loop_statement . 1)) (WHILE . (loop_statement . 1)) (SELECT . 
(loop_statement . 1)) (RETURN . (loop_statement . 1)) (REQUEUE . 
(loop_statement . 1)) (RAISE . (loop_statement . 1)) (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) (IF .  1275))
+      ((default . error) (SEMICOLON .  1279))
+      ((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) (ELSIF . (elsif_statement_list . 1)) (ELSE . 
(elsif_statement_list . 1)) (END . (elsif_statement_list . 1)))
-      ((default . error) (SEMICOLON .  1274))
-      ((default . error) (THEN .  1273))
-      ((default . error) (END .  1272))
+      ((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 . (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 .  1269))
-      ((default . error) (END .  1268))
-      ((default . error) (END .  1267))
-      ((default . error) (FOR .  1266) (IDENTIFIER .  77))
-      ((default . error) (WHEN .  1265))
+      ((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 .  1264))
       ((default . error) (SEMICOLON .  1263))
       ((default . error) (SEMICOLON .  1262))
-      ((default . error) (SEMICOLON .  1261))
-      ((default . error) (SEMICOLON .  1260))
       ((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 .  1259))
+      ((default . error) (WITH .  1261))
       ((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 .  1258))
-      ((default . error) (WHEN .  1255))
+      ((default . error) (WITH .  1260))
+      ((default . error) (WHEN .  1257))
       ((default . error) (SEMICOLON . (record_definition . 0)) (WITH . 
(record_definition . 0)))
-      ((default . error) (COLON_EQUAL .  1253) (SEMICOLON . 
(aspect_specification_opt . 0)) (WITH .  109))
+      ((default . error) (COLON_EQUAL .  1255) (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 .  1252))
-      ((default . error) (WITH . (real_range_specification_opt . 0)) 
(SEMICOLON . (real_range_specification_opt . 0)) (RANGE .  1114))
+      ((default . error) (DOT_DOT .  1254))
+      ((default . error) (WITH . (real_range_specification_opt . 0)) 
(SEMICOLON . (real_range_specification_opt . 0)) (RANGE .  1116))
       ((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 .  1078) (WITH .  1250))
-      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
716))
-      ((default . error) (SEMICOLON .  1248))
+      ((default . error) (AND .  1080) (WITH .  1252))
+      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
718))
+      ((default . error) (SEMICOLON .  1250))
       ((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 .  1078) (WITH .  1247))
-      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
716))
-      ((default . error) (SEMICOLON .  1245))
-      ((default . error) (RANGE .  1244))
+      ((default . error) (AND .  1080) (WITH .  1249))
+      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
718))
+      ((default . error) (SEMICOLON .  1247))
+      ((default . error) (RANGE .  1246))
       ((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 .  902) (LEFT_PAREN .  827))
+      ((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) (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)))
@@ -3068,87 +3073,87 @@
       ((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 .  1301))
+      ((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 .  1298) (WHEN .  1255))
+      ((default . error) (END .  1300) (WHEN .  1257))
       ((default . error) (END . (variant_list . 0)) (WHEN . (variant_list . 
0)))
-      ((default . error) (PRIVATE .  1297))
-      ((default . error) (RECORD .  866) (NULL .  864))
+      ((default . error) (PRIVATE .  1299))
+      ((default . error) (RECORD .  868) (NULL .  866))
       ((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 .  1294))
-      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
716))
-      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
716))
-      ((default . error) (OR . (case_statement . 0)) (THEN . (case_statement . 
0)) (WHEN . (case_statement . 0)) (EXCEPTION . (case_statement . 0)) (END . 
(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 . 
(case_statement . 0)) (LOOP . (c [...]
+      ((default . error) (IDENTIFIER .  1296))
+      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
718))
+      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
718))
+      ((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)) (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_statement . 
0)) (IF . (block_statement . [...]
-      ((default . error) (IF .  1291))
-      ((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)) (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 . (if_statement . 3)) (NULL . (if_ [...]
-      ((default . error) (SEMICOLON .  1289))
-      ((default . error) (END .  1288))
-      ((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)) (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)) (DELAY . (extended_return_statement . 0)) (EXIT  [...]
+      ((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) (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) (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 .  1286))
-      ((default . error) (OR . (selective_accept . 0)) (THEN . 
(selective_accept . 0)) (WHEN . (selective_accept . 0)) (EXCEPTION . 
(selective_accept . 0)) (END . (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 . 
(selective_accept . 0)) (IF . (sel [...]
-      ((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)) (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 . 0)) (EXIT . 
(conditional_entry_call . 0)) ( [...]
-      ((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)) (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 . 
(timed_entry_call . 0)) (IF . (tim [...]
-      ((default . error) (OR . (loop_statement . 0)) (THEN . (loop_statement . 
0)) (WHEN . (loop_statement . 0)) (EXCEPTION . (loop_statement . 0)) (END . 
(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 . 
(loop_statement . 0)) (LOOP . (l [...]
-      ((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) (SEMICOLON .  1288))
+      ((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 . (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)) (LESS_LESS 
. (asynchronous_select . 0)) (WHILE . (asynchronous_select . 0)) (SELECT . 
(asynchronous_select . 0)) (RETURN . (asynchronous_select . 0)) (REQUEUE  [...]
+      ((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 .  1319))
-      ((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)) (LESS_LESS . 
(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)) (NU [...]
+      ((default . error) (IF .  1321))
+      ((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) (SEMICOLON .  1317))
-      ((default . error) (SEMICOLON .  1316))
-      ((default . error) (IN .  1315))
-      ((default . error) (IS .  1314))
+      ((default . error) (IN .  1317))
+      ((default . error) (IS .  1316))
       ((default . error) (WITH . (derived_type_definition . 0)) (SEMICOLON . 
(derived_type_definition . 0)))
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
109))
-      ((default . error) (CASE .  1312))
+      ((default . error) (CASE .  1314))
       ((default . error) (WHEN . (variant_list . 1)) (END . (variant_list . 
1)))
-      ((default . error) (BAR .  286) (EQUAL_GREATER .  1311))
+      ((default . error) (BAR .  286) (EQUAL_GREATER .  1313))
       ((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 .  1309))
-      ((default . error) (SEMICOLON .  1308))
-      ((default . error) (DOT_DOT .  1307))
+      ((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) (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) (END . (component_list_opt . 0)) (WHEN . 
(component_list_opt . 0)) (NULL .  1031) (CASE .  1030) (IDENTIFIER .  77) (FOR 
.  299))
-      ((default . error) (SEMICOLON .  1324))
-      ((default . error) (SEMICOLON .  1323))
+      ((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 .  734) 
(NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) (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) (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)) (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 . (if_statement . 2)) (NULL . (if_ [...]
-      ((default . error) (SEMICOLON .  1320))
-      ((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)) (LESS_LESS . 
(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)) (NU [...]
-      ((default . error) (RIGHT_PAREN .  1330))
-      ((default . error) (BEGIN .  1329))
+      ((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) (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) (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 .  1328))
+      ((default . error) (SEMICOLON .  1330))
       ((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 .  
808))
+      ((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) (WHEN . (entry_body_formal_part . 0)))
-      ((default . error) (END .  1333))
-      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
716))
-      ((default . error) (SEMICOLON .  1335))
+      ((default . error) (END .  1335))
+      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
718))
+      ((default . error) (SEMICOLON .  1337))
       ((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))
@@ -3550,9 +3555,9 @@
       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))
-      ((actual_parameter_part . 92)(aspect_specification_opt . 675))
-      ((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)(handled_sequence_of_statements . 658)(if_statement . 659)(iteration_scheme 
. 660)(label_opt . 661)(loop_statement . 662)(name . 663)(pragma . 
664)(procedure_call_statement . 665)(qualified_expression . 54)(raise_statement 
. 66 [...]
+      ((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
@@ -3685,21 +3690,21 @@
       ((access_definition . 534)(mode_opt . 535)(null_exclusion_opt . 517))
       nil
       nil
-      ((null_exclusion_opt . 811))
-      ((formal_part . 93)(parameter_and_result_profile . 810))
-      ((formal_part . 117)(parameter_profile_opt . 809))
+      ((null_exclusion_opt . 813))
+      ((formal_part . 93)(parameter_and_result_profile . 812))
+      ((formal_part . 117)(parameter_profile_opt . 811))
       ((actual_parameter_part . 92))
       nil
-      ((aspect_specification_opt . 807))
-      ((aggregate . 157)(attribute_reference . 51)(expression . 806)(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 . 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))
       nil
-      ((actual_parameter_part . 92)(formal_package_actual_part . 804))
+      ((actual_parameter_part . 92)(formal_package_actual_part . 806))
       nil
       nil
       nil
       nil
       nil
-      ((attribute_reference . 51)(name . 800)(qualified_expression . 
54)(selected_component . 55))
+      ((attribute_reference . 51)(name . 802)(qualified_expression . 
54)(selected_component . 55))
       nil
       nil
       nil
@@ -3711,7 +3716,7 @@
       nil
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(discrete_subtype_definition 
. 788)(discrete_subtype_definition_list . 789)(factor . 
161)(index_subtype_definition . 790)(index_subtype_definition_list . 791)(name 
. 792)(primary . 166)(qualified_expression . 54)(range . 
738)(selected_component . 55)(simple_expression . 487)(subtype_indication . 
739)(term . 176)(term_list . 177)(unary_adding_operator . 178))
+      ((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))
       nil
       nil
       nil
@@ -3726,77 +3731,78 @@
       nil
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(factor . 
161)(membership_choice . 783)(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 . 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))
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 782)(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 . 781)(term . 176)(term_list . 177)(unary_adding_operator 
. 178))
+      ((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))
       nil
       nil
       nil
       nil
-      ((aggregate . 779)(record_rep . 780))
+      ((aggregate . 781)(record_rep . 782))
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 776)(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 . 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 . 773))
-      ((aspect_specification_opt . 726))
-      ((attribute_reference . 51)(name . 730)(qualified_expression . 
54)(selected_component . 55)(subtype_indication . 771))
+      ((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 . 768))
-      ((aspect_specification_opt . 725))
+      ((discriminant_part_opt . 770))
+      ((aspect_specification_opt . 727))
       nil
       nil
       nil
-      ((attribute_reference . 51)(name . 762)(qualified_expression . 
54)(selected_component . 55))
+      ((attribute_reference . 51)(name . 764)(qualified_expression . 
54)(selected_component . 55))
       nil
       nil
       nil
       nil
-      ((constant_opt . 758))
+      ((constant_opt . 760))
       nil
       nil
-      ((paren_expression . 753))
-      ((formal_part . 117)(parameter_profile_opt . 751))
-      ((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)(handled_sequence_of_statements . 749)(if_statement . 659)(iteration_scheme 
. 660)(label_opt . 661)(loop_statement . 662)(name . 663)(pragma . 
664)(procedure_call_statement . 665)(qualified_expression . 54)(raise_statement 
. 66 [...]
-      ((attribute_reference . 51)(name . 243)(name_opt . 
748)(qualified_expression . 54)(selected_component . 55))
+      ((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 . 747)(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 . 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
       nil
-      ((elsif_expression_item . 743)(elsif_expression_list . 744))
-      ((aggregate . 157)(attribute_reference . 51)(expression . 740)(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 
. 736)(factor . 161)(name . 737)(primary . 166)(qualified_expression . 
54)(range . 738)(selected_component . 55)(simple_expression . 
487)(subtype_indication . 739)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
-      ((attribute_reference . 51)(name . 733)(qualified_expression . 
54)(selected_component . 55))
-      ((attribute_reference . 51)(name . 730)(qualified_expression . 
54)(selected_component . 55)(subtype_indication . 731))
-      ((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 . 728)(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 [...]
+      ((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 [...]
       nil
       nil
-      ((aspect_specification_opt . 726))
-      ((aspect_specification_opt . 725))
+      ((aspect_specification_opt . 728))
+      ((aspect_specification_opt . 727))
       nil
       nil
-      ((attribute_reference . 51)(name . 723)(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)(handled_sequence_of_statements . 722)(if_statement . 659)(iteration_scheme 
. 660)(label_opt . 661)(loop_statement . 662)(name . 663)(pragma . 
664)(procedure_call_statement . 665)(qualified_expression . 54)(raise_statement 
. 66 [...]
-      ((aggregate . 157)(attribute_reference . 51)(expression . 
195)(expression_opt . 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))
-      ((abstract_subprogram_declaration . 306)(aspect_clause . 307)(at_clause 
. 308)(body . 309)(body_stub . 310)(declaration . 311)(declarations . 
312)(declarative_part_opt . 720)(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 . 719)(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 . 717))
-      ((iterator_specification . 714)(iterator_specification_opt . 715))
+      ((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))
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 
195)(expression_opt . 712)(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)(if_statement . 
659)(iteration_scheme . 660)(label_opt . 661)(loop_statement . 662)(name . 
663)(pragma . 664)(procedure_call_statement . 665)(qualified_expression . 
54)(raise_statement . 666)(requeue_statement . 667)(selected_c [...]
+      ((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 [...]
       nil
+      ((attribute_reference . 51)(name . 711)(qualified_expression . 
54)(selected_component . 55))
       ((attribute_reference . 51)(name . 709)(qualified_expression . 
54)(selected_component . 55))
-      ((attribute_reference . 51)(name . 707)(qualified_expression . 
54)(selected_component . 55))
-      ((aggregate . 157)(attribute_reference . 51)(expression . 
704)(extended_return_object_declaration . 
705)(extended_return_object_declaration_opt . 706)(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 . 692)(attribute_reference . 51)(delay_alternative . 
693)(delay_statement . 694)(entry_call_alternative . 695)(name . 
696)(procedure_call_statement . 697)(qualified_expression . 
54)(selected_component . 55)(select_alternative . 698)(select_alternative_list 
. 699)(select_alternative_list_opt . 700)(triggering_alternative . 701))
-      ((aggregate . 157)(attribute_reference . 51)(expression . 
195)(expression_opt . 689)(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 . 
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))
+      nil
       nil
       nil
       nil
@@ -3811,7 +3817,7 @@
       nil
       nil
       nil
-      ((accept_statement . 649)(assignment_statement . 
650)(asynchronous_select . 651)(attribute_reference . 51)(block_statement . 
652)(case_statement . 653)(compound_statement . 683)(conditional_entry_call . 
654)(delay_statement . 655)(exit_statement . 656)(extended_return_statement . 
657)(if_statement . 659)(iteration_scheme . 660)(loop_statement . 662)(name . 
663)(pragma . 664)(procedure_call_statement . 665)(qualified_expression . 
54)(raise_statement . 666)(requeue_statement . 667)(s [...]
+      ((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 [...]
       nil
       ((actual_parameter_part . 92))
       nil
@@ -3820,7 +3826,8 @@
       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)(if_statement . 
659)(iteration_scheme . 660)(label_opt . 661)(loop_statement . 662)(name . 
663)(pragma . 664)(procedure_call_statement . 665)(qualified_expression . 
54)(raise_statement . 666)(requeue_statement . 667)(selected_c [...]
+      ((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 [...]
+      nil
       nil
       nil
       nil
@@ -3828,26 +3835,26 @@
       nil
       nil
       nil
+      ((exception_handler . 953)(exception_handler_list . 
954)(exception_handler_list_opt . 955))
       nil
-      ((exception_handler . 951)(exception_handler_list . 
952)(exception_handler_list_opt . 953))
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 949)(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 . 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))
       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)(if_statement . 
659)(iteration_scheme . 660)(label_opt . 661)(loop_statement . 662)(name . 
663)(pragma . 664)(procedure_call_statement . 665)(qualified_expression . 
54)(raise_statement . 666)(requeue_statement . 667)(selected_c [...]
-      ((attribute_reference . 51)(name . 243)(name_opt . 
947)(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)(name . 243)(name_opt . 
949)(qualified_expression . 54)(selected_component . 55))
       nil
       nil
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 944)(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)(if_statement . 
659)(iteration_scheme . 660)(label_opt . 661)(loop_statement . 662)(name . 
663)(pragma . 664)(procedure_call_statement . 665)(qualified_expression . 
54)(raise_statement . 666)(requeue_statement . 667)(selected_c [...]
+      ((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 [...]
       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)(if_statement . 
659)(iteration_scheme . 660)(label_opt . 661)(loop_statement . 662)(name . 
663)(pragma . 664)(procedure_call_statement . 665)(qualified_expression . 
54)(raise_statement . 666)(requeue_statement . 667)(selected_c [...]
+      ((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 [...]
       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)(if_statement . 659)(iteration_scheme . 660)(label_opt . 
661)(loop_statement . 662)(name . 663)(pragma . 664)(procedure_call_statement . 
665)(qualified_expression . 54)(raise_statement . 666)(requeue [...]
-      ((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)(if_statement . 
659)(iteration_scheme . 660)(label_opt . 661)(loop_statement . 662)(name . 
663)(pragma . 664)(procedure_call_statement . 665)(qualified_expression . 
54)(raise_statement . 666)(requeue_statement . 667)(selected_c [...]
+      ((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 [...]
       nil
       nil
       nil
@@ -3868,108 +3875,108 @@
       nil
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 920)(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 . 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))
       nil
       nil
       nil
       nil
       ((actual_parameter_part . 92))
-      ((actual_parameter_part . 913)(actual_parameter_part_opt . 914))
+      ((actual_parameter_part . 915)(actual_parameter_part_opt . 916))
       nil
       nil
-      ((case_expression_alternative . 909))
+      ((case_expression_alternative . 911))
       nil
       nil
-      ((actual_parameter_part . 92)(constraint . 829)(index_constraint . 830))
+      ((actual_parameter_part . 92)(constraint . 831)(index_constraint . 832))
       nil
-      ((attribute_reference . 51)(name . 905)(qualified_expression . 
54)(selected_component . 55))
+      ((attribute_reference . 51)(name . 907)(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 
. 903)(factor . 161)(name . 737)(primary . 166)(qualified_expression . 
54)(range . 738)(selected_component . 55)(simple_expression . 
487)(subtype_indication . 739)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
+      ((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))
       nil
-      ((actual_parameter_part . 92)(constraint . 829)(index_constraint . 830))
+      ((actual_parameter_part . 92)(constraint . 831)(index_constraint . 832))
       nil
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 901)(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 . 900)(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 . 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))
       nil
-      ((elsif_expression_item . 899))
+      ((elsif_expression_item . 901))
       nil
       nil
       nil
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(discrete_subtype_definition 
. 894)(factor . 161)(identifier_list . 236)(name . 737)(parameter_specification 
. 237)(parameter_specification_list . 238)(primary . 166)(qualified_expression 
. 54)(range . 738)(selected_component . 55)(simple_expression . 
487)(subtype_indication . 739)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
-      ((aspect_specification_opt . 893))
-      ((aggregate . 157)(attribute_reference . 51)(case_expression . 
158)(conditional_quantified_expression . 891)(expression . 892)(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 [...]
+      ((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))
-      ((aspect_specification_opt . 888))
-      ((aspect_specification_opt . 887))
       nil
-      ((access_definition . 884)(array_type_definition . 
885)(attribute_reference . 51)(name . 730)(null_exclusion_opt . 
517)(qualified_expression . 54)(selected_component . 55)(subtype_indication . 
886))
+      ((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 . 882)(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 . 
881)(qualified_expression . 54)(selected_component . 55))
+      ((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 . 879)(qualified_expression . 
54)(selected_component . 55))
-      ((attribute_reference . 51)(name . 878)(qualified_expression . 
54)(selected_component . 55))
-      ((abstract_limited_synchronized_opt . 868)(abstract_limited_opt . 
869)(abstract_tagged_limited_opt . 870)(access_definition . 
871)(array_type_definition . 872)(derived_type_definition . 
873)(enumeration_type_definition . 874)(interface_type_definition . 
875)(null_exclusion_opt . 517)(record_type_definition . 876)(type_definition . 
877))
+      ((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
       nil
-      ((aspect_specification_opt . 856))
-      ((abstract_subprogram_declaration . 306)(aspect_clause . 307)(at_clause 
. 308)(body . 309)(body_stub . 310)(declaration . 311)(declarations . 
312)(declarative_part_opt . 854)(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 [...]
+      ((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 [...]
       nil
-      ((aspect_specification_opt . 852))
+      ((aspect_specification_opt . 854))
       nil
-      ((aspect_specification_opt . 850))
-      ((abstract_subprogram_declaration . 306)(aspect_clause . 307)(at_clause 
. 308)(body . 309)(body_stub . 310)(declaration . 311)(declarations . 
312)(declarative_part_opt . 848)(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 [...]
+      ((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
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 844)(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 . 843))
+      ((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))
       nil
       nil
       nil
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 838)(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 . 837)(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 . 836))
+      ((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))
       nil
       nil
       nil
       nil
       nil
-      ((actual_parameter_part . 92)(constraint . 829)(index_constraint . 830))
+      ((actual_parameter_part . 92)(constraint . 831)(index_constraint . 832))
       nil
       nil
-      ((attribute_reference . 51)(interface_list . 825)(name . 
822)(qualified_expression . 54)(selected_component . 55))
-      ((attribute_reference . 51)(interface_list . 824)(name . 
822)(qualified_expression . 54)(selected_component . 55))
-      ((attribute_reference . 51)(interface_list . 823)(name . 
822)(qualified_expression . 54)(selected_component . 55))
+      ((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))
       nil
-      ((attribute_reference . 51)(interface_list . 821)(name . 
822)(qualified_expression . 54)(selected_component . 55))
-      ((actual_parameter_part . 92)(and_interface_list_opt . 820))
+      ((attribute_reference . 51)(interface_list . 823)(name . 
824)(qualified_expression . 54)(selected_component . 55))
+      ((actual_parameter_part . 92)(and_interface_list_opt . 822))
       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 . 817))
+      ((aspect_specification_opt . 819))
       nil
-      ((aspect_specification_opt . 816))
+      ((aspect_specification_opt . 818))
       nil
       ((identifier_list . 236)(parameter_specification . 
237)(parameter_specification_list . 238))
       nil
       nil
-      ((attribute_reference . 51)(name . 814)(qualified_expression . 
54)(selected_component . 55))
-      ((aggregate . 157)(attribute_reference . 51)(expression . 813)(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 . 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))
       nil
       ((actual_parameter_part . 92))
       nil
       nil
       nil
       nil
-      ((attribute_reference . 51)(interface_list . 1080)(name . 
822)(qualified_expression . 54)(selected_component . 55))
+      ((attribute_reference . 51)(interface_list . 1082)(name . 
824)(qualified_expression . 54)(selected_component . 55))
       nil
       nil
       ((actual_parameter_part . 92))
@@ -3977,14 +3984,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 . 
788)(discrete_subtype_definition_ [...]
-      ((aggregate . 157)(attribute_reference . 51)(factor . 161)(name . 
197)(primary . 166)(qualified_expression . 54)(range . 1001)(selected_component 
. 55)(simple_expression . 487)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
+      ((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))
       nil
       nil
       nil
-      ((attribute_reference . 51)(index_subtype_definition . 1071)(name . 
1072)(qualified_expression . 54)(selected_component . 55))
+      ((attribute_reference . 51)(index_subtype_definition . 1073)(name . 
1074)(qualified_expression . 54)(selected_component . 55))
       nil
-      ((aggregate . 157)(attribute_reference . 51)(discrete_subtype_definition 
. 1069)(factor . 161)(name . 737)(primary . 166)(qualified_expression . 
54)(range . 738)(selected_component . 55)(simple_expression . 
487)(subtype_indication . 739)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
+      ((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))
       nil
       nil
       nil
@@ -3993,50 +4000,50 @@
       nil
       nil
       nil
-      ((component_clause . 1066)(component_clause_list . 1067))
+      ((component_clause . 1068)(component_clause_list . 1069))
       nil
       nil
-      ((aspect_specification_opt . 1063))
-      ((attribute_reference . 51)(interface_list . 1062)(name . 
822)(qualified_expression . 54)(selected_component . 55))
+      ((aspect_specification_opt . 1065))
+      ((attribute_reference . 51)(interface_list . 1064)(name . 
824)(qualified_expression . 54)(selected_component . 55))
       nil
       nil
       nil
-      ((aspect_specification_opt . 1057))
+      ((aspect_specification_opt . 1059))
       nil
-      ((attribute_reference . 51)(interface_list . 1055)(name . 
822)(qualified_expression . 54)(selected_component . 55))
+      ((attribute_reference . 51)(interface_list . 1057)(name . 
824)(qualified_expression . 54)(selected_component . 55))
       nil
       nil
       nil
-      ((aspect_specification_opt . 1049))
+      ((aspect_specification_opt . 1051))
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 1047)(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 . 1046)(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 . 1044)(enumeration_literal_list . 1045))
+      ((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))
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 1041)(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 . 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))
       nil
-      ((aggregate . 157)(attribute_reference . 51)(factor . 161)(name . 
163)(primary . 166)(qualified_expression . 54)(selected_component . 
55)(simple_expression . 1039)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
-      ((aspect_clause . 1032)(at_clause . 308)(component_declaration . 
1033)(component_item . 1034)(component_list . 1035)(component_list_opt . 
1036)(enumeration_representation_clause . 315)(identifier_list . 
1037)(record_representation_clause . 339)(variant_part . 1038))
+      ((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
       nil
-      ((record_definition . 1026))
+      ((record_definition . 1028))
       nil
       nil
       nil
       nil
       nil
       nil
-      ((aspect_specification_opt . 1024))
-      ((actual_parameter_part . 92)(aspect_specification_opt . 1023))
-      ((actual_parameter_part . 92)(aspect_specification_opt . 1022))
-      ((attribute_reference . 51)(name . 1021)(qualified_expression . 
54)(selected_component . 55))
+      ((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
       nil
+      ((aspect_specification_opt . 1020))
       ((aspect_specification_opt . 1018))
       ((aspect_specification_opt . 1016))
-      ((aspect_specification_opt . 1014))
       nil
       nil
       nil
@@ -4045,53 +4052,53 @@
       nil
       nil
       nil
-      ((attribute_reference . 51)(name . 243)(name_opt . 
1004)(qualified_expression . 54)(selected_component . 55))
+      ((attribute_reference . 51)(name . 243)(name_opt . 
1006)(qualified_expression . 54)(selected_component . 55))
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 1003)(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 . 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))
       nil
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(factor . 161)(name . 
197)(primary . 166)(qualified_expression . 54)(range . 1001)(selected_component 
. 55)(simple_expression . 487)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
+      ((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))
       nil
-      ((attribute_reference . 51)(name . 998)(qualified_expression . 
54)(selected_component . 55))
+      ((attribute_reference . 51)(name . 1000)(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))
-      ((attribute_reference . 51)(name . 998)(qualified_expression . 
54)(selected_component . 55))
-      ((aggregate . 157)(attribute_reference . 51)(expression . 997)(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 . 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))
       nil
-      ((aspect_clause . 987)(at_clause . 308)(entry_body . 
988)(enumeration_representation_clause . 315)(expression_function_declaration . 
989)(function_specification . 16)(null_procedure_declaration . 
990)(overriding_indicator_opt . 991)(procedure_specification . 
32)(protected_operation_item . 992)(protected_operation_item_list . 
993)(protected_operation_item_list_opt . 994)(record_representation_clause . 
339)(subprogram_body . 995)(subprogram_declaration . 996))
-      ((abstract_subprogram_declaration . 306)(aspect_clause . 307)(at_clause 
. 308)(body . 309)(body_stub . 310)(declaration . 311)(declarations . 
312)(declarative_part_opt . 985)(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 [...]
+      ((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 [...]
       nil
-      ((formal_part . 117)(parameter_profile_opt . 984))
+      ((formal_part . 117)(parameter_profile_opt . 986))
       nil
-      ((identifier_opt . 983))
-      ((case_statement_alternative . 981)(case_statement_alternative_list . 
982))
-      ((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)(handled_sequence_of_statements . 979)(if_statement . 659)(iteration_scheme 
. 660)(label_opt . 661)(loop_statement . 662)(name . 663)(pragma . 
664)(procedure_call_statement . 665)(qualified_expression . 54)(raise_statement 
. 66 [...]
+      ((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 [...]
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 
195)(expression_opt . 977)(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 . 
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))
       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)(if_statement . 
659)(iteration_scheme . 660)(label_opt . 661)(loop_statement . 662)(name . 
663)(pragma . 664)(procedure_call_statement . 665)(qualified_expression . 
54)(raise_statement . 666)(requeue_statement . 667)(selected_c [...]
+      ((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 [...]
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 974)(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 . 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))
       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)(handled_sequence_of_statements . 972)(if_statement . 659)(iteration_scheme 
. 660)(label_opt . 661)(loop_statement . 662)(name . 663)(pragma . 
664)(procedure_call_statement . 665)(qualified_expression . 54)(raise_statement 
. 66 [...]
+      ((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 [...]
       nil
       nil
-      ((aliased_opt . 971))
+      ((aliased_opt . 973))
       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)(if_statement . 
659)(iteration_scheme . 660)(label_opt . 661)(loop_statement . 662)(name . 
663)(pragma . 664)(procedure_call_statement . 665)(qualified_expression . 
54)(raise_statement . 666)(requeue_statement . 667)(selected_c [...]
+      ((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 [...]
       nil
-      ((accept_statement . 692)(delay_alternative . 693)(delay_statement . 
965)(select_alternative . 967))
+      ((accept_statement . 694)(delay_alternative . 695)(delay_statement . 
967)(select_alternative . 969))
       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)(if_statement . 
659)(iteration_scheme . 660)(label_opt . 661)(loop_statement . 662)(name . 
663)(pragma . 664)(procedure_call_statement . 665)(qualified_expression . 
54)(raise_statement . 666)(requeue_statement . 667)(selected_c [...]
-      ((delay_alternative . 964)(delay_statement . 965))
+      ((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))
       nil
       nil
       nil
@@ -4100,9 +4107,9 @@
       nil
       nil
       nil
-      ((attribute_reference . 51)(exception_choice . 
957)(exception_choice_list . 958)(name . 959)(qualified_expression . 
54)(selected_component . 55))
+      ((attribute_reference . 51)(exception_choice . 
959)(exception_choice_list . 960)(name . 961)(qualified_expression . 
54)(selected_component . 55))
       nil
-      ((exception_handler . 954))
+      ((exception_handler . 956))
       nil
       nil
       nil
@@ -4113,26 +4120,26 @@
       nil
       nil
       nil
-      ((accept_statement . 1177)(delay_alternative . 1178)(delay_statement . 
965))
+      ((accept_statement . 1179)(delay_alternative . 1180)(delay_statement . 
967))
       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)(if_statement . 
659)(iteration_scheme . 660)(label_opt . 661)(loop_statement . 662)(name . 
663)(pragma . 664)(procedure_call_statement . 665)(qualified_expression . 
54)(raise_statement . 666)(requeue_statement . 667)(selected_c [...]
+      ((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 [...]
       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)(if_statement . 
659)(iteration_scheme . 660)(label_opt . 661)(loop_statement . 662)(name . 
663)(pragma . 664)(procedure_call_statement . 665)(qualified_expression . 
54)(raise_statement . 666)(requeue_statement . 667)(selected_c [...]
-      ((constant_opt . 1169))
+      ((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))
       nil
       nil
       nil
-      ((identifier_opt . 1165))
-      ((elsif_statement_item . 1163)(elsif_statement_list . 1164))
+      ((identifier_opt . 1167))
+      ((elsif_statement_item . 1165)(elsif_statement_list . 1166))
       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 . 1157)(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 . 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_ [...]
       nil
-      ((case_statement_alternative . 1156))
+      ((case_statement_alternative . 1158))
       nil
       nil
       nil
@@ -4141,51 +4148,51 @@
       nil
       nil
       nil
-      ((function_specification . 436)(procedure_specification . 
437)(subprogram_specification . 1149))
+      ((function_specification . 436)(procedure_specification . 
437)(subprogram_specification . 1151))
       nil
-      ((aspect_clause . 987)(at_clause . 308)(entry_body . 
988)(enumeration_representation_clause . 315)(expression_function_declaration . 
989)(function_specification . 16)(null_procedure_declaration . 
990)(overriding_indicator_opt . 991)(procedure_specification . 
32)(protected_operation_item . 1148)(record_representation_clause . 
339)(subprogram_body . 995)(subprogram_declaration . 996))
+      ((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))
       nil
       nil
       nil
       nil
-      ((actual_parameter_part . 92)(constraint . 1146)(index_constraint . 830))
-      ((attribute_reference . 51)(name . 1145)(qualified_expression . 
54)(selected_component . 55))
+      ((actual_parameter_part . 92)(constraint . 1148)(index_constraint . 832))
+      ((attribute_reference . 51)(name . 1147)(qualified_expression . 
54)(selected_component . 55))
       ((actual_parameter_part . 92))
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 1144)(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 . 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))
+      nil
       nil
+      ((formal_part . 117)(parameter_profile_opt . 1144))
       nil
-      ((formal_part . 117)(parameter_profile_opt . 1142))
       nil
       nil
       nil
       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))
       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))
       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))
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 1137)(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
-      ((attribute_reference . 51)(name . 998)(qualified_expression . 
54)(selected_component . 55))
+      ((attribute_reference . 51)(name . 1000)(qualified_expression . 
54)(selected_component . 55))
       nil
-      ((actual_parameter_part . 92)(aspect_specification_opt . 1135))
+      ((actual_parameter_part . 92)(aspect_specification_opt . 1137))
       nil
       nil
       nil
-      ((aspect_specification_opt . 1131))
+      ((aspect_specification_opt . 1133))
       nil
-      ((attribute_reference . 51)(name . 1130)(qualified_expression . 
54)(selected_component . 55))
-      ((attribute_reference . 51)(name . 730)(qualified_expression . 
54)(selected_component . 55)(subtype_indication . 1129))
+      ((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))
       nil
-      ((direct_name . 1127)(direct_name_opt . 1128))
+      ((direct_name . 1129)(direct_name_opt . 1130))
       nil
       nil
       nil
       nil
-      ((aspect_clause . 1032)(at_clause . 308)(component_declaration . 
1033)(component_item . 1122)(enumeration_representation_clause . 
315)(identifier_list . 1037)(record_representation_clause . 339)(variant_part . 
1123))
+      ((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))
       nil
       nil
       nil
@@ -4196,51 +4203,51 @@
       nil
       nil
       nil
-      ((real_range_specification_opt . 1116))
-      ((real_range_specification_opt . 1115))
+      ((real_range_specification_opt . 1118))
+      ((real_range_specification_opt . 1117))
       nil
       nil
-      ((abstract_subprogram_declaration . 306)(aspect_clause . 307)(at_clause 
. 308)(body . 309)(body_stub . 310)(declaration . 311)(declarations . 
312)(declarative_part_opt . 854)(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 . 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 [...]
       nil
       nil
-      ((identifier_opt . 1109))
-      ((abstract_subprogram_declaration . 306)(aspect_clause . 307)(at_clause 
. 308)(body . 309)(body_stub . 310)(declaration . 311)(declarations . 
312)(declarative_part_opt . 1108)(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 . 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 [...]
       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 . 848)(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 . 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
-      ((identifier_opt . 1103))
-      ((abstract_subprogram_declaration . 306)(aspect_clause . 307)(at_clause 
. 308)(body . 309)(body_stub . 310)(declaration . 311)(declarations . 
312)(declarative_part_opt . 1102)(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 . 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 [...]
       nil
       nil
       nil
       nil
       nil
-      ((component_clause . 1098))
-      ((aggregate . 157)(attribute_reference . 51)(expression . 1096)(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 . 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))
       nil
-      ((access_definition . 1091)(attribute_reference . 
51)(component_definition . 1095)(name . 730)(null_exclusion_opt . 
517)(qualified_expression . 54)(selected_component . 55)(subtype_indication . 
1093))
+      ((access_definition . 1093)(attribute_reference . 
51)(component_definition . 1097)(name . 732)(null_exclusion_opt . 
517)(qualified_expression . 54)(selected_component . 55)(subtype_indication . 
1095))
       nil
       ((actual_parameter_part . 92))
-      ((access_definition . 1091)(attribute_reference . 
51)(component_definition . 1092)(name . 730)(null_exclusion_opt . 
517)(qualified_expression . 54)(selected_component . 55)(subtype_indication . 
1093))
+      ((access_definition . 1093)(attribute_reference . 
51)(component_definition . 1094)(name . 732)(null_exclusion_opt . 
517)(qualified_expression . 54)(selected_component . 55)(subtype_indication . 
1095))
       nil
       ((aggregate . 157)(attribute_reference . 51)(name . 163)(primary . 
298)(qualified_expression . 54)(selected_component . 55))
       nil
       nil
-      ((attribute_reference . 51)(name . 1087)(qualified_expression . 
54)(selected_component . 55))
+      ((attribute_reference . 51)(name . 1089)(qualified_expression . 
54)(selected_component . 55))
       nil
       nil
       nil
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 1085)(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 . 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))
       nil
       nil
       ((actual_parameter_part . 92))
       nil
-      ((attribute_reference . 51)(name . 1243)(qualified_expression . 
54)(selected_component . 55))
-      ((access_definition . 1241)(attribute_reference . 51)(name . 
730)(null_exclusion_opt . 517)(qualified_expression . 54)(selected_component . 
55)(subtype_indication . 1242))
+      ((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))
       nil
       nil
       nil
@@ -4249,28 +4256,28 @@
       nil
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(factor . 161)(name . 
163)(primary . 166)(qualified_expression . 54)(selected_component . 
55)(simple_expression . 1238)(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 . 1240)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
       nil
-      ((abstract_subprogram_declaration . 306)(aspect_clause . 307)(at_clause 
. 308)(body . 309)(body_stub . 310)(declaration . 311)(declarations . 
312)(declarative_part_opt . 848)(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 . 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
       nil
-      ((attribute_reference . 51)(interface_list . 1235)(name . 
822)(qualified_expression . 54)(selected_component . 55))
+      ((attribute_reference . 51)(interface_list . 1237)(name . 
824)(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 . 854)(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 . 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 [...]
       nil
       nil
-      ((attribute_reference . 51)(interface_list . 1231)(name . 
822)(qualified_expression . 54)(selected_component . 55))
+      ((attribute_reference . 51)(interface_list . 1233)(name . 
824)(qualified_expression . 54)(selected_component . 55))
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 1229)(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 . 1228)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
+      ((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))
       nil
       nil
       nil
-      ((enumeration_literal . 1227))
-      ((aggregate . 157)(attribute_reference . 51)(factor . 161)(name . 
163)(primary . 166)(qualified_expression . 54)(selected_component . 
55)(simple_expression . 1226)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
-      ((access_definition . 1091)(attribute_reference . 
51)(component_definition . 1225)(name . 730)(null_exclusion_opt . 
517)(qualified_expression . 54)(selected_component . 55)(subtype_indication . 
1093))
+      ((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))
       nil
       nil
       nil
@@ -4279,47 +4286,47 @@
       nil
       nil
       nil
-      ((and_interface_list_opt . 1222))
-      ((actual_parameter_part . 92)(and_interface_list_opt . 1219)(constraint 
. 1220)(constraint_opt . 1221)(index_constraint . 830))
+      ((and_interface_list_opt . 1224))
+      ((actual_parameter_part . 92)(and_interface_list_opt . 1221)(constraint 
. 1222)(constraint_opt . 1223)(index_constraint . 832))
       nil
       nil
       nil
       nil
       nil
       nil
-      ((aspect_specification_opt . 1216))
+      ((aspect_specification_opt . 1218))
       nil
-      ((aspect_specification_opt . 1215))
+      ((aspect_specification_opt . 1217))
       nil
-      ((aspect_specification_opt . 1214))
-      ((aspect_specification_opt . 1213))
+      ((aspect_specification_opt . 1216))
+      ((aspect_specification_opt . 1215))
       nil
       nil
       ((actual_parameter_part . 92))
       nil
-      ((identifier_opt . 1212))
+      ((identifier_opt . 1214))
       nil
       ((aspect_specification_opt . 129))
-      ((entry_body_formal_part . 1210)(formal_part . 
117)(parameter_profile_opt . 1211))
-      ((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)(handled_sequence_of_statements . 1208)(if_statement . 
659)(iteration_scheme . 660)(label_opt . 661)(loop_statement . 662)(name . 
663)(pragma . 664)(procedure_call_statement . 665)(qualified_expression . 
54)(raise_statement . 6 [...]
-      ((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)(handled_sequence_of_statements . 1207)(if_statement . 
659)(iteration_scheme . 660)(label_opt . 661)(loop_statement . 662)(name . 
663)(pragma . 664)(procedure_call_statement . 665)(qualified_expression . 
54)(raise_statement . 6 [...]
+      ((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 
[...]
       nil
       nil
       nil
       nil
       nil
-      ((identifier_opt . 1204))
+      ((identifier_opt . 1206))
       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)(if_statement . 
659)(iteration_scheme . 660)(label_opt . 661)(loop_statement . 662)(name . 
663)(pragma . 664)(procedure_call_statement . 665)(qualified_expression . 
54)(raise_statement . 666)(requeue_statement . 667)(selected_c [...]
-      ((aggregate . 157)(attribute_reference . 51)(expression . 
195)(expression_opt . 1202)(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 . 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))
       nil
       nil
-      ((elsif_statement_item . 1200))
+      ((elsif_statement_item . 1202))
       nil
       nil
       nil
       nil
-      ((access_definition . 1193)(attribute_reference . 51)(name . 
730)(null_exclusion_opt . 517)(qualified_expression . 
54)(return_subtype_indication . 1194)(selected_component . 
55)(subtype_indication . 1195))
+      ((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))
       nil
       nil
       nil
@@ -4327,12 +4334,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)(if_statement . 
659)(iteration_scheme . 660)(label_opt . 661)(loop_statement . 662)(name . 
663)(pragma . 664)(procedure_call_statement . 665)(qualified_expression . 
54)(raise_statement . 666)(requeue_statement . 667)(selected_c [...]
+      ((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 [...]
       nil
-      ((identifier_opt . 1186))
-      ((attribute_reference . 51)(exception_choice . 1185)(name . 
959)(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)(if_statement . 
659)(iteration_scheme . 660)(label_opt . 661)(loop_statement . 662)(name . 
663)(pragma . 664)(procedure_call_statement . 665)(qualified_expression . 
54)(raise_statement . 666)(requeue_statement . 667)(selected_c [...]
-      ((attribute_reference . 51)(exception_choice . 
957)(exception_choice_list . 1183)(name . 959)(qualified_expression . 
54)(selected_component . 55))
+      ((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))
       nil
       nil
       nil
@@ -4348,14 +4355,14 @@
       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)(if_statement . 
659)(iteration_scheme . 660)(label_opt . 661)(loop_statement . 662)(name . 
663)(pragma . 664)(procedure_call_statement . 665)(qualified_expression . 
54)(raise_statement . 666)(requeue_statement . 667)(selected_c [...]
+      ((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 [...]
       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)(if_statement . 
659)(iteration_scheme . 660)(label_opt . 661)(loop_statement . 662)(name . 
663)(pragma . 664)(procedure_call_statement . 665)(qualified_expression . 
54)(raise_statement . 666)(requeue_statement . 667)(selected_c [...]
+      ((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 [...]
       nil
       nil
       nil
@@ -4373,68 +4380,68 @@
       nil
       nil
       nil
-      ((variant_list . 1256)(variant . 1257))
+      ((variant_list . 1258)(variant . 1259))
       nil
-      ((aspect_specification_opt . 1254))
+      ((aspect_specification_opt . 1256))
       nil
       nil
       nil
-      ((real_range_specification_opt . 1251))
+      ((real_range_specification_opt . 1253))
       nil
       nil
-      ((identifier_opt . 1249))
+      ((identifier_opt . 1251))
       nil
       nil
       nil
-      ((identifier_opt . 1246))
+      ((identifier_opt . 1248))
       nil
       nil
       nil
       nil
       nil
       nil
-      ((actual_parameter_part . 92)(constraint . 1146)(index_constraint . 830))
-      ((aggregate . 157)(attribute_reference . 51)(factor . 161)(name . 
163)(primary . 166)(qualified_expression . 54)(selected_component . 
55)(simple_expression . 1306)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
+      ((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))
       nil
       nil
-      ((abstract_subprogram_declaration . 306)(aspect_clause . 307)(at_clause 
. 308)(body . 309)(body_stub . 310)(declaration . 311)(declarations . 
312)(declarative_part_opt . 848)(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 . 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
       nil
-      ((abstract_subprogram_declaration . 306)(aspect_clause . 307)(at_clause 
. 308)(body . 309)(body_stub . 310)(declaration . 311)(declarations . 
312)(declarative_part_opt . 854)(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 . 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 [...]
       nil
-      ((aggregate . 157)(attribute_reference . 51)(factor . 161)(name . 
163)(primary . 166)(qualified_expression . 54)(selected_component . 
55)(simple_expression . 1303)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
-      ((aggregate . 157)(attribute_reference . 51)(expression . 1302)(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 . 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))
       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 . 1300)(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 . 1299))
+      ((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))
       nil
       nil
-      ((record_definition . 1296))
+      ((record_definition . 1298))
       nil
       nil
       nil
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 
195)(expression_opt . 1295)(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 . 
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))
       nil
-      ((identifier_opt . 1293))
-      ((identifier_opt . 1292))
+      ((identifier_opt . 1295))
+      ((identifier_opt . 1294))
       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)(if_statement . 
659)(iteration_scheme . 660)(label_opt . 661)(loop_statement . 662)(name . 
663)(pragma . 664)(procedure_call_statement . 665)(qualified_expression . 
54)(raise_statement . 666)(requeue_statement . 667)(selected_c [...]
+      ((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 [...]
       nil
       nil
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 1287)(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 . 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))
       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)(if_statement . 
659)(iteration_scheme . 660)(label_opt . 661)(loop_statement . 662)(name . 
663)(pragma . 664)(procedure_call_statement . 665)(qualified_expression . 
54)(raise_statement . 666)(requeue_statement . 667)(selected_c [...]
+      ((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 [...]
       nil
       nil
       nil
@@ -4447,25 +4454,25 @@
       nil
       nil
       nil
-      ((aspect_specification_opt . 1313))
+      ((aspect_specification_opt . 1315))
       nil
       nil
       nil
       nil
-      ((aspect_specification_opt . 1310))
+      ((aspect_specification_opt . 1312))
       nil
       nil
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(factor . 161)(name . 
163)(primary . 166)(qualified_expression . 54)(selected_component . 
55)(simple_expression . 1327)(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 . 1329)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
       nil
       nil
       nil
-      ((aspect_clause . 1032)(at_clause . 308)(component_declaration . 
1033)(component_item . 1034)(component_list . 1035)(component_list_opt . 
1325)(enumeration_representation_clause . 315)(identifier_list . 
1037)(record_representation_clause . 339)(variant_part . 1038))
+      ((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))
       nil
       nil
-      ((abstract_subprogram_declaration . 306)(aspect_clause . 307)(at_clause 
. 308)(body . 309)(body_stub . 310)(declaration . 311)(declarations . 
312)(declarative_part_opt . 1322)(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 
. 1321)(factor . 161)(name . 737)(primary . 166)(qualified_expression . 
54)(range . 738)(selected_component . 55)(simple_expression . 
487)(subtype_indication . 739)(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 . 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))
       nil
       nil
       nil
@@ -4479,11 +4486,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)(handled_sequence_of_statements . 1332)(if_statement . 
659)(iteration_scheme . 660)(label_opt . 661)(loop_statement . 662)(name . 
663)(pragma . 664)(procedure_call_statement . 665)(qualified_expression . 
54)(raise_statement . 6 [...]
-      ((formal_part . 117)(parameter_profile_opt . 1331))
+      ((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))
       nil
       nil
-      ((identifier_opt . 1334))
+      ((identifier_opt . 1336))
       nil
       nil]))
   "Parser table.")
diff --git a/packages/ada-mode/ada-mode.el b/packages/ada-mode/ada-mode.el
old mode 100644
new mode 100755
index b8d2aff..4399b77
--- a/packages/ada-mode/ada-mode.el
+++ b/packages/ada-mode/ada-mode.el
@@ -6,8 +6,8 @@
 ;; Maintainer: Stephen Leake <address@hidden>
 ;; Keywords: languages
 ;;  ada
-;; Version: 5.1.9
-;; package-requires: ((wisi "1.1.2") (cl-lib "0.4") (emacs "24.2"))
+;; 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
 ;;
 ;; (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.1.9"))
+  (let ((version-string "5.2.0"))
     ;; must match:
     ;; ada-mode.texi
     ;; README-ada-mode
@@ -219,7 +219,7 @@ preserved when the list is written back to the file."
 (defcustom ada-case-keyword 'lower-case
   "Buffer-local value that may override project variable `case_keyword'.
 Global value is default for project variable `case_keyword'.
-Function to call to adjust the case of Ada keywords."
+Indicates how to adjust the case of Ada keywords."
   :type '(choice (const lower-case)
                 (const upper-case))
   ;; We'd like to specify that the value must be a function that takes
@@ -234,7 +234,7 @@ Function to call to adjust the case of Ada keywords."
 (defcustom ada-case-identifier 'mixed-case
   "Buffer-local value that may override project variable `case_keyword'.
 Global value is default for project variable `case_keyword'.
-Function to call to adjust the case of Ada keywords.
+Indicates how to adjust the case of Ada keywords.
 Called with three args;
 start      - buffer pos of start of identifier
 end        - end of identifier
@@ -415,6 +415,7 @@ Values defined by cross reference packages.")
      ["Show references"               ada-show-references          t]
      ["Show overriding"               ada-show-overriding          t]
      ["Show overridden"               ada-show-overridden          t]
+     ["Goto secondary error"          ada-show-secondary-error     t]
      ["Goto prev position"            ada-goto-previous-pos        t]
      ["Next placeholder"              ada-next-placeholder    t]
      ["Previous placeholder"          ada-prev-placeholder    t]
@@ -636,7 +637,10 @@ Function is called with one optional argument; syntax-ppss 
result.")
 (defun ada-format-paramlist ()
   "Reformat the parameter list point is in."
   (interactive)
-  (ada-goto-open-paren)
+  (condition-case nil
+      (ada-goto-open-paren)
+    (error
+     (user-error "Not in parameter list")))
   (funcall indent-line-function); so new list is indented properly
 
   (let* ((begin (point))
@@ -1357,8 +1361,10 @@ Optional PLIST defaults to `ada-prj-current-project'."
 (defvar ada-prj-default-list nil
   ;; project file parse
   "List of functions to add default project variables. Called
-with one argument; the default project properties list. Function
-should add to the properties list and return it.")
+with one argument; the default project properties
+list. `default-directory' is set to the directory containing the
+project file. Function should add to the properties list and
+return it.")
 
 (defvar ada-prj-default-compiler-alist nil
   ;; project file parse
@@ -1426,14 +1432,16 @@ list. Parser must modify or add to the property list 
and return it.")
   "Read Emacs Ada or compiler-specific project file PRJ-FILE, set project 
properties in `ada-prj-alist'."
   ;; Not called ada-prj-parse-file for Ada mode 4.01 compatibility
   ;; FIXME: need to kill gpr-query session if .gpr file has changed (like from 
non-agg to agg!)
-  (run-hooks `ada-prj-parse-hook)
-  (let ((project (ada-prj-default))
-       (parser (cdr (assoc (file-name-extension prj-file) 
ada-prj-parser-alist))))
+  (setq prj-file (expand-file-name prj-file))
+
+  (unless (file-readable-p prj-file)
+    (error "Project file '%s' is not readable" prj-file))
 
-    (setq prj-file (expand-file-name prj-file))
+  (run-hooks `ada-prj-parse-hook)
 
-    (unless (file-readable-p prj-file)
-      (error "Project file '%s' is not readable" prj-file))
+  (let* ((default-directory (file-name-directory prj-file))
+        (project (ada-prj-default))
+        (parser (cdr (assoc (file-name-extension prj-file) 
ada-prj-parser-alist))))
 
     (if parser
        ;; parser may reference the "current project", so bind that now.
@@ -1893,7 +1901,7 @@ unit name; it should return the Ada name that should be 
found in FILE-NAME.")
 
 (defun ada-ff-special-with ()
   (let ((package-name (match-string 1)))
-    (setq ff-function-name (concat "^package\\s-+" package-name 
"\\([^_]\\|$\\)"))
+    (setq ff-function-name (concat 
"^\\(function\\|procedure\\|package\\)\\s-+" package-name "\\([^_]\\|$\\)"))
     (file-name-nondirectory
      (or
       (ff-get-file-name
@@ -2882,11 +2890,18 @@ The paragraph is indented on the first line."
 (unless (featurep 'ada-indent-engine)
   (require 'ada-wisi))
 
-(unless (featurep 'ada-xref-tool)
-  (cl-case ada-xref-tool
-    ((nil gnat) (require 'ada-gnat-xref))
-    (gpr_query (require 'gpr-query))
-    ))
+(cl-case ada-xref-tool
+  (gnat (require 'ada-gnat-xref))
+  (gpr_query (require 'gpr-query))
+  (t
+   (if (locate-file "gpr_query" exec-path '("" ".exe"))
+       (progn
+         (require 'gpr-query)
+         (setq ada-xref-tool 'gpr_query))
+     (require 'ada-gnat-xref)
+     (setq ada-xref-tool 'gnat)))
+  )
+;; FIXME: warn if gnat version >= gpl 2016, fsf 6 and no gpr_query installed
 
 (unless (featurep 'ada-compiler)
   (require 'ada-gnat-compile))
diff --git a/packages/ada-mode/ada-mode.info b/packages/ada-mode/ada-mode.info
index a3f0aaa..48e429a 100644
--- a/packages/ada-mode/ada-mode.info
+++ b/packages/ada-mode/ada-mode.info
@@ -1,7 +1,7 @@
-This is ada-mode.info, produced by makeinfo version 6.0 from
+This is ada-mode.info, produced by makeinfo version 6.1 from
 ada-mode.texi.
 
-Copyright (C) 1999 - 2015 Free Software Foundation, Inc.
+Copyright (C) 1999 - 2016 Free Software Foundation, Inc.
 
      Permission is granted to copy, distribute and/or modify this
      document under the terms of the GNU Free Documentation License,
@@ -22,9 +22,9 @@ END-INFO-DIR-ENTRY
 
 File: ada-mode.info,  Node: Top,  Next: Overview,  Prev: (dir),  Up: (dir)
 
-Ada Mode Version 5.1.9
+Ada Mode Version 5.2.0
 
-   Copyright (C) 1999 - 2015 Free Software Foundation, Inc.
+   Copyright (C) 1999 - 2016 Free Software Foundation, Inc.
 
      Permission is granted to copy, distribute and/or modify this
      document under the terms of the GNU Free Documentation License,
@@ -121,7 +121,6 @@ ada-mode-version'.
 
 * Ada Reference Manual::
 * gpr_query::
-* Upgrading::
 
 
 File: ada-mode.info,  Node: Ada Reference Manual,  Next: gpr_query,  Prev: 
Installation,  Up: Installation
@@ -133,56 +132,74 @@ The ELPA package ada-ref-man includes the Ada Reference 
Manual and
 Annotated Ada Reference Manual in info format.
 
 
-File: ada-mode.info,  Node: gpr_query,  Next: Upgrading,  Prev: Ada Reference 
Manual,  Up: Installation
+File: ada-mode.info,  Node: gpr_query,  Prev: Ada Reference Manual,  Up: 
Installation
 
 2.2 gpr_query
 =============
 
 Ada mode has support for an external cross reference tool 'gpr_query',
-which supports Ada, C, C++, and any other language for which AdaCore gcc
-provides the '-fdump-xref' ('-fdump-xref' is an AdaCore extension).
+which uses compiler-generated information.  In the case of Ada, the
+necessary '.ali' files are automatically generated by the standard
+compilation process.  For other languages, e.g.  C, C++, '.gli' files
+can be generated using the compiler switch '-fdump-xref'.  '-fdump-xref'
+is an AdaCore extension, not available in FSF GCC.
 
-   'gpr_query' requires the 'gnatcoll' library provided by AdaCore,
-distributed with GNAT GPL 2014.
+   'gpr_query' is an Ada program, which is distributed as source and
+must be built.  Its source code is in the Gnu ELPA package.
 
-   To build 'gpr_query', assuming GNAT GPL 2014 is installed in
-'/usr/gnat-gpl-2014', and '/usr/gnat-gpl-2014/bin' is in PATH (if you
-are running Windows, use Cygwin bash to run these commands, with GNAT
-GPL bin first in PATH) (note that gnatcoll-gpl-2014-src.tar.gz unzips to
-gnatcoll-1.7w-src):
+   'gpr_query' requires the 'GNATCOLL' library provided by AdaCore,
+distributed with GNAT GPL 2016, and also available at Github
+(<https://github.com/AdaCore/gnatcoll>).  (The 'GNATCOLL' distributed
+with GNAT GPL 2015 does not compile cleanly).  The notes below assume
+that the compiler is installed at '$prefix', e.g.
+'/usr/local/gnat-2016', and that '$prefix/bin' is first on the 'PATH'.
+If you are running Windows, use Cygwin 'bash' to run these commands.
+
+   In general, 'gpr_query' should be compiled with the compiler version
+that is used to generate the user project '.ali' files; the 'ali' file
+format can change with each compiler version.  'gpr_query' creates a
+database of cross reference information; that database must be deleted
+if the compiler version changes, to force a complete rebuild.
+
+2.2.1 Building GNATCOLL if required
+-----------------------------------
+
+'GNATCOLL' may already be installed on your system: if it is,
+'$prefix/lib/gnat' will contain 'gnatcoll' GPR files.  If not, configure
+(assuming the GPL 2016 version) by:
+
+     tar zxf ~/Downloads/gnatcoll-gpl-2016-src.tar.gz
+     cd gnatcoll-gpl-2016-src
+     ./configure --prefix=$prefix
+
+   You should see at least the following lines at the end of the output:
+
+     configure:   Sqlite:                 embedded  (see --with-sqlite)
+     configure:   Projects:               yes
+
+   Then, build and install:
 
-     tar xf ~/Downloads/gnatcoll-gpl-2014-src.tar.gz
-     cd gnatcoll-1.7w-src
-     ./configure --prefix=/usr/gnat-gpl-2014
      make
      sudo make install
-     cd ~/.emacs.d/elpa/ada-mode-5.xx/build
-     make install
 
-   To build an sqlite3 executable that is compatible with the database
-created by 'gpr_query':
+   If you are debugging 'gpr_query', you may want to build an sqlite3
+executable that is compatible with the database it creates:
 
-     cd gnatcoll-1.7w-src/src/sqlite/amalgamation/
+     cd gnatcoll-gpl-2016-src/src/sqlite/amalgamation/
      gcc -O2 -o sqlite3 shell.c sqlite3.c -ldl -lpthread
 
-
-File: ada-mode.info,  Node: Upgrading,  Prev: gpr_query,  Up: Installation
-
-2.3 Upgrading from previous versions
-====================================
-
-See the file NEWS for more details; here we summarize only important
-user interface changes.
+2.2.2 Building 'gpr_query'
+--------------------------
 
-'from 5.0.1'
-     Nothing to do.
+To build and install 'gpr_query', assuming the 'ada-mode-5.2.0' GNU ELPA
+package is installed:
 
-'from 4.01'
-     There are many user interface and API changes between 4.01 and
-     5.0.1; we only document those that may be hard to diagnose here.
+     cd ~/.emacs.d/elpa/ada-mode-5.2.0
+     gprbuild -p -P gpr_query.gpr
+     gprinstall -P gpr_query.gpr
 
-     'prog-mode-hook' is no longer run by 'ada-mode'; 'ada-mode' is no
-     longer derived from 'prog-mode'.  Use 'ada-mode-hook' instead.
+   'ada-mode' will use 'gpr_query' for cross reference functions if
+'gpr_query' is found in 'PATH'.
 
 
 File: ada-mode.info,  Node: Customization,  Next: Compiling Executing,  Prev: 
Installation,  Up: Top
@@ -276,18 +293,11 @@ is used to index several variables that point to the
 cross-reference-tool-specific functions for corresponding Ada mode
 operations.
 
-   The default cross-reference tool is 'gnatxref', provided by the file
-'ada-gnat-xref.el'.  One other tool is supported: 'gpr_query'.  To use
-it, add the following to '~/.emacs':
-
-     (require 'gpr-query)
-
-   To use 'gpr_query', the Ada code 'gpr_query.adb' must be compiled;
-see *note Installation::.  In addition, non-Ada code must be compiled
-with the AdaCore gcc extension '-fdump-xref'.
+   If 'gpr_query' is found in 'PATH', the default cross-reference tool
+is 'gpr_query'; otherwise it is 'gnatxref'.
 
    To use a cross reference tool other than the above, you must write
-Emacs lisp code that provides the interface to the compiler, and set
+Emacs lisp code that provides the interface to the tool, and set
 'ada-xref-tool' and the indirection variables.
 
    See 'ada-gnat-xref.el' and 'gpr-query.el' for examples.
@@ -304,7 +314,7 @@ customize.
 
    To modify a specific variable, you can directly call the function
 'customize-variable'; just type 'M-x customize-variable <RET>
-VARIABLE-NAME <RET>').
+VARIABLE-NAME <RET>'.
 
    Alternately, you can specify variable settings in the Emacs
 configuration file, '~/.emacs'.  This file is coded in Emacs lisp, and
@@ -336,6 +346,7 @@ the syntax to set a variable is the following:
      Navigate to subprograms and types by name, from a list in a
      dedicated window.
 'which-func'
+     Display the current subprogram name in the mode bar.
 'jit-lock-defer-time'
      In large files, parsing is slow, so it gets in the way of
      interactive typing due to immediate font-lock triggering a parse.
@@ -454,15 +465,12 @@ to switch back to the main to invoke the compiler again.
 this case, 'C-c C-m' will normally be the only command needed; it will
 build the current file, rather than the last-built main.
 
-   There are three ways to change 'main':
+   There are two ways to change 'main':
 
   1. Invoke 'Ada | Set main and Build', which sets 'main' to the current
      file.
 
-  2. Invoke 'Ada | Project | Edit', edit 'main' and 'main', and click
-     '[save]'
-
-  3. Invoke 'Ada | Project | Load', and load a project file that
+  2. Invoke 'Ada | Project | Load', and load a project file that
      specifies 'main'
 
 
@@ -1096,11 +1104,11 @@ the project file.
      Non-nil means automatically change case of preceding word while
      typing.
 
-'case_identifier' [default: 'ada-case-identifier, ada-mixed-case']
-     Function to call to adjust the case of an Ada identifier.
+'case_identifier' [default: 'ada-case-identifier, mixed-case']
+     Indicates how to adjust the case of an Ada identifier.
 
-'case_keyword' [default: 'ada-case-keyword, downcase-word']
-     Function to call to adjust the case of an Ada keyword.
+'case_keyword' [default: 'ada-case-keyword, lower-case']
+     Indicates how to adjust the case of an Ada keyword.
 
 'case_strict' [default: 'ada-case-strict, t']
      If non-nil, 'ada-mixed-case' forces 'Mixed_Case' for identifiers.
@@ -1122,9 +1130,13 @@ the project file.
 'src_dir' [default: '"."']
      A list of directories to search for source files.
 
-'xref_tool' [default: 'ada-xref-tool, gnat-xref']
+'xref_tool' [default: 'ada-xref-tool']
      Cross reference tool for this project.
 
+     If 'gpr_query' is found in 'PATH', 'ada-xref-tool' defaults to
+     ''gpr_query'.  Otherwise, it defaults to ''gnat', which uses 'gnat
+     find'.
+
    The following variables are valid with the GNAT compiler:
 
 'ada_project_path' [default: '""']
@@ -1154,6 +1166,29 @@ the project file.
 'gpr_project_path' [default: '""']
      Same as 'ada_project_path'.
 
+'runtime' [default: 'nil']
+     If set, the name of the runtime, used as the value of the 'RTS'
+     command line option.
+
+'target' [default: 'nil']
+     If set, the name of the cross-compilation target, prepended to the
+     'gnat' executable name.
+
+   The following project variables are used by the 'Ada | Build' menu
+commands:
+
+'check_cmd' [default: 'ada-build-check-cmd']
+     Compiler commannd to syntax check a single file.
+
+'main' [default: basename of current file name]
+     File name of executable to build.
+
+'make_cmd' [default: 'ada-build-make-cmd']
+     Command to compile and link the application.
+
+'run_cmd' [default: 'ada-build-run-cmd']
+     Command to run the application.
+
 
 File: ada-mode.info,  Node: Moving Through Ada Code,  Next: Identifier 
completion,  Prev: Project files,  Up: Top
 
@@ -1731,7 +1766,11 @@ File: ada-mode.info,  Node: Directory structure,  Next: 
Package organization,  P
 
 'build'
      Makefile for building the user guides, publishing to the web page
-     or Gnu ELPA. Test drivers.
+     or Gnu ELPA, and building gpr-query.  The main targets are "all"
+     which builds the ada-mode ELPA packages, and "install" which builds
+     and installs gpr-query.
+
+     Test driver files used by build/Makefile and build/wisi/Makefile.
 
 'build/wisi'
      Makefile for building and testing with the wisi-based parser.
@@ -1742,6 +1781,12 @@ File: ada-mode.info,  Node: Directory structure,  Next: 
Package organization,  P
      variable EMACS_EXE, which defaults to 'emacs'; it can be overridden
      on the make command line or by an environment variable.
 
+     There are two top-level targets in this Makfile; "all" and "one".
+     "all" builds everthing and runs all the tests.  "one" runs one
+     test, which makes it easier to work on one test that is failing.
+
+     All the other targets are used by the top-level targets.
+
 'test'
      All tests for Ada mode, gpr mode, parser.
 
@@ -1904,8 +1949,7 @@ name.
      parse table '*-wy.el'.  That is compiled into an internal structure
      containing the state transitions and executable actions.  The
      actions can be any elisp form; the intent is that they be calls to
-     the action functions provided by 'wisi.el'.  'wisi-compile.el' uses
-     some features provided by 'semantic'.
+     the action functions provided by 'wisi.el'.
 
 'wisi-parse.el'
      Implements the generalized LALR parser.
@@ -2465,45 +2509,44 @@ Tag Table:
 Node: Top945
 Node: Overview2603
 Node: Installation3814
-Node: Ada Reference Manual4706
-Node: gpr_query4982
-Node: Upgrading6155
-Node: Customization6727
-Node: Non-standard file names7209
-Node: Other compiler9050
-Node: Other cross-reference9629
-Node: Other customization10654
-Node: Compiling Executing13626
-Node: Compile commands14361
-Node: Compiling Examples17099
-Node: No project files17931
-Node: Set compiler options23297
-Node: Set source search path25259
-Node: Use GNAT project file27712
-Node: Use multiple GNAT project files30486
-Node: Use a Makefile33206
-Node: Compiler errors34521
-Node: Project files35338
-Node: Project file overview36365
-Node: Project file variables37909
-Node: Moving Through Ada Code41754
-Node: Identifier completion44453
-Node: Indentation45415
-Node: Statement skeletons49763
-Node: Aligning code51548
-Node: Automatic casing52493
-Node: Comment Handling55197
-Node: Key summary55716
-Node: Developer overview58343
-Node: Directory structure58683
-Node: Package organization62169
-Node: Ada mode62404
-Node: gpr mode64600
-Node: GNAT core64883
-Node: Wisi65717
-Node: OpenToken66684
-Node: ELPA67286
-Node: GNU Free Documentation License67896
-Node: Index93057
+Node: Ada Reference Manual4692
+Node: gpr_query4968
+Node: Customization7646
+Node: Non-standard file names8128
+Node: Other compiler9969
+Node: Other cross-reference10548
+Node: Other customization11290
+Node: Compiling Executing14319
+Node: Compile commands15054
+Node: Compiling Examples17705
+Node: No project files18537
+Node: Set compiler options23903
+Node: Set source search path25865
+Node: Use GNAT project file28318
+Node: Use multiple GNAT project files31092
+Node: Use a Makefile33812
+Node: Compiler errors35127
+Node: Project files35944
+Node: Project file overview36971
+Node: Project file variables38515
+Node: Moving Through Ada Code43182
+Node: Identifier completion45881
+Node: Indentation46843
+Node: Statement skeletons51191
+Node: Aligning code52976
+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
 
 End Tag Table
diff --git a/packages/ada-mode/ada-mode.texi b/packages/ada-mode/ada-mode.texi
old mode 100644
new mode 100755
index 71b612f..51c7825
--- a/packages/ada-mode/ada-mode.texi
+++ b/packages/ada-mode/ada-mode.texi
@@ -3,7 +3,7 @@
 @settitle Ada Mode
 
 @copying
-Copyright @copyright{} 1999 - 2015  Free Software Foundation, Inc.
+Copyright @copyright{} 1999 - 2016  Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -26,7 +26,7 @@ developing GNU and promoting software freedom.''
 
 @titlepage
 @sp 10
address@hidden Ada Mode Version 5.1.9
address@hidden Ada Mode Version 5.2.0
 @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.1.9
+Ada Mode Version 5.2.0
 
 @ifnottex
 @insertcopying
@@ -59,6 +59,7 @@ Ada Mode Version 5.1.9
 * Developer overview::
 * GNU Free Documentation License::
 * Index::
+
 @end menu
 
 @node Overview, Installation, Top, Top
@@ -123,7 +124,6 @@ You may also want to install additional utilities:
 @menu
 * Ada Reference Manual::
 * gpr_query::
-* Upgrading::
 @end menu
 
 @node Ada Reference Manual, gpr_query, Installation, Installation
@@ -131,69 +131,83 @@ You may also want to install additional utilities:
 The ELPA package ada-ref-man includes the Ada Reference Manual and
 Annotated Ada Reference Manual in info format.
 
address@hidden gpr_query, Upgrading, Ada Reference Manual, Installation
address@hidden gpr_query, , Ada Reference Manual, Installation
 @section gpr_query
-Ada mode has support for an external cross reference
-tool @code{gpr_query}, which supports Ada, C, C++, and any other
-language for which AdaCore gcc provides the @code{-fdump-xref}
-(@code{-fdump-xref} is an AdaCore extension).
-
address@hidden FIXME: list xref features supported by gpr_query but not gnatfind
address@hidden at least:
address@hidden C and C++ source code
address@hidden ada-xref-overriding-function
address@hidden ada-xref-overridden-function
-
address@hidden requires the @code{gnatcoll} library provided by
-AdaCore, distributed with GNAT GPL 2014.
-
-To build @code{gpr_query}, assuming GNAT GPL 2014 is installed in
address@hidden/usr/gnat-gpl-2014}, and @file{/usr/gnat-gpl-2014/bin} is in
-PATH (if you are running Windows, use Cygwin bash to run these
-commands, with GNAT GPL bin first in PATH) (note that
-gnatcoll-gpl-2014-src.tar.gz unzips to gnatcoll-1.7w-src):
+
+Ada mode has support for an external cross reference tool
address@hidden, which uses compiler-generated information. In the
+case of Ada, the necessary @file{.ali} files are automatically
+generated by the standard compilation process. For other languages,
+e.g. C, C++, @file{.gli} files can be generated using the compiler
+switch @code{-fdump-xref}. @code{-fdump-xref} is an AdaCore extension,
+not available in FSF GCC.
+
address@hidden is an Ada program, which is distributed as source and
+must be built. Its source code is in the Gnu ELPA package.
+
address@hidden requires the @code{GNATCOLL} library provided by
+AdaCore, distributed with GNAT GPL 2016, and also available at Github
+(@url{https://github.com/AdaCore/gnatcoll}). (The @code{GNATCOLL}
+distributed with GNAT GPL 2015 does not compile cleanly). The notes
+below assume that the compiler is installed at @file{$prefix},
+e.g. @file{/usr/local/gnat-2016}, and that @file{$prefix/bin} is first
+on the @code{PATH}. If you are running Windows, use Cygwin @code{bash}
+to run these commands.
+
+In general, @code{gpr_query} should be compiled with the compiler
+version that is used to generate the user project @file{.ali} files;
+the @file{ali} file format can change with each compiler
+version. @code{gpr_query} creates a database of cross reference
+information; that database must be deleted if the compiler version
+changes, to force a complete rebuild.
+
address@hidden Building GNATCOLL if required
+
address@hidden may already be installed on your system: if it is,
address@hidden/lib/gnat} will contain @file{gnatcoll} GPR files. If
+not, configure (assuming the GPL 2016 version) by:
 
 @example
-tar xf ~/Downloads/gnatcoll-gpl-2014-src.tar.gz
-cd gnatcoll-1.7w-src
-./configure --prefix=/usr/gnat-gpl-2014
address@hidden on cygwin, finds cygwin as build type; not a problem
address@hidden make Gnatcoll_Build=Debug
address@hidden sudo make Gnatcoll_Build=Debug install
-make
-sudo make install
-cd ~/.emacs.d/elpa/ada-mode-5.xx/build
-make install
+tar zxf ~/Downloads/gnatcoll-gpl-2016-src.tar.gz
+cd gnatcoll-gpl-2016-src
+./configure --prefix=$prefix
 @end example
 
-To build an sqlite3 executable that is compatible with the database
-created by @code{gpr_query}:
+You should see at least the following lines at the end of the output:
 
 @example
-cd gnatcoll-1.7w-src/src/sqlite/amalgamation/
-gcc -O2 -o sqlite3 shell.c sqlite3.c -ldl -lpthread
+configure:   Sqlite:                 embedded  (see --with-sqlite)
+configure:   Projects:               yes
 @end example
 
address@hidden Upgrading,  , gpr_query, Installation
address@hidden Upgrading from previous versions
+Then, build and install:
+
address@hidden
+make
+sudo make install
address@hidden example
 
-See the file NEWS for more details; here we summarize only important
-user interface changes.
+If you are debugging @file{gpr_query}, you may want to build an
+sqlite3 executable that is compatible with the database it creates:
 
address@hidden @samp
address@hidden from 5.0.1
-    Nothing to do.
address@hidden
+cd gnatcoll-gpl-2016-src/src/sqlite/amalgamation/
+gcc -O2 -o sqlite3 shell.c sqlite3.c -ldl -lpthread
address@hidden example
 
address@hidden from 4.01
-There are many user interface and API changes between 4.01 and 5.0.1;
-we only document those that may be hard to diagnose here.
address@hidden Building @code{gpr_query}
 
address@hidden is no longer run by @code{ada-mode};
address@hidden is no longer derived from @code{prog-mode}. Use
address@hidden instead.
+To build and install @code{gpr_query}, assuming the
address@hidden GNU ELPA package is installed:
 
address@hidden
+cd ~/.emacs.d/elpa/ada-mode-5.2.0
+gprbuild -p -P gpr_query.gpr
+gprinstall -P gpr_query.gpr
address@hidden example
 
address@hidden table
address@hidden will use @code{gpr_query} for cross reference
+functions if @code{gpr_query} is found in @code{PATH}.
 
 @node Customization, Compiling Executing, Installation, Top
 @chapter Customizing Ada mode
@@ -278,20 +292,12 @@ The project variable @code{ada_xref} (default elisp 
variable
 the cross-reference-tool-specific functions for corresponding Ada mode
 operations.
 
-The default cross-reference tool is @file{gnatxref}, provided by the
-file @file{ada-gnat-xref.el}. One other tool is supported:
address@hidden To use it, add the following to @file{~/.emacs}:
-
address@hidden
-(require 'gpr-query)
address@hidden example
-
-To use @file{gpr_query}, the Ada code @file{gpr_query.adb} must be
-compiled; see @ref{Installation}. In addition, non-Ada code must be
-compiled with the AdaCore gcc extension @code{-fdump-xref}.
+If @file{gpr_query} is found in @code{PATH}, the default
+cross-reference tool is @file{gpr_query}; otherwise it is
address@hidden
 
 To use a cross reference tool other than the above, you must write
-Emacs lisp code that provides the interface to the compiler, and set
+Emacs lisp code that provides the interface to the tool, and set
 @code{ada-xref-tool} and the indirection variables.
 
 See @file{ada-gnat-xref.el} and @file{gpr-query.el} for examples.
@@ -305,7 +311,7 @@ on using customize.
 
 To modify a specific variable, you can directly call the function
 @code{customize-variable}; just type @kbd{M-x customize-variable
address@hidden @var{variable-name} @key{RET}}).
address@hidden @var{variable-name} @key{RET}}.
 
 Alternately, you can specify variable settings in the Emacs
 configuration file, @file{~/.emacs}. This file is coded in Emacs lisp,
@@ -339,6 +345,7 @@ Navigate to subprograms and types by name, from a 
minibuffer menu.
 @item speedbar
 Navigate to subprograms and types by name, from a list in a dedicated window.
 @item which-func
+Display the current subprogram name in the mode bar.
 @item jit-lock-defer-time
 In large files, parsing is slow, so it gets in the way of
 interactive typing due to immediate font-lock triggering a
@@ -462,7 +469,7 @@ Novices and students typically work on single-file Ada 
projects. In
 this case, @kbd{C-c C-m} will normally be the only command needed; it
 will build the current file, rather than the last-built main.
 
-There are three ways to change @code{main}:
+There are two ways to change @code{main}:
 
 @enumerate
 @item
@@ -470,10 +477,6 @@ Invoke @samp{Ada | Set main and Build}, which sets 
@code{main} to
 the current file.
 
 @item
-Invoke @samp{Ada | Project | Edit}, edit @code{main} and
address@hidden, and click @samp{[save]}
-
address@hidden
 Invoke @samp{Ada | Project | Load}, and load a project file that specifies 
@code{main}
 
 @end enumerate
@@ -1153,11 +1156,11 @@ before any compiler-specific project variable.
 @item @code{auto_case}      [default: @code{ada-auto-case, t}]
 Non-nil means automatically change case of preceding word while typing.
 
address@hidden @code{case_identifier}   [default: @code{ada-case-identifier, 
ada-mixed-case}]
-Function to call to adjust the case of an Ada identifier.
address@hidden @code{case_identifier}   [default: @code{ada-case-identifier, 
mixed-case}]
+Indicates how to adjust the case of an Ada identifier.
 
address@hidden @code{case_keyword}   [default: @code{ada-case-keyword, 
downcase-word}]
-Function to call to adjust the case of an Ada keyword.
address@hidden @code{case_keyword}   [default: @code{ada-case-keyword, 
lower-case}]
+Indicates how to adjust the case of an Ada keyword.
 
 @item @code{case_strict}    [default: @code{ada-case-strict, t}]
 If non-nil, @code{ada-mixed-case} forces @code{Mixed_Case} for identifiers.
@@ -1177,15 +1180,18 @@ Separator character used in compiler search paths.
 @item @code{src_dir}        [default: @code{"."}]
 A list of directories to search for source files.
 
address@hidden @code{xref_tool}      [default: @code{ada-xref-tool, gnat-xref}]
address@hidden @code{xref_tool}      [default: @code{ada-xref-tool}]
 Cross reference tool for this project.
 
+If @code{gpr_query} is found in @code{PATH}, @code{ada-xref-tool}
+defaults to @code{'gpr_query}. Otherwise, it defaults to @code{'gnat},
+which uses @code{gnat find}.
+
 @end table
 
 The following variables are valid with the GNAT compiler:
 
 @table @asis
address@hidden defined in ada-gnat.el ada-gnat-prj-parse-emacs-file; 
alphabetical order
 @item @code{ada_project_path}   [default: @code{""}]
 @c ada-prj-get 'prj_dir, 'proc_env
 A list of directories to search for GNAT project files.
@@ -1215,7 +1221,35 @@ project file.
 @item @code{gpr_project_path}   [default: @code{""}]
 Same as @code{ada_project_path}.
 
address@hidden FIXME: add ada-build project vars
address@hidden @code{runtime} [default: @code{nil}]
address@hidden used in gnat-run-gnat
+If set, the name of the runtime, used as the value of the @code{RTS}
+command line option.
+
address@hidden @code{target} [default: @code{nil}]
address@hidden used in gnat-run-gnat, ada-gnat-xref-all
+If set, the name of the cross-compilation target, prepended to the
address@hidden executable name.
+
+
address@hidden table
+
+The following project variables are used by the @code{Ada | Build}
+menu commands:
+
address@hidden @asis
address@hidden @code{check_cmd} [default: @code{ada-build-check-cmd}]
+Compiler commannd to syntax check a single file.
+
address@hidden @code{main} [default: basename of current file name]
+File name of executable to build.
+
address@hidden @code{make_cmd} [default: @code{ada-build-make-cmd}]
+Command to compile and link the application.
+
address@hidden @code{run_cmd} [default: @code{ada-build-run-cmd}]
+Command to run the application.
+
 @end table
 
 @node Moving Through Ada Code, Identifier completion, Project files, Top
@@ -1842,12 +1876,15 @@ Generated user guide in HTML format.
 @item *.info
 Generated user guide in Emacs info format.
 
-
 @end table
 
 @item build
 Makefile for building the user guides, publishing to the web page or
-Gnu ELPA. Test drivers.
+Gnu ELPA, and building gpr-query. The main targets are ``all'' which
+builds the ada-mode ELPA packages, and ``install'' which builds and
+installs gpr-query.
+
+Test driver files used by build/Makefile and build/wisi/Makefile.
 
 @item build/wisi
 Makefile for building and testing with the wisi-based
@@ -1858,6 +1895,12 @@ The emacs used to byte-compile and run tests is given by 
the 'make'
 variable EMACS_EXE, which defaults to 'emacs'; it can be overridden on
 the make command line or by an environment variable.
 
+There are two top-level targets in this Makfile; ``all'' and
+``one''. ``all'' builds everthing and runs all the tests. ``one'' runs
+one test, which makes it easier to work on one test that is failing.
+
+All the other targets are used by the top-level targets.
+
 @item test
 All tests for Ada mode, gpr mode, parser.
 
@@ -2013,8 +2056,7 @@ compiler. @file{wisi-generate.exe} processes the grammar 
source
 @file{*-wy.el}. That is compiled into an internal structure containing
 the state transitions and executable actions. The actions can be any
 elisp form; the intent is that they be calls to the action functions
-provided by @file{wisi.el}. @file{wisi-compile.el} uses some features
-provided by @code{semantic}.
+provided by @file{wisi.el}.
 
 @item wisi-parse.el
 Implements the generalized LALR parser.
diff --git a/packages/ada-mode/ada-ref-man.el b/packages/ada-mode/ada-ref-man.el
deleted file mode 100644
index 53f60c7..0000000
--- a/packages/ada-mode/ada-ref-man.el
+++ /dev/null
@@ -1,13 +0,0 @@
-;;; ada-ref-man.el --- Ada Reference Manual 2012
-;;
-;;; Copyright (C) 2014  Free Software Foundation, Inc.
-;;
-;; Author: Stephen Leake <address@hidden>
-;; Maintainer: Stephen Leake <address@hidden>
-;; Keywords: languages
-;;  ada
-;; Package-Type: multi
-;; Version: 2012.0
-;; url: http://stephe-leake.org/ada/arm.html
-
-;;; ada-ref-man.el ends here
diff --git a/packages/ada-mode/ada-skel.el b/packages/ada-mode/ada-skel.el
index d8b6a68..4cf2cc5 100644
--- a/packages/ada-mode/ada-skel.el
+++ b/packages/ada-mode/ada-skel.el
@@ -1,6 +1,6 @@
 ;;; ada-skel.el --- Extension to Ada mode for inserting statement skeletons  
-*- lexical-binding:t -*-
 
-;; Copyright (C) 1987, 1993, 1994, 1996-2015  Free Software Foundation, Inc.
+;; Copyright (C) 1987, 1993, 1994, 1996-2016  Free Software Foundation, Inc.
 
 ;; Authors: Stephen Leake <address@hidden>
 
@@ -109,6 +109,34 @@ This could end in a token recognized by `ada-skel-expand'."
 
 )
 
+(define-skeleton ada-skel-modified-gpl
+  "Modified GPLv3 copyright/license skeleton, with automatic year and owner."
+  ()
+  "--  Copyright (C) " (format-time-string "%Y ") user-full-name " All Rights 
Reserved.\n"
+  "--\n"
+  "--  This program is free software; you can redistribute it and/or\n"
+  "--  modify it under terms of the GNU General Public License as\n"
+  "--  published by the Free Software Foundation; either version 3, or (at\n"
+  "--  your option) any later version. This program is distributed in the\n"
+  "--  hope that it will be useful, but WITHOUT ANY WARRANTY; without even\n"
+  "--  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR\n"
+  "--  PURPOSE. See the GNU General Public License for more details. You\n"
+  "--  should have received a copy of the GNU General Public License\n"
+  "--  distributed with this program; see file COPYING. If not, write to\n"
+  "--  the Free Software Foundation, 51 Franklin Street, Suite 500, Boston,\n"
+  "--  MA 02110-1335, USA.\n"
+  "--\n"
+  "--  As a special exception, if other files instantiate generics from\n"
+  "--  this unit, or you link this unit with other files to produce an\n"
+  "--  executable, this  unit  does not  by itself cause  the resulting\n"
+  "--  executable to be covered by the GNU General Public License. This\n"
+  "--  exception does not however invalidate any other reasons why the\n"
+  "--  executable file  might be covered by the  GNU Public License.\n"
+  "\n"
+  "pragma License (GPL);\n"
+
+)
+
 ;; override ada-mode 4.01 autoloaded functions
 (define-obsolete-function-alias 'ada-header 'ada-skel-header "24.4"
   "Insert a descriptive header at the top of the file.")
@@ -298,6 +326,7 @@ See `ada-find-other-file' to create library level package 
body from spec."
     ("case" . ada-skel-case)
     ("copyright_license"
      ("GPL" . ada-skel-gpl)
+     ("Modified GPL" . ada-skel-modified-gpl)
      ("restricted" . ada-skel-user-restricted))
     ("declare" . ada-skel-declare)
     ("entry" . ada-skel-entry)
diff --git a/packages/ada-mode/ada-wisi.el b/packages/ada-mode/ada-wisi.el
index e076bc0..57fd495 100644
--- a/packages/ada-mode/ada-wisi.el
+++ b/packages/ada-mode/ada-wisi.el
@@ -552,6 +552,9 @@ point must be on CACHE. PREV-TOKEN is the token before the 
one being indented."
 
                 (t
                  (cl-ecase (wisi-cache-nonterm containing)
+
+                   ;; abstract_subprogram_declaration with subprogram_body
+
                    (aggregate
                     ;; test/ada_mode-nominal-child.adb
                     ;; return (Parent_Type_1
@@ -571,6 +574,8 @@ point must be on CACHE. PREV-TOKEN is the token before the 
one being indented."
                     ;; indenting 'when'; containing is 'entry'
                     (+ (current-column) ada-indent-broken))
 
+                   ;; expression_function_declaration with subprogram_body
+
                    (formal_package_declaration
                     ;; test/ada_mode-generic_package.ads
                     ;; with package A_Package_7 is
@@ -579,6 +584,8 @@ point must be on CACHE. PREV-TOKEN is the token before the 
one being indented."
                     (+ (current-column) ada-indent-broken))
 
                    ((full_type_declaration
+
+                     ;; shared code, but out of alphabetical order:
                       protected_type_declaration
                      single_protected_declaration
                      single_task_declaration
@@ -660,6 +667,8 @@ point must be on CACHE. PREV-TOKEN is the token before the 
one being indented."
                     ;; indenting keyword following 'generic'
                     (current-column))
 
+                   ;; null_procedure_declaration with subprogram_body
+
                    (object_declaration
                     (cl-ecase (wisi-cache-token containing)
                       (COLON
@@ -684,6 +693,23 @@ point must be on CACHE. PREV-TOKEN is the token before the 
one being indented."
                        (+ (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
@@ -708,6 +734,8 @@ point must be on CACHE. PREV-TOKEN is the token before the 
one being indented."
                     ;; 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 :=
@@ -715,6 +743,9 @@ point must be on CACHE. PREV-TOKEN is the token before the 
one being indented."
                     ;;     (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
@@ -730,11 +761,13 @@ point must be on CACHE. PREV-TOKEN is the token before 
the one being indented."
                        (ada-wisi-indent-cache ada-indent-broken cache))
                       ))
 
-                   ((abstract_subprogram_declaration
-                     expression_function_declaration
-                     subprogram_body
+                   ((subprogram_body
                      subprogram_declaration
                      subprogram_specification
+
+                     ;; shared code, but out of alphabetical order:
+                     abstract_subprogram_declaration
+                     expression_function_declaration
                      null_procedure_declaration)
                     (cl-ecase (wisi-cache-token cache)
                       (IS
@@ -765,6 +798,8 @@ point must be on CACHE. PREV-TOKEN is the token before the 
one being indented."
                        (current-column))
                       ))
 
+                   ;; subtype_declaration, task_type_declaration with 
full_type_declaration
+
                    ))))
              )))) ;; end statement-other
 
@@ -1086,6 +1121,13 @@ cached token, return new indentation for point."
                   ;; 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 =>
@@ -1201,6 +1243,14 @@ cached token, return new indentation for point."
                 ;;   Constant_Indexing => Constant_Reference,
                 ;; indenting 'Constant_Indexing'; point is on 'with'
                 (+ (current-indentation) ada-indent-broken))
+
+               (derived_type_definition
+                ;; test/ada_mode-nominal-child.ads
+                ;; type Child_Type_1 is new Parent_Type_1 with
+                ;;   -- comment between 'with' and 'record'
+                ;;    record
+                ;; indenting comment
+                (+ (current-indentation) ada-indent-broken))
                ))
 
             ;; otherwise just hanging
@@ -1294,10 +1344,9 @@ cached token, return new indentation for point."
            indent)
 
           (t
-           (or
-            prev-indent
-            next-indent
-            (floor indent ada-indent)))
+           ;; prev-indent and next-indent are both set here;
+           ;; could add more checks to decide which one to use.
+            prev-indent)
           )
 
          ;; not forcing gnat style
diff --git a/packages/ada-mode/dir b/packages/ada-mode/dir
index 6311731..f6b351a 100644
--- a/packages/ada-mode/dir
+++ b/packages/ada-mode/dir
@@ -5,7 +5,7 @@ The first time you invoke Info you start off looking at this 
node.
 File: dir,     Node: Top       This is the top of the INFO tree
 
   This (the Directory node) gives a menu of major topics.
-  Typing "q" exits, "?" lists all Info commands, "d" returns here,
+  Typing "q" exits, "H" lists all Info commands, "d" returns here,
   "h" gives a primer for first-timers,
   "mEmacs<Return>" visits the Emacs manual, etc.
 
diff --git a/packages/ada-mode/gnat-core.el b/packages/ada-mode/gnat-core.el
index ea4163e..c9cca70 100644
--- a/packages/ada-mode/gnat-core.el
+++ b/packages/ada-mode/gnat-core.el
@@ -3,7 +3,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>
@@ -68,6 +68,10 @@
     (message "no project file search path set")
     ))
 
+(defun ada-gnat-default-prj (prj)
+  "For `ada-prj-default-list'."
+  (gnat-prj-add-prj-dir default-directory prj))
+
 (defun gnat-prj-parse-emacs-one (name value project)
   "Handle gnat-specific Emacs Ada project file settings.
 Return new PROJECT if NAME recognized, nil otherwise.
@@ -89,7 +93,9 @@ See also `gnat-parse-emacs-final'."
       (setq project
            (plist-put project
                       'gpr_file
-                      (expand-file-name (substitute-in-file-name value))))
+                      (or
+                       (locate-file (substitute-in-file-name value) 
(ada-prj-get 'prj_dir))
+                       (expand-file-name (substitute-in-file-name value)))))
       project)
      )))
 
@@ -287,9 +293,16 @@ Assumes current buffer is (gnat-run-buffer)"
   (let* ((project-file-switch
          (when (ada-prj-get 'gpr_file)
            (concat "-P" (file-name-nondirectory (ada-prj-get 'gpr_file)))))
-        (cmd (append (list command) (list project-file-switch) switches-args)))
-
-    (gnat-run "gnat" cmd nil expected-status)
+         (target-gnat (concat (ada-prj-get 'target) "gnat"))
+         ;; gnat list understands --RTS without a fully qualified
+         ;; path, gnat find (in particular) doesn't (but it doesn't
+         ;; need to, it uses the ALI files found via the GPR)
+         (runtime
+          (when (and (ada-prj-get 'runtime) (string= command "list"))
+            (list (concat "--RTS=" (ada-prj-get 'runtime)))))
+        (cmd (append (list command) (list project-file-switch) runtime 
switches-args)))
+
+    (gnat-run target-gnat cmd nil expected-status)
     ))
 
 (defun gnat-run-no-prj (command &optional dir)
@@ -464,6 +477,9 @@ list."
        )
       )))
 
+;;; setup
+(add-to-list 'ada-prj-default-list 'ada-gnat-default-prj)
+
 (provide 'gnat-core)
 
 ;; end of file
diff --git a/packages/ada-mode/gpr-grammar-wy.el 
b/packages/ada-mode/gpr-grammar-wy.el
old mode 100644
new mode 100755
index 1c1381e..342d832
--- a/packages/ada-mode/gpr-grammar-wy.el
+++ b/packages/ada-mode/gpr-grammar-wy.el
@@ -1,4 +1,4 @@
-;;; gpr-grammar-wy.el --- Generated parser support file
+;;; gpr-grammar-wy.el --- Generated parser support file  -*- lexical-binding:t 
-*-
 
 ;; Copyright (C) 2013 - 2015 Free Software Foundation, Inc.
 
diff --git a/packages/ada-mode/gpr-mode.info b/packages/ada-mode/gpr-mode.info
index 48bcae5..5a5fc23 100644
--- a/packages/ada-mode/gpr-mode.info
+++ b/packages/ada-mode/gpr-mode.info
@@ -1,4 +1,4 @@
-This is gpr-mode.info, produced by makeinfo version 6.0 from
+This is gpr-mode.info, produced by makeinfo version 6.1 from
 gpr-mode.texi.
 
 Copyright (C) 2013 Free Software Foundation, Inc.
diff --git a/packages/ada-mode/gpr-query.el b/packages/ada-mode/gpr-query.el
old mode 100644
new mode 100755
index c22a077..222f2a5
--- a/packages/ada-mode/gpr-query.el
+++ b/packages/ada-mode/gpr-query.el
@@ -3,7 +3,7 @@
 ;; gpr-query supports Ada and any gcc language that supports the
 ;; AdaCore -fdump-xref switch (which includes C, C++).
 ;;
-;; Copyright (C) 2013 - 2015  Free Software Foundation, Inc.
+;; Copyright (C) 2013 - 2016  Free Software Foundation, Inc.
 
 ;; Author: Stephen Leake <address@hidden>
 ;; Maintainer: Stephen Leake <address@hidden>
@@ -432,6 +432,9 @@ Enable mode if ARG is positive."
   "For `ada-xref-refresh-function', using gpr_query."
   (interactive)
   ;; need to kill session to get changed env vars etc
+  ;;
+  ;; sometimes need to delete database, if the compiler version
+  ;; changed; that's beyond the scope of this package.
   (let ((session (gpr-query-cached-session)))
     (gpr-query-kill-session session)
     (gpr-query--start-process session)))
@@ -634,14 +637,9 @@ Enable mode if ARG is positive."
   )
 
 (provide 'gpr-query)
-(provide 'ada-xref-tool)
 
 (add-to-list 'compilation-error-regexp-alist-alist
-            (cons 'gpr-query-ident-file       
gpr-query-ident-file-regexp-alist))
-
-(unless (and (boundp 'ada-xref-tool)
-            (default-value 'ada-xref-tool))
-  (setq ada-xref-tool 'gpr_query))
+            (cons 'gpr-query-ident-file gpr-query-ident-file-regexp-alist))
 
 (ada-gpr-query)
 
diff --git a/packages/ada-mode/gpr_query.adb b/packages/ada-mode/gpr_query.adb
new file mode 100755
index 0000000..3307aaf
--- /dev/null
+++ b/packages/ada-mode/gpr_query.adb
@@ -0,0 +1,732 @@
+--  Abstract :
+--
+--  Support Emacs Ada mode and gpr-query minor mode queries about
+--  GNAT projects and cross reference data
+--
+--  requires gnatcoll 1.7w 20140330, gnat 7.2.1
+--
+--  Copyright (C) 2014-2016 Free Software Foundation All Rights Reserved.
+--
+--  This program is free software; you can redistribute it and/or
+--  modify it under terms of the GNU General Public License as
+--  published by the Free Software Foundation; either version 3, or (at
+--  your option) any later version. This program is distributed in the
+--  hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+--  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+--  PURPOSE. See the GNU General Public License for more details. You
+--  should have received a copy of the GNU General Public License
+--  distributed with this program; see file COPYING. If not, write to
+--  the Free Software Foundation, 51 Franklin Street, Suite 500, Boston,
+--  MA 02110-1335, USA.
+
+pragma License (GPL);
+
+with Ada.Characters.Handling;
+with Ada.Command_Line;
+with Ada.Directories;
+with Ada.Environment_Variables;
+with Ada.Exceptions.Traceback;
+with Ada.Strings.Fixed;
+with Ada.Strings.Unbounded;
+with Ada.Text_IO;
+with GNAT.Command_Line;
+with GNAT.Directory_Operations;
+with GNAT.OS_Lib;
+with GNAT.Strings;
+with GNAT.Traceback.Symbolic;
+with GNATCOLL.Arg_Lists;
+with GNATCOLL.Paragraph_Filling;
+with GNATCOLL.Projects;
+with GNATCOLL.SQL.Sqlite;
+with GNATCOLL.Traces; use GNATCOLL.Traces;
+with GNATCOLL.Utils;
+with GNATCOLL.VFS;
+with GNATCOLL.VFS_Utils;
+with GNATCOLL.Xref;
+with Prj;
+procedure Gpr_Query is
+   use GNATCOLL;
+
+   Me : constant GNATCOLL.Traces.Trace_Handle := GNATCOLL.Traces.Create 
("gpr_query");
+
+   Db_Error        : exception;
+   Invalid_Command : exception;
+
+   function "+" (Item : in Ada.Strings.Unbounded.Unbounded_String) return 
String
+     renames Ada.Strings.Unbounded.To_String;
+
+   function "+" (Item : in GNATCOLL.VFS.Filesystem_String) return String
+   is begin
+      return String (Item);
+   end "+";
+
+   procedure Process_Line (Line : String);
+   --  Process a full line of commands.
+   --  Raise Invalid_Command when the command is invalid.
+
+   function Get_Entity (Arg : String) return GNATCOLL.Xref.Entity_Information;
+   --  Return the entity matching the "name:file:line:column" argument
+
+   type My_Xref_Database is new GNATCOLL.Xref.Xref_Database with null record;
+   --  Derived so we can override Image to output full paths
+
+   overriding function Image (Self : My_Xref_Database; File : 
GNATCOLL.VFS.Virtual_File) return String;
+   function Image (Self : GNATCOLL.Xref.Entity_Information) return String;
+   --  Return a display version of the argument
+
+   Xref              : aliased My_Xref_Database;
+   Env               : GNATCOLL.Projects.Project_Environment_Access;
+   Tree              : aliased GNATCOLL.Projects.Project_Tree;
+   Previous_Progress : Natural                          := 0;
+   Progress_Reporter : access procedure (Current, Total : Integer) := null;
+
+   --  Subprogram specs for subprograms used before bodies
+   procedure Check_Arg_Count (Args : in GNATCOLL.Arg_Lists.Arg_List; Expected 
: in Integer);
+   procedure Dump (Curs : in out GNATCOLL.Xref.Entities_Cursor'Class);
+   procedure Dump (Refs : in out GNATCOLL.Xref.References_Cursor'Class);
+   --  Display the results of a query
+
+   procedure Put (Item : GNATCOLL.VFS.File_Array);
+
+   generic
+      with function Compute
+        (Self   : in GNATCOLL.Xref.Xref_Database'Class;
+         Entity : in GNATCOLL.Xref.Entity_Information)
+        return GNATCOLL.Xref.Entity_Information;
+   procedure Process_Command_Single (Args : GNATCOLL.Arg_Lists.Arg_List);
+   --  Get the entity identified by Args, which must contain a single
+   --  argument. Then call Compute, and output the result.
+   --
+   --  Appropriate for queries that return a single entity result.
+
+   procedure Process_Command_Single (Args : GNATCOLL.Arg_Lists.Arg_List)
+   is
+      use GNATCOLL.Arg_Lists;
+      use GNATCOLL.Xref;
+
+      Entity : Entity_Information;
+      Comp   : Entity_Information;
+   begin
+      Check_Arg_Count (Args, 1);
+
+      Entity := Get_Entity (Nth_Arg (Args, 1));
+      Comp := Compute (Xref, Entity);
+      if Comp /= No_Entity then
+         Ada.Text_IO.Put_Line (Image (Comp));
+      end if;
+   end Process_Command_Single;
+
+   generic
+      with procedure Compute
+        (Self   : in     GNATCOLL.Xref.Xref_Database'Class;
+         Entity : in     GNATCOLL.Xref.Entity_Information;
+         Cursor :    out GNATCOLL.Xref.Entities_Cursor'Class);
+   procedure Process_Command_Multiple (Args : GNATCOLL.Arg_Lists.Arg_List);
+
+   procedure Process_Command_Multiple (Args : GNATCOLL.Arg_Lists.Arg_List)
+   is
+      use GNATCOLL.Arg_Lists;
+      use GNATCOLL.Xref;
+
+      Entity      : Entity_Information;
+      Descendants : Recursive_Entities_Cursor;
+
+      --  Apparently a generic formal parameter cannot match a subprogram 
access type, so we need this:
+      procedure Do_Compute
+        (Self   : in     GNATCOLL.Xref.Xref_Database'Class;
+         Entity : in     GNATCOLL.Xref.Entity_Information;
+         Cursor :    out GNATCOLL.Xref.Entities_Cursor'Class)
+      is begin
+         Compute (Self, Entity, Cursor);
+      end Do_Compute;
+   begin
+      Check_Arg_Count (Args, 1);
+
+      Entity := Get_Entity (Nth_Arg (Args, 1));
+
+      Recursive
+        (Self    => Xref'Unchecked_Access,
+         Entity  => Entity,
+         Compute => Do_Compute'Unrestricted_Access,
+         Cursor  => Descendants);
+
+      Dump (Descendants);
+
+   end Process_Command_Multiple;
+
+   --  Command procedures; Args is the command line.
+   --
+   --  Infrastructure commands
+   procedure Process_Help (Args : GNATCOLL.Arg_Lists.Arg_List);
+   procedure Process_Refresh (Args : GNATCOLL.Arg_Lists.Arg_List);
+
+   --  Queries; alphabetical
+   procedure Process_Overridden is new Process_Command_Single 
(GNATCOLL.Xref.Overrides);
+   procedure Process_Overriding is new Process_Command_Multiple 
(GNATCOLL.Xref.Overridden_By);
+   procedure Process_Parent_Types is new Process_Command_Multiple 
(GNATCOLL.Xref.Parent_Types);
+   procedure Process_Project_Path (Args : GNATCOLL.Arg_Lists.Arg_List);
+   procedure Process_Refs (Args : GNATCOLL.Arg_Lists.Arg_List);
+   procedure Process_Source_Dirs (Args : GNATCOLL.Arg_Lists.Arg_List);
+
+   type Command_Descr is record
+      Name    : GNAT.Strings.String_Access;
+      Args    : GNAT.Strings.String_Access;
+      Help    : GNAT.Strings.String_Access;
+      Handler : access procedure (Args : GNATCOLL.Arg_Lists.Arg_List);
+   end record;
+
+   Commands : constant array (Natural range <>) of Command_Descr :=
+     ((new String'("help"),
+       new String'("[command or variable name]"),
+       new String'("Display the list of commands and their syntax."),
+       Process_Help'Access),
+
+      (new String'("refresh"),
+       null,
+       new String'("Refresh the contents of the xref database."),
+       Process_Refresh'Access),
+
+      --  queries
+
+      (new String'("overridden"),
+       new String'("name:file:line:column"),
+       new String'("The entity that is overridden by the parameter"),
+       Process_Overridden'Access),
+
+      (new String'("overriding"),
+       new String'("name:file:line:column"),
+       new String'("The entities that override the parameter"),
+       Process_Overriding'Access),
+
+      (new String'("parent_types"),
+       new String'("name:file:line:column"),
+       new String'("The parent types of the entity."),
+       Process_Parent_Types'Access),
+
+      (new String'("project_path"),
+       null,
+       new String'("The project search path."),
+       Process_Project_Path'Access),
+
+      (new String'("refs"),
+       new String'("name:file:line:column"),
+       new String'("All known references to the entity."),
+       Process_Refs'Access),
+
+      (new String'("source_dirs"),
+       null,
+       new String'("The project source directories, recursively."),
+       Process_Source_Dirs'Access));
+
+   --  Parsed command line info
+   Cmdline              : GNAT.Command_Line.Command_Line_Configuration;
+   Commands_From_Switch : aliased GNAT.Strings.String_Access;
+   DB_Name              : aliased GNAT.Strings.String_Access := new 
String'("gpr_query.db");
+   Force_Refresh        : aliased Boolean;
+   Nightly_DB_Name      : aliased GNAT.Strings.String_Access;
+   Show_Progress        : aliased Boolean;
+   Project_Name         : aliased GNAT.Strings.String_Access;
+   Traces_Config_File   : aliased GNAT.Strings.String_Access;
+   Gpr_Config_File      : aliased GNAT.Strings.String_Access;
+   ALI_Encoding         : aliased GNAT.Strings.String_Access := new 
String'("");
+
+   ----------
+   --  Procedure bodies, alphabetical
+
+   procedure Display_Progress (Current, Total : Integer) is
+      Now : constant Integer := Integer (Float'Floor
+        (Float (Current) / Float (Total) * 100.0));
+   begin
+      if Now /= Previous_Progress then
+         Ada.Text_IO.Put_Line
+           ("completed" & Current'Img
+              & " out of" & Total'Img
+              & " (" & GNATCOLL.Utils.Image (Now, Min_Width => 0) & "%)...");
+         Previous_Progress := Now;
+      end if;
+   end Display_Progress;
+
+   procedure Dump (Curs : in out GNATCOLL.Xref.Entities_Cursor'Class)
+   is
+      use GNATCOLL.Xref;
+   begin
+      while Curs.Has_Element loop
+         Ada.Text_IO.Put_Line (Image (Curs.Element));
+         Curs.Next;
+      end loop;
+   end Dump;
+
+   procedure Dump (Refs : in out GNATCOLL.Xref.References_Cursor'Class)
+   is
+      use GNATCOLL.Xref;
+   begin
+      while Has_Element (Refs) loop
+         declare
+            Ref : constant Entity_Reference := Refs.Element;
+         begin
+            Ada.Text_IO.Put_Line (Xref.Image (Ref) & " (" & (+Ref.Kind) & ")");
+         end;
+         Next (Refs);
+      end loop;
+   end Dump;
+
+   function Get_Entity (Arg : String) return GNATCOLL.Xref.Entity_Information
+   is
+      use GNAT.Directory_Operations;
+      use GNATCOLL.Xref;
+
+      Words  : GNAT.Strings.String_List_Access := GNATCOLL.Utils.Split (Arg, 
On => ':');
+      Ref    : GNATCOLL.Xref.Entity_Reference;
+   begin
+      case Words'Length is
+      when 4         =>
+         Ref := Xref.Get_Entity
+           (Name     => Words (Words'First).all,
+            File     => Format_Pathname
+              (Style => UNIX,
+               Path  => Words (Words'First + 1).all),
+            Project  => GNATCOLL.Projects.No_Project,
+            Line     => Integer'Value (Words (Words'First + 2).all),
+            Column   => Visible_Column
+              (Integer'Value (Words (Words'First + 3).all)));
+
+      when 3 =>
+         Ref := Xref.Get_Entity
+           (Name     => Words (Words'First).all,
+            File     => Format_Pathname
+              (Style => UNIX,
+               Path  => Words (Words'First + 1).all),
+            Project  => GNATCOLL.Projects.No_Project,
+            Line     => Integer'Value (Words (Words'First + 2).all));
+
+      when 2 =>
+         Ref := Xref.Get_Entity
+           (Name     => Words (Words'First).all,
+            File     => Format_Pathname
+              (Style => UNIX,
+               Path  => Words (Words'First + 1).all),
+            Project  => GNATCOLL.Projects.No_Project);
+
+      --  Xref.Get_Entity treats 'File => ""' as searching for pre-defined 
entities such as "Integer".
+
+      when others =>
+         raise Invalid_Command with "Invalid parameter '" & Arg & "', 
expecting name:file:line:column";
+      end case;
+
+      GNAT.Strings.Free (Words);
+
+      if Ref.Entity = GNATCOLL.Xref.No_Entity then
+         Ada.Text_IO.Put_Line ("Error: entity not found '" & Arg & "'");
+
+      elsif GNATCOLL.Xref.Is_Fuzzy_Match (Ref.Entity) then
+         Ada.Text_IO.Put_Line ("warning: fuzzy match for the entity");
+         --  FIXME: gnat-query.el look for this, prompt for reparse?
+      end if;
+
+      return Ref.Entity;
+   end Get_Entity;
+
+   overriding function Image (Self : My_Xref_Database; File : 
GNATCOLL.VFS.Virtual_File) return String
+   is
+      pragma Unreferenced (Self);
+   begin
+      return File.Display_Full_Name;
+   end Image;
+
+   function Image (Self : GNATCOLL.Xref.Entity_Information) return String
+   is
+      use GNATCOLL.Xref;
+   begin
+      if Self = No_Entity then
+         return "Unknown entity";
+      else
+         declare
+            Decl : constant Entity_Declaration := Xref.Declaration (Self);
+         begin
+            if Is_Predefined_Entity (Decl) then
+               return "predefined entity: " & (+Decl.Name);
+            else
+               return Xref.Image (Decl.Location);
+            end if;
+         end;
+      end if;
+   end Image;
+
+   procedure Check_Arg_Count (Args : in GNATCOLL.Arg_Lists.Arg_List; Expected 
: in Integer)
+   is
+      Count : constant Integer := GNATCOLL.Arg_Lists.Args_Length (Args);
+   begin
+      if Count /= Expected then
+         raise Invalid_Command with "Invalid number of arguments" & 
Integer'Image (Count) &
+           "; expecting" & Integer'Image (Expected);
+      end if;
+   end Check_Arg_Count;
+
+   procedure Process_Help (Args : GNATCOLL.Arg_Lists.Arg_List)
+   is
+      use Ada.Text_IO;
+      use GNATCOLL.Arg_Lists;
+      use type GNAT.Strings.String_Access;
+   begin
+      for C in Commands'Range loop
+         if Args_Length (Args) <= 0 -- Empty_Command_Line returns -1
+           or else Nth_Arg (Args, 1) = Commands (C).Name.all
+         then
+            Put ("  " & Commands (C).Name.all);
+            if Commands (C).Args = null then
+               New_Line;
+            else
+               Put_Line (" " & Commands (C).Args.all);
+            end if;
+
+            Put
+              (Ada.Strings.Unbounded.To_String
+                 (GNATCOLL.Paragraph_Filling.Knuth_Fill
+                    (Commands (C).Help.all,
+                     Max_Line_Length => 70,
+                     Line_Prefix     => "      ")));
+         end if;
+      end loop;
+      New_Line;
+      Put_Line ("'exit' to quit");
+   end Process_Help;
+
+   procedure Process_Line (Line : String)
+   is
+      Expr : GNAT.Strings.String_List_Access;
+   begin
+      if Ada.Strings.Fixed.Trim (Line, Ada.Strings.Both) = "" then
+         return;
+      end if;
+
+      Expr := GNATCOLL.Utils.Split (Line, On => ';');
+
+      for C in Expr'Range loop
+         if Ada.Strings.Fixed.Trim (Expr (C).all, Ada.Strings.Both) = "" then
+            null;
+
+         else
+            declare
+               use GNATCOLL.Arg_Lists;
+               List  : constant Arg_List := Parse_String (Expr (C).all, Mode 
=> Separate_Args);
+               Cmd   : constant String   := Ada.Characters.Handling.To_Lower 
(Get_Command (List));
+               Found : Boolean           := False;
+            begin
+               for Co in Commands'Range loop
+                  if Commands (Co).Name.all = Cmd then
+                     Commands (Co).Handler (List);
+                     Found := True;
+                     exit;
+                  end if;
+               end loop;
+
+               if not Found then
+                  raise Invalid_Command with "Invalid command: '" & Cmd & "'";
+               end if;
+            end;
+
+         end if;
+      end loop;
+
+      GNAT.Strings.Free (Expr);
+   end Process_Line;
+
+   procedure Process_Project_Path (Args : GNATCOLL.Arg_Lists.Arg_List)
+   is
+      pragma Unreferenced (Args);
+      Dirs : constant GNATCOLL.VFS.File_Array := 
GNATCOLL.Projects.Predefined_Project_Path (Env.all);
+   begin
+      Put (Dirs);
+   end Process_Project_Path;
+
+   procedure Process_Refresh (Args : GNATCOLL.Arg_Lists.Arg_List)
+   is
+      use type GNATCOLL.Projects.Project_Environment_Access;
+      pragma Unreferenced (Args);
+   begin
+      Xref.Parse_All_LI_Files
+        (Tree                => Tree,
+         Project             => Tree.Root_Project,
+         Parse_Runtime_Files => False, --  True encounters bug in 
gnatcoll.projects; null pointer
+         Show_Progress       => Progress_Reporter,
+         ALI_Encoding        => ALI_Encoding.all,
+         From_DB_Name        => Nightly_DB_Name.all,
+         To_DB_Name          => DB_Name.all,
+         Force_Refresh       => Force_Refresh);
+   end Process_Refresh;
+
+   procedure Process_Refs (Args : GNATCOLL.Arg_Lists.Arg_List)
+   is
+      use GNATCOLL.Arg_Lists;
+   begin
+      Check_Arg_Count (Args, 1);
+
+      declare
+         use GNATCOLL.Xref;
+         Entity  : constant Entity_Information := Get_Entity (Nth_Arg (Args, 
1));
+         Refs    : References_Cursor;
+      begin
+         Xref.References (Entity, Cursor => Refs);
+         Dump (Refs);
+      end;
+   end Process_Refs;
+
+   procedure Process_Source_Dirs (Args : GNATCOLL.Arg_Lists.Arg_List)
+   is
+      pragma Unreferenced (Args);
+      use GNATCOLL.VFS;
+      use GNATCOLL.Projects;
+
+      Dirs : constant File_Array := Source_Dirs
+        (Project   => Tree.Root_Project,
+         Recursive => True) &
+        Predefined_Source_Path (Env.all);
+   begin
+      Put (Dirs);
+   end Process_Source_Dirs;
+
+   procedure Put (Item : GNATCOLL.VFS.File_Array)
+   is
+      use GNATCOLL.VFS;
+   begin
+      for I in Item'Range loop
+         Ada.Text_IO.Put_Line (+Full_Name (Item (I)));
+      end loop;
+   end Put;
+
+begin
+   declare
+      use GNAT.Command_Line;
+   begin
+      Set_Usage
+        (Cmdline,
+         Help => "Query project info and cross-references on source code. See 
ada-mode docs for more help.");
+
+      --  Switch variable alphabetic order
+      Define_Switch
+        (Cmdline,
+         Output      => ALI_Encoding'Access,
+         Long_Switch => "--encoding=",
+         Switch      => "-e=",
+         Help        => "The character encoding used for source and ALI 
files");
+      Define_Switch
+        (Cmdline,
+         Output      => Commands_From_Switch'Access,
+         Switch      => "-c:",
+         Long_Switch => "--command=",
+         Help        => "Execute the commands from ARG, and exit");
+      Define_Switch
+        (Cmdline,
+         Output      => DB_Name'Access,
+         Long_Switch => "--db=",
+         Help        => "Specifies the name of the database (or ':memory:')");
+      Define_Switch
+        (Cmdline,
+         Output      => Force_Refresh'Access,
+         Long_Switch => "--force_refresh",
+         Help        => "Force rebuilding the database.");
+      Define_Switch
+        (Cmdline,
+         Output      => Gpr_Config_File'Access,
+         Long_Switch => "--autoconf=",
+         Help        => "Specify the gpr configuration file (.cgpr)");
+      Define_Switch
+        (Cmdline,
+         Output      => Nightly_DB_Name'Access,
+         Long_Switch => "--nightlydb=",
+         Help        => "Specifies the name of a prebuilt database");
+      Define_Switch
+        (Cmdline,
+         Output      => Project_Name'Access,
+         Switch      => "-P:",
+         Long_Switch => "--project=",
+         Help        => "Load the given project (mandatory)");
+      Define_Switch
+        (Cmdline,
+         Output      => Show_Progress'Access,
+         Long_Switch => "--display_progress",
+         Switch      => "-d",
+         Help        => "Show progress as LI files are parsed");
+      Define_Switch
+        (Cmdline,
+         Output      => Traces_Config_File'Access,
+         Long_Switch => "--tracefile=",
+         Help        => "Specify a traces configuration file");
+
+      Getopt (Cmdline, Callback => null);
+   end;
+
+   if Project_Name.all = "" then
+      Ada.Text_IO.Put_Line ("No project file specified");
+      GNAT.Command_Line.Display_Help (Cmdline);
+      return;
+   end if;
+
+   --  Only trace if user specifies --tracefile
+   if Traces_Config_File.all /= "" and then GNAT.OS_Lib.Is_Regular_File 
(Traces_Config_File.all) then
+      GNATCOLL.Traces.Parse_Config_File
+        (Filename         => Traces_Config_File.all,
+         Force_Activation => False);
+      Trace (Me, "trace enabled");
+
+      --  Prj.* not controlled by Traces
+      Prj.Current_Verbosity := Prj.High;
+   end if;
+
+   GNATCOLL.Projects.Initialize (Env); -- for register_default_language
+
+   if Gpr_Config_File.all /= "" and then GNAT.OS_Lib.Is_Regular_File 
(Gpr_Config_File.all) then
+      Env.Set_Config_File
+        (GNATCOLL.VFS.Create_From_UTF8
+           (GNAT.OS_Lib.Normalize_Pathname
+              (Name => Gpr_Config_File.all,
+               Directory => GNAT.Directory_Operations.Get_Current_Dir)));
+   else
+      --  Apparently Ada language extensions are already registered (sigh)
+
+      Env.Register_Default_Language_Extension
+        (Language_Name       => "C",
+         Default_Spec_Suffix => ".h",
+         Default_Body_Suffix => ".c");
+
+      Env.Register_Default_Language_Extension
+        (Language_Name       => "C++",
+         Default_Spec_Suffix => ".hh",
+         Default_Body_Suffix => ".cpp");
+
+   end if;
+
+   declare
+      use Ada.Environment_Variables;
+      use Ada.Text_IO;
+      use GNATCOLL.VFS;
+      use GNATCOLL.VFS_Utils;
+      use GNAT.Directory_Operations;
+      use type GNAT.Strings.String_Access;
+
+      Gpr_Project_Path : constant String :=
+        (if Exists ("GPR_PROJECT_PATH") then Ada.Directories.Current_Directory 
&
+           GNAT.OS_Lib.Path_Separator &
+           Value ("GPR_PROJECT_PATH")
+         else Ada.Directories.Current_Directory);
+
+      Path : constant Virtual_File := -- must be an absolute file name
+        (if Is_Absolute_Path (+Project_Name.all) then
+           Create_From_UTF8 (Project_Name.all, Normalize => True)
+         else
+           Locate_Regular_File (+Project_Name.all, From_Path 
(+Gpr_Project_Path)));
+   begin
+      if not Path.Is_Regular_File then
+         Put (Project_Name.all & ": not found on path " & Gpr_Project_Path);
+         Ada.Command_Line.Set_Exit_Status (Ada.Command_Line.Failure);
+         return;
+      end if;
+
+      Trace (Me, "using project file " & (+Path.Full_Name));
+
+      if Show_Progress then
+         Progress_Reporter := Display_Progress'Unrestricted_Access;
+      end if;
+
+      begin
+         --  Recompute_View => True registers all the source files
+         --  (among other things), so we will know that a .[ag]li
+         --  belongs to this project
+         Tree.Load
+           (Path, Env,
+            Errors         => Ada.Text_IO.Put_Line'Access,
+            Recompute_View => True);
+      exception
+      when GNATCOLL.Projects.Invalid_Project =>
+         Ada.Text_IO.Put_Line ("project search path:");
+         Put (GNATCOLL.Projects.Predefined_Project_Path (Env.all));
+         raise GNATCOLL.Projects.Invalid_Project with +Path.Full_Name & ": 
invalid project";
+      end;
+   end;
+
+   if DB_Name.all /= ":memory:" then
+      declare
+         use GNATCOLL.VFS;
+
+         N    : constant String := DB_Name.all;
+         Temp : Virtual_File    := Tree.Root_Project.Object_Dir;
+         Dir2 : Virtual_File;
+      begin
+         GNAT.Strings.Free (DB_Name);
+
+         --  If the project does not have an object directory, create
+         --  the database in the directory containing the project file.
+         if Temp = No_File then
+            Temp := Tree.Root_Project.Project_Path.Dir;
+         end if;
+
+         Temp := Create_From_Base (Base_Dir => Temp.Full_Name.all, Base_Name 
=> +N);
+         Dir2 := Create (Temp.Dir_Name);
+
+         if not Dir2.Is_Directory then
+            Dir2.Make_Dir (Recursive => True);
+         end if;
+
+         DB_Name := new String'(Temp.Display_Full_Name);
+      end;
+   end if;
+
+   declare
+      use type GNAT.Strings.String_Access;
+      Error : GNAT.Strings.String_Access;
+   begin
+      Trace (Me, "using database " & DB_Name.all);
+
+      Setup_DB
+        (Self  => Xref,
+         Tree  => Tree'Unchecked_Access,
+         DB    => GNATCOLL.SQL.Sqlite.Setup (Database => DB_Name.all),
+         Error => Error);
+
+      if Error /= null then
+         --  old db schema
+         raise Db_Error with Error.all;
+      end if;
+   end;
+
+   Process_Refresh (GNATCOLL.Arg_Lists.Empty_Command_Line);
+
+   if Commands_From_Switch.all /= "" then
+      Process_Line (Commands_From_Switch.all);
+      return;
+   end if;
+
+   loop
+      Ada.Text_IO.Put (">>> ");
+      declare
+         Input : constant String := Ada.Text_IO.Get_Line;
+      begin
+         exit when Input = "exit";
+         Process_Line (Input);
+      exception
+      when E : Invalid_Command =>
+         Ada.Text_IO.Put_Line (Ada.Exceptions.Exception_Message (E));
+         Process_Help (GNATCOLL.Arg_Lists.Empty_Command_Line);
+      end;
+   end loop;
+
+exception
+when E : GNATCOLL.Projects.Invalid_Project =>
+   Ada.Text_IO.Put_Line (Ada.Exceptions.Exception_Message (E));
+   Ada.Command_Line.Set_Exit_Status (Ada.Command_Line.Failure);
+when E : Db_Error =>
+   Ada.Text_IO.Put_Line (Ada.Exceptions.Exception_Message (E));
+   Ada.Command_Line.Set_Exit_Status (Ada.Command_Line.Failure);
+when E : Invalid_Command =>
+   Ada.Text_IO.Put_Line (Ada.Exceptions.Exception_Message (E));
+   Process_Help (GNATCOLL.Arg_Lists.Empty_Command_Line);
+   Ada.Command_Line.Set_Exit_Status (Ada.Command_Line.Failure);
+when GNAT.Command_Line.Invalid_Switch =>
+   GNAT.Command_Line.Display_Help (Cmdline);
+   Ada.Command_Line.Set_Exit_Status (Ada.Command_Line.Failure);
+when E : others =>
+   Ada.Text_IO.Put_Line ("Unexpected exception");
+   Ada.Text_IO.Put_Line (Ada.Exceptions.Exception_Information (E));
+   Ada.Text_IO.Put_Line (GNAT.Traceback.Symbolic.Symbolic_Traceback 
(Ada.Exceptions.Traceback.Tracebacks (E)));
+   Ada.Command_Line.Set_Exit_Status (Ada.Command_Line.Failure);
+end Gpr_Query;
diff --git a/packages/ada-mode/gpr_query.gpr b/packages/ada-mode/gpr_query.gpr
new file mode 100755
index 0000000..6e57ee1
--- /dev/null
+++ b/packages/ada-mode/gpr_query.gpr
@@ -0,0 +1,70 @@
+--  Abstract :
+--
+--  build gpr_query
+--
+--  Copyright (C) 2014 Stephen Leake All Rights Reserved.
+--
+--  This program is free software; you can redistribute it and/or
+--  modify it under terms of the GNU General Public License as
+--  published by the Free Software Foundation; either version 3, or (at
+--  your option) any later version. This program is distributed in the
+--  hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+--  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+--  PURPOSE. See the GNU General Public License for more details. You
+--  should have received a copy of the GNU General Public License
+--  distributed with this program; see file COPYING. If not, write to
+--  the Free Software Foundation, 51 Franklin Street, Suite 500, Boston,
+--  MA 02110-1335, USA.
+
+with "gnatcoll";
+with "gnatcoll_sqlite";
+with "gnat_util";
+project Gpr_query is
+   for Main use ("gpr_query.adb");
+
+   for Source_Dirs use (".");
+
+   for Object_Dir use "obj";
+
+   for Exec_Dir use ".";
+
+   type Build_Type is ("Debug", "Normal");
+   Build : Build_Type := External ("Gpr_Query_Build", "Normal");
+
+   for Languages use ("Ada");
+
+   package Compiler is
+
+      Common_Switches :=
+        ("-g",
+         "-gnata",  -- assertions
+         "-gnatfoqQ",
+         "-gnatVa", -- validity checks
+         "-gnaty3abcefhiklM120nOprtx",
+         "-gnateE", -- extra info in exceptions
+         "-gnatwaBCeJL",
+         "-fstack-check",
+         "-gnat12");
+
+      case Build is
+         when "Debug" =>
+            for Default_Switches ("Ada") use Common_Switches & ("-O0");
+         when "Normal" =>
+            -- WORKAROUND (GNAT 7.2.1): adding -gnatn here gives errors about 
missing sources in installed gnatcoll.
+            for Default_Switches ("Ada") use Common_Switches & ("-O2");
+      end case;
+   end Compiler;
+
+   package Linker is
+      for Default_Switches ("Ada") use ("-lpthread");
+   end Linker;
+
+   package Binder is
+      for default_switches ("Ada") use ("-E"); -- symbolic traceback
+   end Binder;
+
+   package Install is
+      for Mode use "usage";
+   end Install;
+
+end Gpr_query;
diff --git a/packages/wisi/NEWS b/packages/wisi/NEWS
index 9e8ad77..4a9f690 100644
--- a/packages/wisi/NEWS
+++ b/packages/wisi/NEWS
@@ -7,6 +7,10 @@ Please send wisi bug reports to address@hidden, with
 'wisi' in the subject. If possible, use M-x report-emacs-bug.
 
 
+* wisi 1.1.3
+
+** improve use of quotes in doc strings.
+
 * wisi 1.1.2
 20 Jan 2016
 
diff --git a/packages/wisi/README b/packages/wisi/README
index 098b476..3c27c32 100644
--- a/packages/wisi/README
+++ b/packages/wisi/README
@@ -1,4 +1,4 @@
-Emacs wisi package 1.1.2
+Emacs wisi package 1.1.3
 
 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 bb49f65..7b7f55e 100644
--- a/packages/wisi/wisi.el
+++ b/packages/wisi/wisi.el
@@ -7,7 +7,7 @@
 ;; Keywords: parser
 ;;  indentation
 ;;  navigation
-;; Version: 1.1.2
+;; Version: 1.1.3
 ;; package-requires: ((cl-lib "0.4") (emacs "24.2"))
 ;; URL: http://stephe-leake.org/emacs/ada-mode/emacs-ada-mode.html
 ;;



reply via email to

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