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

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

[elpa] externals/ada-mode 9730ec3 07/48: ada-mode 5.1.3, wisi 1.0.4


From: Stefan Monnier
Subject: [elpa] externals/ada-mode 9730ec3 07/48: ada-mode 5.1.3, wisi 1.0.4
Date: Mon, 30 Nov 2020 17:20:36 -0500 (EST)

branch: externals/ada-mode
commit 9730ec3f677512f4d36d41f15c1cc91a6b79e394
Author: Stephen Leake <stephen_leake@stephe-leake.org>
Commit: Stephen Leake <stephen_leake@stephe-leake.org>

    ada-mode 5.1.3, wisi 1.0.4
---
 NEWS                |   15 +
 README              |    6 +-
 ada-build.el        |    2 +-
 ada-fix-error.el    |    4 +-
 ada-gnat-compile.el |  189 +++--
 ada-gnat-xref.el    |    8 +-
 ada-grammar-wy.el   | 2139 ++++++++++++++++++++++++++-------------------------
 ada-mode.el         |  208 ++---
 ada-mode.info       |  121 +--
 ada-skel.el         |   25 +-
 ada-wisi.el         |  257 ++++---
 gnat-core.el        |  188 +++--
 gnat-inspect.el     |   62 +-
 gpr-mode.el         |   18 +-
 gpr-query.el        |  607 +++++++++++++++
 gpr-skel.el         |   29 +-
 16 files changed, 2362 insertions(+), 1516 deletions(-)

diff --git a/NEWS b/NEWS
index 786c58c..8f6f7b0 100755
--- a/NEWS
+++ b/NEWS
@@ -7,6 +7,21 @@ Please send Emacs Ada mode bug reports to 
bug-gnu-emacs@gnu.org, with
 'ada-mode' in the subject. If possible, use M-x report-emacs-bug.
 
 
+* Ada mode 5.1.3
+19 Apr 2014
+
+** more GNAT error message auto-fixes
+
+** support aspects on subprogram declarations; format same as SPARK examples.
+
+** fix bug in ada-syntax-propertize that caused query-replace to screw up
+
+** inhibit reparse due to case adjust; case adjust entire buffer is
+   now _much_ faster.
+
+** Non-ASCII characters supported in Ada mode buffers, including GNAT
+   bracket notation.
+
 * Ada mode 5.1.2
 16 Mar 2014
 
diff --git a/README b/README
index 7a6e7cf..1212821 100755
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-Emacs Ada mode version 5.1.2
+Emacs Ada mode version 5.1.3
 
 Ada mode requires Emacs 24.2 or greater
 
@@ -57,8 +57,8 @@ to build gnatinspect:
 
 
 gnatinspect references:
-    gnatcoll-1.6w-src/docs/xref.rst
-    gnatcoll-1.6w-src/src/tools/gnatinspect.adb
+    gnatcoll-1.6-src/docs/xref.rst
+    gnatcoll-1.6-src/src/tools/gnatinspect.adb
 
 debugging gnatinspect:
     verbosity in .gnatdebug:
diff --git a/ada-build.el b/ada-build.el
index 5ed84fe..5a5af5f 100755
--- a/ada-build.el
+++ b/ada-build.el
@@ -141,7 +141,7 @@ including the directory and extension."
     )))
 
 (defun ada-build-select-default-prj ()
-  "Create and select a new default project, with current buffer as main 
program."
+  "Create and select a new default project."
   (let ((prj-file (expand-file-name "default.adp"))
        project)
 
diff --git a/ada-fix-error.el b/ada-fix-error.el
index 24c4e12..e8115fa 100755
--- a/ada-fix-error.el
+++ b/ada-fix-error.el
@@ -144,8 +144,8 @@ point and return nil.")
   "Get compilation message at point.
 Compatible with Emacs 23.4 and 24.x."
   (cl-case emacs-major-version
-    (23 (get-text-property (point) 'message))
-    (24 (get-text-property (point) 'compilation-message))))
+    (23 (get-text-property (line-beginning-position) 'message))
+    (24 (get-text-property (line-beginning-position) 'compilation-message))))
 
 (defun ada-fix-compiler-error ()
   "Attempt to fix the current compiler error. Leave point at fixed code."
diff --git a/ada-gnat-compile.el b/ada-gnat-compile.el
index cf1fe8c..8036f80 100755
--- a/ada-gnat-compile.el
+++ b/ada-gnat-compile.el
@@ -6,7 +6,7 @@
 ;;
 ;; GNAT is provided by AdaCore; see http://libre.adacore.com/
 ;;
-;;; Copyright (C) 2012, 2013  Free Software Foundation, Inc.
+;;; Copyright (C) 2012 - 2014  Free Software Foundation, Inc.
 ;;
 ;; Author: Stephen Leake <stephen_leake@member.fsf.org>
 ;; Maintainer: Stephen Leake <stephen_leake@member.fsf.org>
@@ -51,63 +51,63 @@ For `compilation-filter-hook'."
     ;; `compilation-mode-font-lock-keywords'.
     ;;
     ;; compilation-filter might insert partial lines, or it might insert 
multiple lines
-    (when (bolp)
-      (while (not (eobp))
-       ;; We don't want 'next-error' to always go to secondary
-       ;; references, so we _don't_ set 'compilation-message text
-       ;; property. Instead, we set 'ada-secondary-error, so
-       ;; `ada-goto-secondary-error' will handle it. We also set
-       ;; fonts, so the user can see the reference.
-
-       ;; typical secondary references look like:
-       ;;
-       ;; trivial_productions_test.adb:57:77:   ==> in call to "Get" at \
-       ;;    opentoken-token-enumerated-analyzer.ads:88, instance at line 41
-       ;;
-       ;; c:/foo/bar/lookahead_test.adb:379:14: found type access to 
"Standard.String" defined at line 379
-       ;;
-       ;; lookahead_test.ads:23:09: "Name" has been inherited from subprogram 
at aunit-simple_test_cases.ads:47
-       ;;
-       ;; lalr.adb:668:37: non-visible declaration at analyzer.ads:60, 
instance at parser.ads:38
-       ;;
-       ;; save the file from the primary reference, look for "*.ad?:nn", "at 
line nnn"
-
-       (let (file)
-         (when (looking-at "^\\(\\(.:\\)?[^ :\n]+\\):")
-           (setq file (match-string-no-properties 1)))
-
-         (skip-syntax-forward "^-"); space following primary reference
-
-         (while (search-forward-regexp 
"\\s-\\(\\([^[:blank:]]+\\.[[:alpha:]]+\\):\\([0-9]+\\)\\)"
-                                       (line-end-position) t)
-
-           (goto-char (match-end 0))
-           (with-silent-modifications
-             (compilation--put-prop 2 'font-lock-face compilation-info-face); 
file
-             (compilation--put-prop 3 'font-lock-face compilation-line-face); 
line
-             (put-text-property
-              (match-beginning 0) (match-end 0)
-              'ada-secondary-error
-              (list
-               (match-string-no-properties 2); file
-               (string-to-number (match-string-no-properties 3)); line
-               1)); column
-             ))
-
-         (when (search-forward-regexp "\\(at line \\)\\([0-9]+\\)" 
(line-end-position) t)
-           (with-silent-modifications
-             (compilation--put-prop 1 'font-lock-face compilation-info-face); 
"at line" instead of file
-             (compilation--put-prop 2 'font-lock-face compilation-line-face); 
line
-             (put-text-property
-              (match-beginning 1) (match-end 1)
-              'ada-secondary-error
-              (list
-               file
-               (string-to-number (match-string-no-properties 2)); line
-               1)); column
-             ))
-         (forward-line 1))
-       ))
+    (goto-char (line-beginning-position))
+    (while (not (eobp))
+      ;; We don't want 'next-error' to always go to secondary
+      ;; references, so we _don't_ set 'compilation-message text
+      ;; property. Instead, we set 'ada-secondary-error, so
+      ;; `ada-goto-secondary-error' will handle it. We also set
+      ;; fonts, so the user can see the reference.
+
+      ;; typical secondary references look like:
+      ;;
+      ;; trivial_productions_test.adb:57:77:   ==> in call to "Get" at \
+      ;;    opentoken-token-enumerated-analyzer.ads:88, instance at line 41
+      ;;
+      ;; c:/foo/bar/lookahead_test.adb:379:14: found type access to 
"Standard.String" defined at line 379
+      ;;
+      ;; lookahead_test.ads:23:09: "Name" has been inherited from subprogram 
at aunit-simple_test_cases.ads:47
+      ;;
+      ;; lalr.adb:668:37: non-visible declaration at analyzer.ads:60, instance 
at parser.ads:38
+      ;;
+      ;; save the file from the primary reference, look for "*.ad?:nn", "at 
line nnn"
+
+      (let (file)
+       (when (looking-at "^\\(\\(.:\\)?[^ :\n]+\\):")
+         (setq file (match-string-no-properties 1)))
+
+       (skip-syntax-forward "^-"); space following primary reference
+
+       (while (search-forward-regexp 
"\\s-\\(\\([^[:blank:]]+\\.[[:alpha:]]+\\):\\([0-9]+\\)\\)"
+                                     (line-end-position) t)
+
+         (goto-char (match-end 0))
+         (with-silent-modifications
+           (compilation--put-prop 2 'font-lock-face compilation-info-face); 
file
+           (compilation--put-prop 3 'font-lock-face compilation-line-face); 
line
+           (put-text-property
+            (match-beginning 0) (match-end 0)
+            'ada-secondary-error
+            (list
+             (match-string-no-properties 2); file
+             (string-to-number (match-string-no-properties 3)); line
+             1)); column
+           ))
+
+       (when (search-forward-regexp "\\(at line \\)\\([0-9]+\\)" 
(line-end-position) t)
+         (with-silent-modifications
+           (compilation--put-prop 1 'font-lock-face compilation-info-face); 
"at line" instead of file
+           (compilation--put-prop 2 'font-lock-face compilation-line-face); 
line
+           (put-text-property
+            (match-beginning 1) (match-end 1)
+            'ada-secondary-error
+            (list
+             file
+             (string-to-number (match-string-no-properties 2)); line
+             1)); column
+           ))
+       (forward-line 1))
+      )
     ))
 
 (defun ada-gnat-debug-filter ()
@@ -198,27 +198,37 @@ Prompt user if more than one."
                 pos choices unit-name)
             ;; next line may contain a reference to where ident is
             ;; defined; if present, it will have been marked by
-            ;; ada-gnat-compilation-filter
+            ;; ada-gnat-compilation-filter:
+            ;;
+            ;; gnatquery.adb:255:13: "Has_Element" is not visible
+            ;; gnatquery.adb:255:13: non-visible declaration at 
a-convec.ads:68, instance at gnatcoll-arg_lists.ads:157
+            ;; gnatquery.adb:255:13: non-visible declaration at 
a-coorse.ads:62, instance at gnatcoll-xref.ads:912
+            ;; gnatquery.adb:255:13: non-visible declaration at 
a-coorse.ads:62, instance at gnatcoll-xref.ads:799
+            ;; gnatquery.adb:255:13: non-visible declaration at 
gnatcoll-xref.ads:314
             ;;
             ;; or the next line may contain "multiple use clauses cause hiding"
             ;;
             ;; the lines after that may contain alternate matches;
             ;; collect all, let user choose.
-            (while (not done)
-              (forward-line 1)
-              (unless (looking-at ".* multiple use clauses cause hiding")
-                (setq done (not
-                            (and
-                             (equal file-line-struct 
(ada-get-compilation-message))
-                             (let ((limit (1- (line-end-position))))
-                               ;; 1- because next compilation error is at next 
line beginning
+            (forward-line 1)
+            (unless (looking-at ".* multiple use clauses cause hiding")
+              (while (not done)
+                (let ((limit (1- (line-end-position))))
+                  ;; 1- because next compilation error is at next line 
beginning
+                  (setq done (not
+                              (and
+                               (equal file-line-struct 
(ada-get-compilation-message))
                                (setq pos (next-single-property-change (point) 
'ada-secondary-error nil limit))
-                               (< pos limit)))))
-                (when (not done)
-                  (let* ((item (get-text-property pos 'ada-secondary-error))
-                         (unit-file (nth 0 item)))
-                    (add-to-list 'choices (ada-ada-name-from-file-name 
unit-file)))))
-              );; while
+                               (< pos limit))))
+                  (when (not done)
+                    (let* ((item (get-text-property pos 'ada-secondary-error))
+                           (unit-file (nth 0 item)))
+                      (add-to-list 'choices (ada-ada-name-from-file-name 
unit-file))
+                      (goto-char (1+ pos))
+                      (goto-char (1+ (next-single-property-change (point) 
'ada-secondary-error nil limit)))
+                      (when (eolp) (forward-line 1))
+                      ))
+                  )));; unless while let
 
             (cond
              ((= 0 (length choices))
@@ -332,13 +342,21 @@ Prompt user if more than one."
           (let ((type (match-string 2)))
             (forward-line 1)
             (move-to-column message-column)
-            (when (or (looking-at "found type access")
-                      (looking-at "found type .*_Access_Type"))
+            (cond
+             ((looking-at "found type access")
+              (pop-to-buffer source-buffer)
+              (if (looking-at "'Access")
+                  (kill-word 1)
+                (forward-word 1)
+                (insert ".all"))
+              t)
+            ((looking-at "found type .*_Access_Type")
               ;; assume just need '.all'
               (pop-to-buffer source-buffer)
               (forward-word 1)
               (insert ".all")
-              t)))
+              t)
+            )))
 
          ((looking-at "extra \".\" ignored")
           (set-buffer source-buffer)
@@ -486,17 +504,15 @@ Prompt user if more than one."
 
 ;;;; style errors
          ((looking-at "(style) \".*\" in wrong column")
-          (progn
-            (set-buffer source-buffer)
-            (funcall indent-line-function))
+          (set-buffer source-buffer)
+          (funcall indent-line-function)
           t)
 
          ((looking-at "(style) bad capitalization, mixed case required")
-          (progn
-            (set-buffer source-buffer)
-            (forward-word)
-            (ada-case-adjust-identifier)
-            t))
+          (set-buffer source-buffer)
+          (forward-word)
+          (ada-case-adjust-identifier)
+          t)
 
          ((looking-at (concat "(style) bad casing of " 
ada-gnat-quoted-name-regexp))
           (let ((correct (match-string-no-properties 1))
@@ -518,6 +534,11 @@ Prompt user if more than one."
           (funcall indent-line-function)
           t)
 
+         ((looking-at "(style) misplaced \"then\"")
+          (set-buffer source-buffer)
+          (delete-indentation)
+          t)
+
          ((looking-at "(style) missing \"overriding\" indicator")
           (set-buffer source-buffer)
           (cond
diff --git a/ada-gnat-xref.el b/ada-gnat-xref.el
index 7144540..a1f5684 100755
--- a/ada-gnat-xref.el
+++ b/ada-gnat-xref.el
@@ -1,7 +1,7 @@
 ;; Ada mode cross-reference functionality provided by the 'gnat xref'
 ;; tool. Includes related functions, such as gnatprep support.
 ;;
-;; These tools are all Ada-specific; see gnat-inspect for
+;; These tools are all Ada-specific; see gpr-query or gnat-inspect for
 ;; multi-language GNAT cross-reference tools.
 ;;
 ;; GNAT is provided by AdaCore; see http://libre.adacore.com/
@@ -52,7 +52,8 @@
     (setq col (+ 1 col))
     )
 
-  (let* ((arg (format "%s:%s:%d:%d" identifier file line col))
+  (let* ((file-non-dir (file-name-nondirectory file))
+        (arg (format "%s:%s:%d:%d" identifier file-non-dir line col))
         (switches (concat
                     "-a"
                     (when (ada-prj-get 'gpr_ext) (concat "--ext=" (ada-prj-get 
'gpr_ext)))))
@@ -80,7 +81,7 @@
                (found-col  (string-to-number (match-string 3))))
            (if (not
                 (and
-                 (equal file found-file)
+                 (equal file-non-dir found-file)
                  (= line found-line)
                  (= col found-col)))
                ;; found other item
@@ -176,6 +177,7 @@
   (setq ada-make-package-body       'ada-gnat-make-package-body)
 
   (add-hook 'ada-syntax-propertize-hook 'gnatprep-syntax-propertize)
+  (add-hook 'ada-syntax-propertize-hook 'ada-gnat-syntax-propertize)
 
   ;; must be after indentation engine setup, because that resets the
   ;; indent function list.
diff --git a/ada-grammar-wy.el b/ada-grammar-wy.el
index 09fab77..9268625 100755
--- a/ada-grammar-wy.el
+++ b/ada-grammar-wy.el
@@ -178,7 +178,7 @@
         (wisi-motion-action 1 5 '(6 EXCEPTION))))
        ((ACCEPT IDENTIFIER actual_parameter_part_opt parameter_profile_opt 
SEMICOLON )
         (progn
-        (wisi-statement-action 1 'statement-start 2 'name-paren 7 
'statement-end)
+        (wisi-statement-action 1 'statement-start 2 'name-paren 5 
'statement-end)
         (wisi-containing-action 2 3)
         (wisi-containing-action 2 4))))
       (access_definition
@@ -236,6 +236,20 @@
         (wisi-statement-action 2 'open-paren 4 'close-paren 5 'statement-other)
         (wisi-containing-action 2 3)
         (wisi-containing-action 5 6))))
+      (aspect_clause
+       ((FOR attribute_reference USE expression SEMICOLON )
+        (progn
+        (wisi-statement-action 1 'statement-start 3 'statement-other 5 
'statement-end)
+        (wisi-containing-action 3 4)))
+       ((enumeration_representation_clause ))
+       ((record_representation_clause ))
+       ((at_clause )))
+      (aspect_specification_opt
+       (())
+       ((WITH association_list )
+        (progn
+        (wisi-statement-action 1 'statement-other)
+        (wisi-containing-action 1 2))))
       (assignment_statement
        ((name COLON_EQUAL expression SEMICOLON )
         (progn
@@ -260,20 +274,6 @@
         (progn
         (wisi-statement-action 2 'list-break)
         (wisi-containing-action 2 3))))
-      (aspect_clause
-       ((FOR attribute_reference USE expression SEMICOLON )
-        (progn
-        (wisi-statement-action 1 'statement-start 3 'statement-other 5 
'statement-end)
-        (wisi-containing-action 3 4)))
-       ((enumeration_representation_clause ))
-       ((record_representation_clause ))
-       ((at_clause )))
-      (aspect_specification_opt
-       (())
-       ((WITH association_list )
-        (progn
-        (wisi-statement-action 1 'statement-other)
-        (wisi-containing-action 1 2))))
       (asynchronous_select
        ((SELECT triggering_alternative THEN ABORT sequence_of_statements_opt 
END SELECT SEMICOLON )
         (progn
@@ -386,7 +386,7 @@
       (component_clause
        ((IDENTIFIER AT simple_expression RANGE simple_expression DOT_DOT 
simple_expression SEMICOLON )
         (progn
-        (wisi-statement-action 1 'statement-start 8 'statement-end)
+        (wisi-statement-action 1 'statement-start 2 'statement-other 4 
'statement-other 6 'statement-other 8 'statement-end)
         (wisi-containing-action 2 3)
         (wisi-containing-action 4 5)
         (wisi-containing-action 6 7))))
@@ -396,7 +396,7 @@
       (component_declaration
        ((identifier_list COLON component_definition COLON_EQUAL expression 
aspect_specification_opt SEMICOLON )
         (progn
-        (wisi-statement-action 1 'statement-start 2 'statement-other 7 
'statement-end)
+        (wisi-statement-action 1 'statement-start 2 'statement-other 4 
'statement-other 7 'statement-end)
         (wisi-containing-action 2 3)
         (wisi-containing-action 4 5)
         (wisi-containing-action 4 6)))
@@ -573,7 +573,6 @@
        ((overriding_indicator_opt ENTRY IDENTIFIER LEFT_PAREN 
discrete_subtype_definition RIGHT_PAREN parameter_profile_opt 
aspect_specification_opt SEMICOLON )
         (progn
         (wisi-statement-action 1 'statement-start 2 'block-middle 4 
'open-paren 6 'close-paren 8 'statement-end)
-        (wisi-containing-action 1 2)
         (wisi-containing-action 2 4)
         (wisi-containing-action 4 5)
         (wisi-containing-action 2 6)
@@ -581,7 +580,6 @@
        ((overriding_indicator_opt ENTRY IDENTIFIER parameter_profile_opt 
aspect_specification_opt SEMICOLON )
         (progn
         (wisi-statement-action 1 'statement-start 2 'block-middle 6 
'statement-end)
-        (wisi-containing-action 1 2)
         (wisi-containing-action 2 4)
         (wisi-containing-action 2 5))))
       (enumeration_literal
@@ -1038,7 +1036,6 @@
        ((overriding_indicator_opt procedure_specification IS NULL 
aspect_specification_opt SEMICOLON )
         (progn
         (wisi-statement-action 1 'statement-start 2 'statement-other 3 'name 6 
'statement-end)
-        (wisi-containing-action 1 2)
         (wisi-containing-action 2 5))))
       (object_declaration
        ((identifier_list COLON aliased_opt constant_opt subtype_indication 
COLON_EQUAL expression aspect_specification_opt SEMICOLON )
@@ -1054,7 +1051,7 @@
         (wisi-containing-action 1 6)))
        ((identifier_list COLON aliased_opt constant_opt access_definition 
COLON_EQUAL expression aspect_specification_opt SEMICOLON )
         (progn
-        (wisi-statement-action 1 'statement-start 2 'statement-other 9 
'statement-end)
+        (wisi-statement-action 1 'statement-start 2 'statement-other 6 
'statement-other 9 'statement-end)
         (wisi-containing-action 2 5)
         (wisi-containing-action 6 7)
         (wisi-containing-action 1 8)))
@@ -1065,7 +1062,7 @@
         (wisi-containing-action 1 6)))
        ((identifier_list COLON aliased_opt constant_opt array_type_definition 
COLON_EQUAL expression aspect_specification_opt SEMICOLON )
         (progn
-        (wisi-statement-action 1 'statement-start 2 'statement-other 9 
'statement-end)
+        (wisi-statement-action 1 'statement-start 2 'statement-other 6 
'statement-other 9 'statement-end)
         (wisi-containing-action 2 5)
         (wisi-containing-action 6 7)
         (wisi-containing-action 1 8)))
@@ -1147,13 +1144,13 @@
         (wisi-containing-action 4 5)
         (wisi-motion-action 1 4 6))))
       (parameter_and_result_profile
-       ((formal_part RETURN null_exclusion_opt name )
+       ((formal_part RETURN null_exclusion_opt name_opt )
         (progn
         (wisi-statement-action
         2 'return-1
         4 'type)
         (wisi-containing-action 2 4)))
-       ((RETURN name )
+       ((RETURN name_opt )
         (wisi-statement-action 1 'return-2 2 'type))
        ((formal_part RETURN access_definition )
         (progn
@@ -1238,15 +1235,15 @@
        ((PROTECTED BODY IDENTIFIER aspect_specification_opt IS 
protected_operation_item_list_opt END identifier_opt SEMICOLON )
         (progn
         (wisi-statement-action 1 'block-start 3 'name 5 'block-middle 7 
'block-end 9 'statement-end)
-        (wisi-containing-action 2 3)
-        (wisi-containing-action 3 4)
+        (wisi-containing-action 1 3)
+        (wisi-containing-action 1 4)
         (wisi-containing-action 5 6)
         (wisi-motion-action 1 5 7))))
       (protected_body_stub
        ((PROTECTED BODY IDENTIFIER IS SEPARATE aspect_specification_opt 
SEMICOLON )
         (progn
         (wisi-statement-action 1 'statement-start 7 'statement-end)
-        (wisi-containing-action 2 3)
+        (wisi-containing-action 1 3)
         (wisi-containing-action 3 6))))
       (protected_definition
        ((declarative_part_opt PRIVATE declarative_part_opt END identifier_opt )
@@ -1273,13 +1270,13 @@
        ((PROTECTED TYPE IDENTIFIER discriminant_part_opt 
aspect_specification_opt IS NEW interface_list WITH protected_definition 
SEMICOLON )
         (progn
         (wisi-statement-action 1 'statement-start 3 'name 6 'block-start 11 
'statement-end)
-        (wisi-containing-action 2 3)
+        (wisi-containing-action 1 3)
         (wisi-containing-action 3 5)
         (wisi-containing-action 9 10)))
        ((PROTECTED TYPE IDENTIFIER discriminant_part_opt 
aspect_specification_opt IS protected_definition SEMICOLON )
         (progn
         (wisi-statement-action 1 'statement-start 3 'name 6 'block-start 8 
'statement-end)
-        (wisi-containing-action 2 3)
+        (wisi-containing-action 1 3)
         (wisi-containing-action 3 5)
         (wisi-containing-action 6 7))))
       (qualified_expression
@@ -1506,8 +1503,10 @@
         (wisi-statement-action 1 'statement-start 2 'block-middle 6 
'statement-end)
         (wisi-containing-action 2 5))))
       (subprogram_declaration
-       ((overriding_indicator_opt subprogram_specification SEMICOLON )
-        (wisi-statement-action 1 'statement-start 2 'block-middle 3 
'statement-end)))
+       ((overriding_indicator_opt subprogram_specification 
aspect_specification_opt SEMICOLON )
+        (progn
+        (wisi-statement-action 1 'statement-start 2 'block-middle 4 
'statement-end)
+        (wisi-containing-action 2 3))))
       (subprogram_default
        ((name ))
        ((BOX ))
@@ -1693,7 +1692,7 @@
       ((default . error) (WITH . (library_unit_renaming_declaration . 0)) (USE 
. (library_unit_renaming_declaration . 0)) (SEPARATE . 
(library_unit_renaming_declaration . 0)) (PROCEDURE . 
(library_unit_renaming_declaration . 0)) (PRIVATE . 
(library_unit_renaming_declaration . 0)) (PRAGMA . 
(library_unit_renaming_declaration . 0)) (PACKAGE . 
(library_unit_renaming_declaration . 0)) (OVERRIDING . 
(library_unit_renaming_declaration . 0)) (NOT . 
(library_unit_renaming_declaration . 0)) (LIMI [...]
       ((default . error) (SEMICOLON .  38))
       ((default . error) ($EOI . (context_item . 0)) (FUNCTION . (context_item 
. 0)) (GENERIC . (context_item . 0)) (LIMITED . (context_item . 0)) (NOT . 
(context_item . 0)) (OVERRIDING . (context_item . 0)) (PACKAGE . (context_item 
. 0)) (PRAGMA . (context_item . 0)) (PRIVATE . (context_item . 0)) (PROCEDURE . 
(context_item . 0)) (SEPARATE . (context_item . 0)) (USE . (context_item . 0)) 
(WITH . (context_item . 0)))
-      ((default . error) (RENAMES . (subprogram_specification . 0)) (WITH . 
(subprogram_specification . 0)) (IS . (subprogram_specification . 0)) 
(SEMICOLON . (subprogram_specification . 0)))
+      ((default . error) (RENAMES . (subprogram_specification . 0)) (IS . 
(subprogram_specification . 0)) (WITH . (subprogram_specification . 0)) 
(SEMICOLON . (subprogram_specification . 0)))
       ((default . error) ($EOI . (library_item . 2)) (FUNCTION . (library_item 
. 2)) (GENERIC . (library_item . 2)) (LIMITED . (library_item . 2)) (NOT . 
(library_item . 2)) (OVERRIDING . (library_item . 2)) (PACKAGE . (library_item 
. 2)) (PRAGMA . (library_item . 2)) (PRIVATE . (library_item . 2)) (PROCEDURE . 
(library_item . 2)) (SEPARATE . (library_item . 2)) (USE . (library_item . 2)) 
(WITH . (library_item . 2)))
       ((default . error) (WITH . (library_unit_declaration . 0)) (USE . 
(library_unit_declaration . 0)) (SEPARATE . (library_unit_declaration . 0)) 
(PROCEDURE . (library_unit_declaration . 0)) (PRIVATE . 
(library_unit_declaration . 0)) (PRAGMA . (library_unit_declaration . 0)) 
(PACKAGE . (library_unit_declaration . 0)) (OVERRIDING . 
(library_unit_declaration . 0)) (NOT . (library_unit_declaration . 0)) (LIMITED 
. (library_unit_declaration . 0)) (GENERIC . (library_unit_declaration . 0))  
[...]
       ((default . error) (WITH . (library_unit_renaming_declaration . 2)) (USE 
. (library_unit_renaming_declaration . 2)) (SEPARATE . 
(library_unit_renaming_declaration . 2)) (PROCEDURE . 
(library_unit_renaming_declaration . 2)) (PRIVATE . 
(library_unit_renaming_declaration . 2)) (PRAGMA . 
(library_unit_renaming_declaration . 2)) (PACKAGE . 
(library_unit_renaming_declaration . 2)) (OVERRIDING . 
(library_unit_renaming_declaration . 2)) (NOT . 
(library_unit_renaming_declaration . 2)) (LIMI [...]
@@ -1703,7 +1702,7 @@
       ((default . error) (USE . (package_declaration . 0)) (TYPE . 
(package_declaration . 0)) (TASK . (package_declaration . 0)) (SUBTYPE . 
(package_declaration . 0)) (PROTECTED . (package_declaration . 0)) (PROCEDURE . 
(package_declaration . 0)) (PRAGMA . (package_declaration . 0)) (PACKAGE . 
(package_declaration . 0)) (OVERRIDING . (package_declaration . 0)) (NOT . 
(package_declaration . 0)) (GENERIC . (package_declaration . 0)) (FUNCTION . 
(package_declaration . 0)) (FOR . (package_de [...]
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
-      ((default . error) (SEMICOLON .  126) (RENAMES .  127) (IS . 
(aspect_specification_opt . 0)) (WITH .  107))
+      ((default . error) (RENAMES .  126) (SEMICOLON . 
(aspect_specification_opt . 0)) (IS . (aspect_specification_opt . 0)) (WITH .  
107))
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
       ((default . error) (SEMICOLON .  124))
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
107))
@@ -1721,7 +1720,7 @@
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
       ((default . error) (COMMA .  118) (SEMICOLON .  119))
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
-      ((default . error) (DOT .  86) (TICK .  87) (IS . (parameter_profile_opt 
. 0)) (WITH . (parameter_profile_opt . 0)) (SEMICOLON . (parameter_profile_opt 
. 0)) (LEFT_PAREN .  88))
+      ((default . error) (DOT .  86) (TICK .  87) (IS . (parameter_profile_opt 
. 0)) (SEMICOLON . (parameter_profile_opt . 0)) (WITH . (parameter_profile_opt 
. 0)) (LEFT_PAREN .  88))
       ((default . error) (FUNCTION . (generic_formal_part . 1)) (PROCEDURE . 
(generic_formal_part . 1)) (PACKAGE . (generic_formal_part . 1)) (PRAGMA .  7) 
(WITH .  76) (TYPE .  75) (IDENTIFIER .  71))
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
@@ -1748,37 +1747,37 @@
       ((default . error) (COMMA .  94) (COLON .  93))
       ((default . error) (PACKAGE . (generic_formal_parameter_declaration . 
4)) (PROCEDURE . (generic_formal_parameter_declaration . 4)) (FUNCTION . 
(generic_formal_parameter_declaration . 4)) (WITH . 
(generic_formal_parameter_declaration . 4)) (TYPE . 
(generic_formal_parameter_declaration . 4)) (PRAGMA . 
(generic_formal_parameter_declaration . 4)) (IDENTIFIER . 
(generic_formal_parameter_declaration . 4)))
       ((default . error) (DOT .  86) (TICK .  87) (RETURN .  89) (LEFT_PAREN . 
 88))
-      ((default . error) (IDENTIFIER .  222) (CHARACTER_LITERAL .  224) 
(STRING_LITERAL .  223) (ALL .  225))
-      ((default . error) (LEFT_PAREN .  217) (ACCESS .  214) (DELTA .  215) 
(DIGITS .  216) (MOD .  218) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
-      ((default . error) (STRING_LITERAL .  48) (CHARACTER_LITERAL .  168) 
(RIGHT_PAREN . ((association_opt . 0) (expression_opt . 0))) (COMMA . 
((association_opt . 0) (expression_opt . 0))) (EQUAL_GREATER . 
(discrete_choice_list . 0)) (BAR . (discrete_choice_list . 0)) (PLUS .  142) 
(MINUS .  141) (IDENTIFIER .  210) (OTHERS .  170) (ABS .  144) (NOT .  169) 
(NULL .  148) (NEW .  146) (LEFT_PAREN .  145))
-      ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (ACCESS . (null_exclusion_opt . 0)) (NOT .  206))
+      ((default . error) (IDENTIFIER .  224) (CHARACTER_LITERAL .  226) 
(STRING_LITERAL .  225) (ALL .  227))
+      ((default . error) (LEFT_PAREN .  219) (ACCESS .  216) (DELTA .  217) 
(DIGITS .  218) (MOD .  220) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
+      ((default . error) (STRING_LITERAL .  48) (CHARACTER_LITERAL .  169) 
(RIGHT_PAREN . ((association_opt . 0) (expression_opt . 0))) (COMMA . 
((association_opt . 0) (expression_opt . 0))) (EQUAL_GREATER . 
(discrete_choice_list . 0)) (BAR . (discrete_choice_list . 0)) (PLUS .  143) 
(MINUS .  142) (IDENTIFIER .  212) (OTHERS .  171) (ABS .  145) (NOT .  170) 
(NULL .  149) (NEW .  147) (LEFT_PAREN .  146))
+      ((default . error) (SEMICOLON . (name_opt . 0)) (WITH . (name_opt . 0)) 
(IS . (name_opt . 0)) (RENAMES . (name_opt . 0)) (COLON_EQUAL . (name_opt . 0)) 
(RIGHT_PAREN . (name_opt . 0)) (DO . (name_opt . 0)) (ACCESS . 
(null_exclusion_opt . 0)) (NOT .  207) (IDENTIFIER .  47) (CHARACTER_LITERAL .  
49) (STRING_LITERAL .  48))
       ((default . error) (DO . (name . 5)) (OF . (name . 5)) (WHILE . (name . 
5)) (SELECT . (name . 5)) (REQUEUE . (name . 5)) (RAISE . (name . 5)) (PRAGMA . 
(name . 5)) (NULL . (name . 5)) (LOOP . (name . 5)) (IF . (name . 5)) (GOTO . 
(name . 5)) (FOR . (name . 5)) (EXIT . (name . 5)) (DELAY . (name . 5)) 
(DECLARE . (name . 5)) (CASE . (name . 5)) (BEGIN . (name . 5)) (ABORT . (name 
. 5)) (ACCEPT . (name . 5)) (CHARACTER_LITERAL . (name . 5)) (STRING_LITERAL . 
(name . 5)) (IDENTIFIER .  [...]
-      ((default . error) (RETURN .  205))
-      ((default . error) (RENAMES . (subprogram_specification . 1)) (WITH . 
(subprogram_specification . 1)) (IS . (subprogram_specification . 1)) 
(SEMICOLON . (subprogram_specification . 1)))
-      ((default . error) (ACCESS . (mode_opt . 0)) (NOT . (mode_opt . 0)) 
(IDENTIFIER . (mode_opt . 0)) (STRING_LITERAL . (mode_opt . 0)) 
(CHARACTER_LITERAL . (mode_opt . 0)) (IN .  202) (OUT .  203))
-      ((default . error) (IDENTIFIER .  201))
+      ((default . error) (RETURN .  206))
+      ((default . error) (RENAMES . (subprogram_specification . 1)) (IS . 
(subprogram_specification . 1)) (WITH . (subprogram_specification . 1)) 
(SEMICOLON . (subprogram_specification . 1)))
+      ((default . error) (ACCESS . (mode_opt . 0)) (NOT . (mode_opt . 0)) 
(IDENTIFIER . (mode_opt . 0)) (STRING_LITERAL . (mode_opt . 0)) 
(CHARACTER_LITERAL . (mode_opt . 0)) (IN .  203) (OUT .  204))
+      ((default . error) (IDENTIFIER .  202))
       ((default . error) (WITH . (generic_formal_parameter_declarations . 1)) 
(TYPE . (generic_formal_parameter_declarations . 1)) (PRAGMA . 
(generic_formal_parameter_declarations . 1)) (IDENTIFIER . 
(generic_formal_parameter_declarations . 1)) (FUNCTION . 
(generic_formal_parameter_declarations . 1)) (PROCEDURE . 
(generic_formal_parameter_declarations . 1)) (PACKAGE . 
(generic_formal_parameter_declarations . 1)))
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
-      ((default . error) (IS .  198) (SEMICOLON . (aspect_specification_opt . 
0)) (WITH .  107))
-      ((default . error) (WITH . (discriminant_part_opt . 0)) (SEMICOLON . 
(discriminant_part_opt . 0)) (IS . (discriminant_part_opt . 0)) (LEFT_PAREN .  
196))
+      ((default . error) (IS .  199) (SEMICOLON . (aspect_specification_opt . 
0)) (WITH .  107))
+      ((default . error) (WITH . (discriminant_part_opt . 0)) (SEMICOLON . 
(discriminant_part_opt . 0)) (IS . (discriminant_part_opt . 0)) (LEFT_PAREN .  
197))
+      ((default . error) (DOT .  86) (TICK .  87) (RENAMES .  196) (LEFT_PAREN 
.  105))
       ((default . error) (DOT .  86) (TICK .  87) (RENAMES .  195) (LEFT_PAREN 
.  105))
       ((default . error) (DOT .  86) (TICK .  87) (RENAMES .  194) (LEFT_PAREN 
.  105))
-      ((default . error) (DOT .  86) (TICK .  87) (RENAMES .  193) (LEFT_PAREN 
.  105))
-      ((default . error) (COMMA .  118) (SEMICOLON .  192))
+      ((default . error) (COMMA .  118) (SEMICOLON .  193))
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
-      ((default . error) (NEW .  190))
-      ((default . error) (IDENTIFIER .  47) (STRING_LITERAL .  48) 
(CHARACTER_LITERAL .  168) (RIGHT_PAREN . ((association_opt . 0) 
(expression_opt . 0))) (COMMA . ((association_opt . 0) (expression_opt . 0))) 
(EQUAL_GREATER . (discrete_choice_list . 0)) (BAR . (discrete_choice_list . 0)) 
(PLUS .  142) (MINUS .  141) (OTHERS .  170) (ABS .  144) (NOT .  169) (NULL .  
148) (NEW .  146) (LEFT_PAREN .  145))
+      ((default . error) (NEW .  191))
+      ((default . error) (IDENTIFIER .  47) (STRING_LITERAL .  48) 
(CHARACTER_LITERAL .  169) (RIGHT_PAREN . ((association_opt . 0) 
(expression_opt . 0))) (COMMA . ((association_opt . 0) (expression_opt . 0))) 
(EQUAL_GREATER . (discrete_choice_list . 0)) (BAR . (discrete_choice_list . 0)) 
(PLUS .  143) (MINUS .  142) (OTHERS .  171) (ABS .  145) (NOT .  170) (NULL .  
149) (NEW .  147) (LEFT_PAREN .  146))
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
-      ((default . error) (SEMICOLON . ((association_opt . 0) (expression_opt . 
0))) (IS . ((association_opt . 0) (expression_opt . 0))) (COMMA . 
((association_opt . 0) (expression_opt . 0))) (EQUAL_GREATER . 
(discrete_choice_list . 0)) (BAR . (discrete_choice_list . 0)) (OTHERS .  170) 
(IDENTIFIER .  47) (CHARACTER_LITERAL .  168) (STRING_LITERAL .  48) (PLUS .  
142) (MINUS .  141) (ABS .  144) (NOT .  169) (NULL .  148) (NEW .  146) 
(LEFT_PAREN .  145))
-      ((default . error) (IS .  167))
+      ((default . error) (SEMICOLON . ((association_opt . 0) (expression_opt . 
0))) (IS . ((association_opt . 0) (expression_opt . 0))) (COMMA . 
((association_opt . 0) (expression_opt . 0))) (EQUAL_GREATER . 
(discrete_choice_list . 0)) (BAR . (discrete_choice_list . 0)) (OTHERS .  171) 
(IDENTIFIER .  47) (CHARACTER_LITERAL .  169) (STRING_LITERAL .  48) (PLUS .  
143) (MINUS .  142) (ABS .  145) (NOT .  170) (NULL .  149) (NEW .  147) 
(LEFT_PAREN .  146))
+      ((default . error) (IS .  168))
       ((default . error) (DOT .  86) (TICK .  87) (IS . 
(aspect_specification_opt . 0)) (WITH .  107) (LEFT_PAREN .  105))
       ((default . error) (OR . (pragma . 1)) (THEN . (pragma . 1)) (WHEN . 
(pragma . 1)) (EXCEPTION . (pragma . 1)) (LESS_LESS . (pragma . 1)) 
(STRING_LITERAL . (pragma . 1)) (CHARACTER_LITERAL . (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 . [...]
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  143) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (SEMICOLON .  126))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  144) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
107))
       ((default . error) (COMMA .  118) (SEMICOLON .  140))
       ((default . error) (DOT .  86) (TICK .  87) (IS . ( 104 
(aspect_specification_opt . 0))) (WITH .  107) (LEFT_PAREN .  105))
       ((default . error) (RIGHT_PAREN . (parameter_profile_opt . 1)) 
(COLON_EQUAL . (parameter_profile_opt . 1)) (RENAMES . (parameter_profile_opt . 
1)) (IS . (parameter_profile_opt . 1)) (DO . (parameter_profile_opt . 1)) (WITH 
. (parameter_profile_opt . 1)) (SEMICOLON . (parameter_profile_opt . 1)) (WHEN 
. (parameter_profile_opt . 1)))
-      ((default . error) (RENAMES . (procedure_specification . 0)) (IS . 
(procedure_specification . 0)) (WITH . (procedure_specification . 0)) 
(SEMICOLON . (procedure_specification . 0)))
+      ((default . error) (RENAMES . (procedure_specification . 0)) (IS . 
(procedure_specification . 0)) (SEMICOLON . (procedure_specification . 0)) 
(WITH . (procedure_specification . 0)))
       ((default . error) (DOT .  86) (TICK .  87) (RIGHT_PAREN .  139) 
(LEFT_PAREN .  105))
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
       ((default . error) (WITH . (use_clause . 0)) (SEPARATE . (use_clause . 
0)) (LIMITED . (use_clause . 0)) ($EOI . (use_clause . 0)) (PRIVATE . 
(use_clause . 0)) (END . (use_clause . 0)) (BEGIN . (use_clause . 0)) 
(IDENTIFIER . (use_clause . 0)) (ENTRY . (use_clause . 0)) (FOR . (use_clause . 
0)) (FUNCTION . (use_clause . 0)) (GENERIC . (use_clause . 0)) (NOT . 
(use_clause . 0)) (OVERRIDING . (use_clause . 0)) (PACKAGE . (use_clause . 0)) 
(PRAGMA . (use_clause . 0)) (PROCEDURE . (use_ [...]
@@ -1788,98 +1787,100 @@
       ((default . error) (SEMICOLON .  135))
       ((default . error) (WITH . (generic_package_declaration . 0)) (SEPARATE 
. (generic_package_declaration . 0)) (LIMITED . (generic_package_declaration . 
0)) ($EOI . (generic_package_declaration . 0)) (END . 
(generic_package_declaration . 0)) (PRIVATE . (generic_package_declaration . 
0)) (USE . (generic_package_declaration . 0)) (TYPE . 
(generic_package_declaration . 0)) (TASK . (generic_package_declaration . 0)) 
(SUBTYPE . (generic_package_declaration . 0)) (PROTECTED . (generic_pack [...]
       ((default . error) (DOT .  86) (TICK .  87) (IS . 
(aspect_specification_opt . 0)) (WITH .  107) (LEFT_PAREN .  105))
-      ((default . error) (END . (subprogram_declaration . 0)) (BEGIN . 
(subprogram_declaration . 0)) (IDENTIFIER . (subprogram_declaration . 0)) 
(ENTRY . (subprogram_declaration . 0)) (FOR . (subprogram_declaration . 0)) 
(PROTECTED . (subprogram_declaration . 0)) (SUBTYPE . (subprogram_declaration . 
0)) (TASK . (subprogram_declaration . 0)) (TYPE . (subprogram_declaration . 0)) 
($EOI . (subprogram_declaration . 0)) (FUNCTION . (subprogram_declaration . 0)) 
(GENERIC . (subprogram_declarat [...]
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
-      ((default . error) (IS .  133))
-      ((default . error) (DOT .  86) (TICK .  87) (WITH . 
(parameter_profile_opt . 0)) (IS . ( 132 (parameter_profile_opt . 0))) 
(SEMICOLON . (parameter_profile_opt . 0)) (RENAMES . (parameter_profile_opt . 
0)) (LEFT_PAREN .  88))
-      ((default . error) (DOT .  86) (TICK .  87) (IS .  131) (RETURN .  89) 
(LEFT_PAREN .  88))
-      ((default . error) (NEW .  380))
-      ((default . error) (NEW .  379))
-      ((default . error) (BEGIN . (declarative_part_opt . 0)) (USE .  11) 
(SUBTYPE .  289) (PRAGMA .  7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . 
(overriding_indicator_opt . 2)) (PROCEDURE . (overriding_indicator_opt . 2)) 
(ENTRY . (overriding_indicator_opt . 2)) (FOR .  286) (IDENTIFIER .  285) (TYPE 
.  291) (GENERIC .  2) (PROTECTED .  288) (TASK .  290) (PACKAGE .  287))
+      ((default . error) (SEMICOLON .  132) (IS .  133))
+      ((default . error) (DOT .  86) (TICK .  87) (IS . ( 131 
(parameter_profile_opt . 0))) (SEMICOLON . (parameter_profile_opt . 0)) (WITH . 
(parameter_profile_opt . 0)) (RENAMES . (parameter_profile_opt . 0)) 
(LEFT_PAREN .  88))
+      ((default . error) (DOT .  86) (TICK .  87) (IS .  130) (RETURN .  89) 
(LEFT_PAREN .  88))
+      ((default . error) (NEW .  382))
+      ((default . error) (NEW .  381))
+      ((default . error) (TYPE . (subprogram_declaration . 0)) (TASK . 
(subprogram_declaration . 0)) (SUBTYPE . (subprogram_declaration . 0)) 
(PROTECTED . (subprogram_declaration . 0)) (FOR . (subprogram_declaration . 0)) 
(ENTRY . (subprogram_declaration . 0)) (IDENTIFIER . (subprogram_declaration . 
0)) (BEGIN . (subprogram_declaration . 0)) (END . (subprogram_declaration . 0)) 
(WITH . (subprogram_declaration . 0)) (USE . (subprogram_declaration . 0)) 
(SEPARATE . (subprogram_declaration  [...]
+      ((default . error) (BEGIN . (declarative_part_opt . 0)) (USE .  11) 
(SUBTYPE .  291) (PRAGMA .  7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . 
(overriding_indicator_opt . 2)) (PROCEDURE . (overriding_indicator_opt . 2)) 
(ENTRY . (overriding_indicator_opt . 2)) (FOR .  288) (IDENTIFIER .  287) (TYPE 
.  293) (GENERIC .  2) (PROTECTED .  290) (TASK .  292) (PACKAGE .  289))
       ((default . error) (DOT .  86) (TICK .  87) (SEMICOLON . 
(aspect_specification_opt . 0)) (WITH .  107) (LEFT_PAREN .  105))
       ((default . error) (BEGIN . (generic_subprogram_declaration . 0)) 
(IDENTIFIER . (generic_subprogram_declaration . 0)) (ENTRY . 
(generic_subprogram_declaration . 0)) (FOR . (generic_subprogram_declaration . 
0)) (FUNCTION . (generic_subprogram_declaration . 0)) (GENERIC . 
(generic_subprogram_declaration . 0)) (NOT . (generic_subprogram_declaration . 
0)) (OVERRIDING . (generic_subprogram_declaration . 0)) (PACKAGE . 
(generic_subprogram_declaration . 0)) (PRAGMA . (generic_subprogram_d [...]
-      ((default . error) (COMMA .  118) (SEMICOLON .  376))
+      ((default . error) (COMMA .  118) (SEMICOLON .  378))
       ((default . error) (USE . (use_clause . 2)) (TYPE . (use_clause . 2)) 
(TASK . (use_clause . 2)) (SUBTYPE . (use_clause . 2)) (PROTECTED . (use_clause 
. 2)) (PROCEDURE . (use_clause . 2)) (PRAGMA . (use_clause . 2)) (PACKAGE . 
(use_clause . 2)) (OVERRIDING . (use_clause . 2)) (NOT . (use_clause . 2)) 
(GENERIC . (use_clause . 2)) (FUNCTION . (use_clause . 2)) (FOR . (use_clause . 
2)) (ENTRY . (use_clause . 2)) (IDENTIFIER . (use_clause . 2)) (BEGIN . 
(use_clause . 2)) (END . (use_cla [...]
       ((default . error) (DOT .  86) (TICK .  87) (SEMICOLON . (name_list . 
1)) (COMMA . (name_list . 1)) (LEFT_PAREN .  105))
-      ((default . error) (PROTECTED .  372) (TASK .  373) (PACKAGE .  371) 
(NOT .  4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) 
(PROCEDURE . (overriding_indicator_opt . 2)))
+      ((default . error) (PROTECTED .  374) (TASK .  375) (PACKAGE .  373) 
(NOT .  4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) 
(PROCEDURE . (overriding_indicator_opt . 2)))
       ((default . error) ($EOI . (with_clause . 2)) (FUNCTION . (with_clause . 
2)) (GENERIC . (with_clause . 2)) (LIMITED . (with_clause . 2)) (NOT . 
(with_clause . 2)) (OVERRIDING . (with_clause . 2)) (PACKAGE . (with_clause . 
2)) (PRAGMA . (with_clause . 2)) (PRIVATE . (with_clause . 2)) (PROCEDURE . 
(with_clause . 2)) (SEPARATE . (with_clause . 2)) (USE . (with_clause . 2)) 
(WITH . (with_clause . 2)))
+      ((default . error) (SEMICOLON .  132))
       ((default . error) (IDENTIFIER . (unary_adding_operator . 1)) 
(STRING_LITERAL . (unary_adding_operator . 1)) (CHARACTER_LITERAL . 
(unary_adding_operator . 1)) (ABS . (unary_adding_operator . 1)) (LEFT_PAREN . 
(unary_adding_operator . 1)) (NEW . (unary_adding_operator . 1)) (NOT . 
(unary_adding_operator . 1)) (NULL . (unary_adding_operator . 1)))
       ((default . error) (IDENTIFIER . (unary_adding_operator . 0)) 
(STRING_LITERAL . (unary_adding_operator . 0)) (CHARACTER_LITERAL . 
(unary_adding_operator . 0)) (ABS . (unary_adding_operator . 0)) (LEFT_PAREN . 
(unary_adding_operator . 0)) (NEW . (unary_adding_operator . 0)) (NOT . 
(unary_adding_operator . 0)) (NULL . (unary_adding_operator . 0)))
-      ((default . error) (EQUAL_GREATER .  369) (RIGHT_PAREN . (name . 0)) 
(COMMA . (name . 0)) (STAR_STAR . (name . 0)) (REM . (name . 0)) (MOD . (name . 
0)) (STAR . (name . 0)) (SLASH . (name . 0)) (SLASH_EQUAL . (name . 0)) 
(LESS_EQUAL . (name . 0)) (LESS . (name . 0)) (GREATER_EQUAL . (name . 0)) 
(GREATER . (name . 0)) (EQUAL . (name . 0)) (NOT . (name . 0)) (IN . (name . 
0)) (AMPERSAND . (name . 0)) (MINUS . (name . 0)) (PLUS . (name . 0)) 
(LEFT_PAREN . (name . 0)) (AND . (name . 0) [...]
-      ((default . error) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (IF .  364) (CASE .  362) (FOR .  363) (RIGHT_PAREN . 
((association_opt . 0) (expression_opt . 0))) (COMMA . ((association_opt . 0) 
(expression_opt . 0))) (EQUAL_GREATER . (discrete_choice_list . 0)) (BAR . 
(discrete_choice_list . 0)) (PLUS .  142) (MINUS .  141) (OTHERS .  170) (ABS . 
 144) (NOT .  169) (IDENTIFIER .  47) (CHARACTER_LITERAL .  168) 
(STRING_LITERAL .  48) (NULL .  226) (NEW .  146) (LEFT_PAREN .  145))
+      ((default . error) (EQUAL_GREATER .  371) (RIGHT_PAREN . (name . 0)) 
(COMMA . (name . 0)) (STAR_STAR . (name . 0)) (REM . (name . 0)) (MOD . (name . 
0)) (STAR . (name . 0)) (SLASH . (name . 0)) (SLASH_EQUAL . (name . 0)) 
(LESS_EQUAL . (name . 0)) (LESS . (name . 0)) (GREATER_EQUAL . (name . 0)) 
(GREATER . (name . 0)) (EQUAL . (name . 0)) (NOT . (name . 0)) (IN . (name . 
0)) (AMPERSAND . (name . 0)) (MINUS . (name . 0)) (PLUS . (name . 0)) 
(LEFT_PAREN . (name . 0)) (AND . (name . 0) [...]
+      ((default . error) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (IF .  366) (CASE .  364) (FOR .  365) (RIGHT_PAREN . 
((association_opt . 0) (expression_opt . 0))) (COMMA . ((association_opt . 0) 
(expression_opt . 0))) (EQUAL_GREATER . (discrete_choice_list . 0)) (BAR . 
(discrete_choice_list . 0)) (PLUS .  143) (MINUS .  142) (OTHERS .  171) (ABS . 
 145) (NOT .  170) (IDENTIFIER .  47) (CHARACTER_LITERAL .  169) 
(STRING_LITERAL .  48) (NULL .  228) (NEW .  147) (LEFT_PAREN .  146))
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
-      ((default . error) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN .  145))
+      ((default . error) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN .  146))
       ((default . error) (OF . (primary . 0)) (COLON_EQUAL . (primary . 0)) 
(DO . (primary . 0)) (LOOP . (primary . 0)) (ELSIF . (primary . 0)) (ELSE . 
(primary . 0)) (DIGITS . (primary . 0)) (RIGHT_PAREN . (primary . 0)) (COMMA . 
(primary . 0)) (RANGE . (primary . 0)) (THEN . (primary . 0)) (WITH . (primary 
. 0)) (BAR . (primary . 0)) (EQUAL_GREATER . (primary . 0)) (IS . (primary . 
0)) (IN . (primary . 0)) (NOT . (primary . 0)) (EQUAL . (primary . 0)) (GREATER 
. (primary . 0)) (GREATER [...]
       ((default . error) (OF . (primary . 1)) (COLON_EQUAL . (primary . 1)) 
(DO . (primary . 1)) (LOOP . (primary . 1)) (ELSIF . (primary . 1)) (ELSE . 
(primary . 1)) (DIGITS . (primary . 1)) (RIGHT_PAREN . (primary . 1)) (COMMA . 
(primary . 1)) (RANGE . (primary . 1)) (THEN . (primary . 1)) (WITH . (primary 
. 1)) (BAR . (primary . 1)) (EQUAL_GREATER . (primary . 1)) (IS . (primary . 
1)) (IN . (primary . 1)) (NOT . (primary . 1)) (EQUAL . (primary . 1)) (GREATER 
. (primary . 1)) (GREATER [...]
       ((default . error) (COMMA . (pragma_argument_association . 1)) 
(RIGHT_PAREN . (pragma_argument_association . 1)))
       ((default . error) (OF . (term . 0)) (COLON_EQUAL . (term . 0)) (DO . 
(term . 0)) (LOOP . (term . 0)) (ELSIF . (term . 0)) (ELSE . (term . 0)) 
(DIGITS . (term . 0)) (RIGHT_PAREN . (term . 0)) (COMMA . (term . 0)) (RANGE . 
(term . 0)) (THEN . (term . 0)) (WITH . (term . 0)) (BAR . (term . 0)) 
(EQUAL_GREATER . (term . 0)) (IS . (term . 0)) (IN . (term . 0)) (NOT . (term . 
0)) (EQUAL . (term . 0)) (GREATER . (term . 0)) (GREATER_EQUAL . (term . 0)) 
(LESS . (term . 0)) (LESS_EQUAL . (t [...]
       ((default . error) (DOT .  86) (OF . (primary . 2)) (COLON_EQUAL . 
(primary . 2)) (DO . (primary . 2)) (LOOP . (primary . 2)) (BAR . (primary . 
2)) (COMMA . (primary . 2)) (RIGHT_PAREN . (primary . 2)) (ELSIF . (primary . 
2)) (ELSE . (primary . 2)) (EQUAL_GREATER . (primary . 2)) (DIGITS . (primary . 
2)) (RANGE . (primary . 2)) (THEN . (primary . 2)) (DOT_DOT . (primary . 2)) 
(WITH . (primary . 2)) (IS . (primary . 2)) (IN . (primary . 2)) (NOT . 
(primary . 2)) (EQUAL . (primary .  [...]
       ((default . error) (RIGHT_PAREN . (pragma_argument_association_list . 
0)) (COMMA . (pragma_argument_association_list . 0)))
-      ((default . error) (COMMA .  359) (RIGHT_PAREN .  360))
-      ((default . error) (OF . (factor . 1)) (COLON_EQUAL . (factor . 1)) (DO 
. (factor . 1)) (LOOP . (factor . 1)) (ELSIF . (factor . 1)) (ELSE . (factor . 
1)) (DIGITS . (factor . 1)) (COMMA . (factor . 1)) (RIGHT_PAREN . (factor . 1)) 
(RANGE . (factor . 1)) (THEN . (factor . 1)) (WITH . (factor . 1)) (BAR . 
(factor . 1)) (EQUAL_GREATER . (factor . 1)) (IS . (factor . 1)) (SLASH_EQUAL . 
(factor . 1)) (LESS_EQUAL . (factor . 1)) (LESS . (factor . 1)) (GREATER_EQUAL 
. (factor . 1)) (GREAT [...]
-      ((default . error) (AND .  357) (DO . (expression . 1)) (LOOP . 
(expression . 1)) (ELSIF . (expression . 1)) (ELSE . (expression . 1)) 
(EQUAL_GREATER . (expression . 1)) (DIGITS . (expression . 1)) (COMMA . 
(expression . 1)) (RIGHT_PAREN . (expression . 1)) (RANGE . (expression . 1)) 
(THEN . (expression . 1)) (WITH . (expression . 1)) (SEMICOLON . (expression . 
1)) (IS . (expression . 1)))
-      ((default . error) (AND .  356) (DO . (expression . 2)) (LOOP . 
(expression . 2)) (ELSIF . (expression . 2)) (ELSE . (expression . 2)) 
(EQUAL_GREATER . (expression . 2)) (DIGITS . (expression . 2)) (COMMA . 
(expression . 2)) (RIGHT_PAREN . (expression . 2)) (RANGE . (expression . 2)) 
(THEN . (expression . 2)) (WITH . (expression . 2)) (SEMICOLON . (expression . 
2)) (IS . (expression . 2)))
-      ((default . error) (OR .  355) (DO . (expression . 3)) (LOOP . 
(expression . 3)) (ELSIF . (expression . 3)) (ELSE . (expression . 3)) 
(EQUAL_GREATER . (expression . 3)) (DIGITS . (expression . 3)) (COMMA . 
(expression . 3)) (RIGHT_PAREN . (expression . 3)) (RANGE . (expression . 3)) 
(THEN . (expression . 3)) (WITH . (expression . 3)) (SEMICOLON . (expression . 
3)) (IS . (expression . 3)))
-      ((default . error) (OR .  354) (DO . (expression . 4)) (LOOP . 
(expression . 4)) (ELSIF . (expression . 4)) (ELSE . (expression . 4)) 
(EQUAL_GREATER . (expression . 4)) (DIGITS . (expression . 4)) (COMMA . 
(expression . 4)) (RIGHT_PAREN . (expression . 4)) (RANGE . (expression . 4)) 
(THEN . (expression . 4)) (WITH . (expression . 4)) (SEMICOLON . (expression . 
4)) (IS . (expression . 4)))
-      ((default . error) (XOR .  353) (DO . (expression . 5)) (LOOP . 
(expression . 5)) (ELSIF . (expression . 5)) (ELSE . (expression . 5)) 
(EQUAL_GREATER . (expression . 5)) (DIGITS . (expression . 5)) (COMMA . 
(expression . 5)) (RIGHT_PAREN . (expression . 5)) (RANGE . (expression . 5)) 
(THEN . (expression . 5)) (WITH . (expression . 5)) (SEMICOLON . (expression . 
5)) (IS . (expression . 5)))
-      ((default . error) (XOR .  352) (OR .  351) (AND .  350) (DO . 
(expression . 0)) (LOOP . (expression . 0)) (ELSIF . (expression . 0)) (ELSE . 
(expression . 0)) (EQUAL_GREATER . (expression . 0)) (DIGITS . (expression . 
0)) (COMMA . (expression . 0)) (RIGHT_PAREN . (expression . 0)) (RANGE . 
(expression . 0)) (THEN . (expression . 0)) (WITH . (expression . 0)) 
(SEMICOLON . (expression . 0)) (IS . (expression . 0)))
-      ((default . error) (IN .  268) (NOT .  269) (DO . (relation . 0)) (LOOP 
. (relation . 0)) (COMMA . (relation . 0)) (RIGHT_PAREN . (relation . 0)) 
(ELSIF . (relation . 0)) (ELSE . (relation . 0)) (EQUAL_GREATER . (relation . 
0)) (DIGITS . (relation . 0)) (RANGE . (relation . 0)) (THEN . (relation . 0)) 
(SEMICOLON . (relation . 0)) (WITH . (relation . 0)) (IS . (relation . 0)) (AND 
. (relation . 0)) (OR . (relation . 0)) (XOR . (relation . 0)) (EQUAL .  262) 
(SLASH_EQUAL .  267) (LES [...]
-      ((default . error) (OF . (term_list . 0)) (COLON_EQUAL . (term_list . 
0)) (DO . (term_list . 0)) (LOOP . (term_list . 0)) (ELSIF . (term_list . 0)) 
(ELSE . (term_list . 0)) (DIGITS . (term_list . 0)) (COMMA . (term_list . 0)) 
(RIGHT_PAREN . (term_list . 0)) (RANGE . (term_list . 0)) (THEN . (term_list . 
0)) (WITH . (term_list . 0)) (BAR . (term_list . 0)) (EQUAL_GREATER . 
(term_list . 0)) (IS . (term_list . 0)) (SLASH_EQUAL . (term_list . 0)) 
(LESS_EQUAL . (term_list . 0)) (LESS .  [...]
-      ((default . error) (OF . (simple_expression . 1)) (COLON_EQUAL . 
(simple_expression . 1)) (DO . (simple_expression . 1)) (LOOP . 
(simple_expression . 1)) (ELSIF . (simple_expression . 1)) (ELSE . 
(simple_expression . 1)) (DIGITS . (simple_expression . 1)) (RIGHT_PAREN . 
(simple_expression . 1)) (COMMA . (simple_expression . 1)) (RANGE . 
(simple_expression . 1)) (THEN . (simple_expression . 1)) (WITH . 
(simple_expression . 1)) (BAR . (simple_expression . 1)) (EQUAL_GREATER . 
(simple [...]
-      ((default . error) (ABS .  144) (NOT .  147) (NULL .  148) (NEW .  146) 
(IDENTIFIER .  47) (CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN 
.  145))
-      ((default . error) (IS .  338))
-      ((default . error) (END . (declarative_part_opt . 0)) (PRIVATE . 
(declarative_part_opt . 0)) (USE .  11) (SUBTYPE .  289) (PRAGMA .  7) (NOT .  
4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) (PROCEDURE . 
(overriding_indicator_opt . 2)) (ENTRY . (overriding_indicator_opt . 2)) (FOR . 
 286) (IDENTIFIER .  285) (TYPE .  291) (GENERIC .  2) (PROTECTED .  288) (TASK 
.  290) (PACKAGE .  287))
-      ((default . error) (SEMICOLON . (name . 1)) (IS . (name . 1)) (WITH . 
(name . 1)) (RANGE . (name . 1)) (TICK . (name . 1)) (LEFT_PAREN . (name . 1)) 
(DOT . (name . 1)) (PLUS . (name . 1)) (MINUS . (name . 1)) (AMPERSAND . (name 
. 1)) (DOT_DOT . (name . 1)) (IN . (name . 1)) (NOT . (name . 1)) (EQUAL . 
(name . 1)) (GREATER . (name . 1)) (GREATER_EQUAL . (name . 1)) (LESS . (name . 
1)) (LESS_EQUAL . (name . 1)) (SLASH_EQUAL . (name . 1)) (RIGHT_PAREN . (name . 
1)) (COMMA . (name . 1) [...]
-      ((default . error) (NULL .  282) (NEW .  146) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN .  145))
+      ((default . error) (COMMA .  361) (RIGHT_PAREN .  362))
+      ((default . error) (OF . (factor . 1)) (COLON_EQUAL . (factor . 1)) (DO 
. (factor . 1)) (LOOP . (factor . 1)) (ELSIF . (factor . 1)) (ELSE . (factor . 
1)) (DIGITS . (factor . 1)) (COMMA . (factor . 1)) (RIGHT_PAREN . (factor . 1)) 
(RANGE . (factor . 1)) (THEN . (factor . 1)) (WITH . (factor . 1)) (BAR . 
(factor . 1)) (EQUAL_GREATER . (factor . 1)) (IS . (factor . 1)) (SLASH_EQUAL . 
(factor . 1)) (LESS_EQUAL . (factor . 1)) (LESS . (factor . 1)) (GREATER_EQUAL 
. (factor . 1)) (GREAT [...]
+      ((default . error) (AND .  359) (DO . (expression . 1)) (LOOP . 
(expression . 1)) (ELSIF . (expression . 1)) (ELSE . (expression . 1)) 
(EQUAL_GREATER . (expression . 1)) (DIGITS . (expression . 1)) (COMMA . 
(expression . 1)) (RIGHT_PAREN . (expression . 1)) (RANGE . (expression . 1)) 
(THEN . (expression . 1)) (WITH . (expression . 1)) (SEMICOLON . (expression . 
1)) (IS . (expression . 1)))
+      ((default . error) (AND .  358) (DO . (expression . 2)) (LOOP . 
(expression . 2)) (ELSIF . (expression . 2)) (ELSE . (expression . 2)) 
(EQUAL_GREATER . (expression . 2)) (DIGITS . (expression . 2)) (COMMA . 
(expression . 2)) (RIGHT_PAREN . (expression . 2)) (RANGE . (expression . 2)) 
(THEN . (expression . 2)) (WITH . (expression . 2)) (SEMICOLON . (expression . 
2)) (IS . (expression . 2)))
+      ((default . error) (OR .  357) (DO . (expression . 3)) (LOOP . 
(expression . 3)) (ELSIF . (expression . 3)) (ELSE . (expression . 3)) 
(EQUAL_GREATER . (expression . 3)) (DIGITS . (expression . 3)) (COMMA . 
(expression . 3)) (RIGHT_PAREN . (expression . 3)) (RANGE . (expression . 3)) 
(THEN . (expression . 3)) (WITH . (expression . 3)) (SEMICOLON . (expression . 
3)) (IS . (expression . 3)))
+      ((default . error) (OR .  356) (DO . (expression . 4)) (LOOP . 
(expression . 4)) (ELSIF . (expression . 4)) (ELSE . (expression . 4)) 
(EQUAL_GREATER . (expression . 4)) (DIGITS . (expression . 4)) (COMMA . 
(expression . 4)) (RIGHT_PAREN . (expression . 4)) (RANGE . (expression . 4)) 
(THEN . (expression . 4)) (WITH . (expression . 4)) (SEMICOLON . (expression . 
4)) (IS . (expression . 4)))
+      ((default . error) (XOR .  355) (DO . (expression . 5)) (LOOP . 
(expression . 5)) (ELSIF . (expression . 5)) (ELSE . (expression . 5)) 
(EQUAL_GREATER . (expression . 5)) (DIGITS . (expression . 5)) (COMMA . 
(expression . 5)) (RIGHT_PAREN . (expression . 5)) (RANGE . (expression . 5)) 
(THEN . (expression . 5)) (WITH . (expression . 5)) (SEMICOLON . (expression . 
5)) (IS . (expression . 5)))
+      ((default . error) (XOR .  354) (OR .  353) (AND .  352) (DO . 
(expression . 0)) (LOOP . (expression . 0)) (ELSIF . (expression . 0)) (ELSE . 
(expression . 0)) (EQUAL_GREATER . (expression . 0)) (DIGITS . (expression . 
0)) (COMMA . (expression . 0)) (RIGHT_PAREN . (expression . 0)) (RANGE . 
(expression . 0)) (THEN . (expression . 0)) (WITH . (expression . 0)) 
(SEMICOLON . (expression . 0)) (IS . (expression . 0)))
+      ((default . error) (IN .  270) (NOT .  271) (DO . (relation . 0)) (LOOP 
. (relation . 0)) (COMMA . (relation . 0)) (RIGHT_PAREN . (relation . 0)) 
(ELSIF . (relation . 0)) (ELSE . (relation . 0)) (EQUAL_GREATER . (relation . 
0)) (DIGITS . (relation . 0)) (RANGE . (relation . 0)) (THEN . (relation . 0)) 
(SEMICOLON . (relation . 0)) (WITH . (relation . 0)) (IS . (relation . 0)) (AND 
. (relation . 0)) (OR . (relation . 0)) (XOR . (relation . 0)) (EQUAL .  264) 
(SLASH_EQUAL .  269) (LES [...]
+      ((default . error) (OF . (term_list . 0)) (COLON_EQUAL . (term_list . 
0)) (DO . (term_list . 0)) (LOOP . (term_list . 0)) (ELSIF . (term_list . 0)) 
(ELSE . (term_list . 0)) (DIGITS . (term_list . 0)) (COMMA . (term_list . 0)) 
(RIGHT_PAREN . (term_list . 0)) (RANGE . (term_list . 0)) (THEN . (term_list . 
0)) (WITH . (term_list . 0)) (BAR . (term_list . 0)) (EQUAL_GREATER . 
(term_list . 0)) (IS . (term_list . 0)) (SLASH_EQUAL . (term_list . 0)) 
(LESS_EQUAL . (term_list . 0)) (LESS .  [...]
+      ((default . error) (OF . (simple_expression . 1)) (COLON_EQUAL . 
(simple_expression . 1)) (DO . (simple_expression . 1)) (LOOP . 
(simple_expression . 1)) (ELSIF . (simple_expression . 1)) (ELSE . 
(simple_expression . 1)) (DIGITS . (simple_expression . 1)) (RIGHT_PAREN . 
(simple_expression . 1)) (COMMA . (simple_expression . 1)) (RANGE . 
(simple_expression . 1)) (THEN . (simple_expression . 1)) (WITH . 
(simple_expression . 1)) (BAR . (simple_expression . 1)) (EQUAL_GREATER . 
(simple [...]
+      ((default . error) (ABS .  145) (NOT .  148) (NULL .  149) (NEW .  147) 
(IDENTIFIER .  47) (CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN 
.  146))
+      ((default . error) (IS .  340))
+      ((default . error) (END . (declarative_part_opt . 0)) (PRIVATE . 
(declarative_part_opt . 0)) (USE .  11) (SUBTYPE .  291) (PRAGMA .  7) (NOT .  
4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) (PROCEDURE . 
(overriding_indicator_opt . 2)) (ENTRY . (overriding_indicator_opt . 2)) (FOR . 
 288) (IDENTIFIER .  287) (TYPE .  293) (GENERIC .  2) (PROTECTED .  290) (TASK 
.  292) (PACKAGE .  289))
+      ((default . error) (SEMICOLON . (name . 1)) (IS . (name . 1)) (WITH . 
(name . 1)) (RANGE . (name . 1)) (TICK . (name . 1)) (LEFT_PAREN . (name . 1)) 
(DOT . (name . 1)) (PLUS . (name . 1)) (MINUS . (name . 1)) (AMPERSAND . (name 
. 1)) (DOT_DOT . (name . 1)) (IN . (name . 1)) (NOT . (name . 1)) (EQUAL . 
(name . 1)) (GREATER . (name . 1)) (GREATER_EQUAL . (name . 1)) (LESS . (name . 
1)) (LESS_EQUAL . (name . 1)) (SLASH_EQUAL . (name . 1)) (RIGHT_PAREN . (name . 
1)) (COMMA . (name . 1) [...]
+      ((default . error) (NULL .  284) (NEW .  147) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN .  146))
       ((default . error) (BAR . (discrete_choice . 3)) (EQUAL_GREATER . 
(discrete_choice . 3)))
       ((default . error) (SEMICOLON . (association_list . 0)) (IS . 
(association_list . 0)) (RIGHT_PAREN . (association_list . 0)) (COMMA . 
(association_list . 0)))
-      ((default . error) (COMMA .  258) (SEMICOLON . (aspect_specification_opt 
. 1)) (IS . (aspect_specification_opt . 1)))
+      ((default . error) (COMMA .  260) (SEMICOLON . (aspect_specification_opt 
. 1)) (IS . (aspect_specification_opt . 1)))
       ((default . error) (BAR . (discrete_choice . 0)) (EQUAL_GREATER . 
(discrete_choice . 0)))
-      ((default . error) (AND .  281) (EQUAL_GREATER . (choice_expression . 
1)) (BAR . (choice_expression . 1)))
-      ((default . error) (OR .  280) (EQUAL_GREATER . (choice_expression . 2)) 
(BAR . (choice_expression . 2)))
-      ((default . error) (XOR .  279) (EQUAL_GREATER . (choice_expression . 
3)) (BAR . (choice_expression . 3)))
-      ((default . error) (AND .  278) (EQUAL_GREATER . (choice_expression . 
4)) (BAR . (choice_expression . 4)))
-      ((default . error) (OR .  277) (EQUAL_GREATER . (choice_expression . 5)) 
(BAR . (choice_expression . 5)))
-      ((default . error) (XOR .  276) (OR .  275) (AND .  274) (EQUAL_GREATER 
. (choice_expression . 0)) (BAR . (choice_expression . 0)))
+      ((default . error) (AND .  283) (EQUAL_GREATER . (choice_expression . 
1)) (BAR . (choice_expression . 1)))
+      ((default . error) (OR .  282) (EQUAL_GREATER . (choice_expression . 2)) 
(BAR . (choice_expression . 2)))
+      ((default . error) (XOR .  281) (EQUAL_GREATER . (choice_expression . 
3)) (BAR . (choice_expression . 3)))
+      ((default . error) (AND .  280) (EQUAL_GREATER . (choice_expression . 
4)) (BAR . (choice_expression . 4)))
+      ((default . error) (OR .  279) (EQUAL_GREATER . (choice_expression . 5)) 
(BAR . (choice_expression . 5)))
+      ((default . error) (XOR .  278) (OR .  277) (AND .  276) (EQUAL_GREATER 
. (choice_expression . 0)) (BAR . (choice_expression . 0)))
       ((default . error) (EQUAL_GREATER . (discrete_choice_list . 1)) (BAR . 
(discrete_choice_list . 1)))
-      ((default . error) (BAR .  272) (EQUAL_GREATER .  273))
+      ((default . error) (BAR .  274) (EQUAL_GREATER .  275))
       ((default . error) (LOOP . (expression_opt . 1)) (RIGHT_PAREN . 
(expression_opt . 1)) (COMMA . (expression_opt . 1)) (SEMICOLON . 
(expression_opt . 1)) (THEN . (expression_opt . 1)) (IS . (expression_opt . 1)))
       ((default . error) (SEMICOLON . (association_opt . 5)) (IS . 
(association_opt . 5)) (COMMA . (association_opt . 5)) (RIGHT_PAREN . 
(association_opt . 5)))
-      ((default . error) (DOT .  86) (DO . (primary . 2)) (LOOP . (primary . 
2)) (ELSIF . (primary . 2)) (ELSE . (primary . 2)) (DIGITS . (primary . 2)) 
(RANGE . (primary . 2)) (THEN . (primary . 2)) (SEMICOLON . (primary . 2)) (IS 
. (primary . 2)) (WITH . (primary . 2)) (IN . (primary . 2)) (NOT . (primary . 
2)) (RIGHT_PAREN . (primary . 2)) (COMMA . (primary . 2)) (PLUS . (primary . 
2)) (MINUS . (primary . 2)) (AMPERSAND . (primary . 2)) (DOT_DOT . (primary . 
2)) (SLASH . (primary . 2) [...]
+      ((default . error) (DOT .  86) (DO . (primary . 2)) (LOOP . (primary . 
2)) (ELSIF . (primary . 2)) (ELSE . (primary . 2)) (DIGITS . (primary . 2)) 
(RANGE . (primary . 2)) (THEN . (primary . 2)) (SEMICOLON . (primary . 2)) (IS 
. (primary . 2)) (WITH . (primary . 2)) (IN . (primary . 2)) (NOT . (primary . 
2)) (RIGHT_PAREN . (primary . 2)) (COMMA . (primary . 2)) (PLUS . (primary . 
2)) (MINUS . (primary . 2)) (AMPERSAND . (primary . 2)) (DOT_DOT . (primary . 
2)) (SLASH . (primary . 2) [...]
       ((default . error) (BAR . (discrete_choice . 2)) (EQUAL_GREATER . 
(discrete_choice . 2)))
-      ((default . error) (IN .  268) (NOT .  269) (SEMICOLON . (relation . 0)) 
(IS . (relation . 0)) (WITH . (relation . 0)) (RIGHT_PAREN . (relation . 0)) 
(COMMA . (relation . 0)) (DOT_DOT .  261) (BAR . (choice_relation . 1)) 
(EQUAL_GREATER . (choice_relation . 1)) (AND . ((relation . 0) (choice_relation 
. 1))) (OR . ((relation . 0) (choice_relation . 1))) (XOR . ((relation . 0) 
(choice_relation . 1))) (EQUAL .  262) (SLASH_EQUAL .  267) (LESS .  265) 
(LESS_EQUAL .  266) (GREATER .  26 [...]
+      ((default . error) (IN .  270) (NOT .  271) (SEMICOLON . (relation . 0)) 
(IS . (relation . 0)) (WITH . (relation . 0)) (RIGHT_PAREN . (relation . 0)) 
(COMMA . (relation . 0)) (DOT_DOT .  263) (BAR . (choice_relation . 1)) 
(EQUAL_GREATER . (choice_relation . 1)) (AND . ((relation . 0) (choice_relation 
. 1))) (OR . ((relation . 0) (choice_relation . 1))) (XOR . ((relation . 0) 
(choice_relation . 1))) (EQUAL .  264) (SLASH_EQUAL .  269) (LESS .  267) 
(LESS_EQUAL .  268) (GREATER .  26 [...]
       ((default . error) (DOT .  86) (TICK .  87) (SEMICOLON . 
(aspect_specification_opt . 0)) (WITH .  107) (LEFT_PAREN .  105))
-      ((default . error) (COMMA .  258) (RIGHT_PAREN .  259))
-      ((default . error) (BAR . (discrete_choice . 2)) (EQUAL_GREATER . 
(discrete_choice . 2)) (RIGHT_PAREN .  257))
+      ((default . error) (COMMA .  260) (RIGHT_PAREN .  261))
+      ((default . error) (BAR . (discrete_choice . 2)) (EQUAL_GREATER . 
(discrete_choice . 2)) (RIGHT_PAREN .  259))
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
-      ((default . error) (COMMA .  118) (SEMICOLON .  255))
+      ((default . error) (COMMA .  118) (SEMICOLON .  257))
       ((default . error) ($EOI . (with_clause . 1)) (FUNCTION . (with_clause . 
1)) (GENERIC . (with_clause . 1)) (LIMITED . (with_clause . 1)) (NOT . 
(with_clause . 1)) (OVERRIDING . (with_clause . 1)) (PACKAGE . (with_clause . 
1)) (PRAGMA . (with_clause . 1)) (PRIVATE . (with_clause . 1)) (PROCEDURE . 
(with_clause . 1)) (SEPARATE . (with_clause . 1)) (USE . (with_clause . 1)) 
(WITH . (with_clause . 1)))
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
-      ((default . error) (BOX .  248) (SEMICOLON . 
(discriminant_specification_opt . 0)) (RIGHT_PAREN . 
(discriminant_specification_opt . 0)) (IDENTIFIER .  71))
-      ((default . error) (IS .  246) (SEMICOLON . (aspect_specification_opt . 
0)) (WITH .  107))
-      ((default . error) (ABSTRACT .  242) (BOX .  241) (NULL .  243) 
(IDENTIFIER .  47) (CHARACTER_LITERAL .  49) (STRING_LITERAL .  48))
-      ((default . error) (SEMICOLON .  240))
-      ((default . error) (DOT .  86) (TICK .  87) (IS .  239) (LEFT_PAREN .  
105))
+      ((default . error) (BOX .  250) (SEMICOLON . 
(discriminant_specification_opt . 0)) (RIGHT_PAREN . 
(discriminant_specification_opt . 0)) (IDENTIFIER .  71))
+      ((default . error) (IS .  248) (SEMICOLON . (aspect_specification_opt . 
0)) (WITH .  107))
+      ((default . error) (ABSTRACT .  244) (BOX .  243) (NULL .  245) 
(IDENTIFIER .  47) (CHARACTER_LITERAL .  49) (STRING_LITERAL .  48))
+      ((default . error) (SEMICOLON .  242))
+      ((default . error) (DOT .  86) (TICK .  87) (IS .  241) (LEFT_PAREN .  
105))
       ((default . error) (COLON . (identifier_list . 1)) (COMMA . 
(identifier_list . 1)))
-      ((default . error) (OUT .  238) (ACCESS . (mode_opt . 1)) (NOT . 
(mode_opt . 1)) (IDENTIFIER . (mode_opt . 1)) (STRING_LITERAL . (mode_opt . 1)) 
(CHARACTER_LITERAL . (mode_opt . 1)))
+      ((default . error) (OUT .  240) (ACCESS . (mode_opt . 1)) (NOT . 
(mode_opt . 1)) (IDENTIFIER . (mode_opt . 1)) (STRING_LITERAL . (mode_opt . 1)) 
(CHARACTER_LITERAL . (mode_opt . 1)))
       ((default . error) (ACCESS . (mode_opt . 3)) (NOT . (mode_opt . 3)) 
(IDENTIFIER . (mode_opt . 3)) (STRING_LITERAL . (mode_opt . 3)) 
(CHARACTER_LITERAL . (mode_opt . 3)))
-      ((default . error) (IDENTIFIER . (null_exclusion_opt . 0)) 
(STRING_LITERAL . (null_exclusion_opt . 0)) (CHARACTER_LITERAL . 
(null_exclusion_opt . 0)) (ACCESS . (null_exclusion_opt . 0)) (NOT .  206))
-      ((default . error) (IDENTIFIER . (null_exclusion_opt . 0)) 
(STRING_LITERAL . (null_exclusion_opt . 0)) (CHARACTER_LITERAL . 
(null_exclusion_opt . 0)) (ACCESS . (null_exclusion_opt . 0)) (NOT .  206))
-      ((default . error) (NULL .  233))
-      ((default . error) (RIGHT_PAREN . (parameter_and_result_profile . 3)) 
(DO . (parameter_and_result_profile . 3)) (RENAMES . 
(parameter_and_result_profile . 3)) (COLON_EQUAL . 
(parameter_and_result_profile . 3)) (SEMICOLON . (parameter_and_result_profile 
. 3)) (IS . (parameter_and_result_profile . 3)) (WITH . 
(parameter_and_result_profile . 3)))
-      ((default . error) (DOT .  86) (TICK .  87) (RIGHT_PAREN . 
(parameter_and_result_profile . 1)) (DO . (parameter_and_result_profile . 1)) 
(RENAMES . (parameter_and_result_profile . 1)) (COLON_EQUAL . 
(parameter_and_result_profile . 1)) (SEMICOLON . (parameter_and_result_profile 
. 1)) (IS . (parameter_and_result_profile . 1)) (WITH . 
(parameter_and_result_profile . 1)) (LEFT_PAREN .  105))
-      ((default . error) (ACCESS .  232))
+      ((default . error) (IDENTIFIER . (null_exclusion_opt . 0)) 
(STRING_LITERAL . (null_exclusion_opt . 0)) (CHARACTER_LITERAL . 
(null_exclusion_opt . 0)) (ACCESS . (null_exclusion_opt . 0)) (NOT .  207))
+      ((default . error) (IDENTIFIER . (null_exclusion_opt . 0)) 
(STRING_LITERAL . (null_exclusion_opt . 0)) (CHARACTER_LITERAL . 
(null_exclusion_opt . 0)) (RIGHT_PAREN . (null_exclusion_opt . 0)) (DO . 
(null_exclusion_opt . 0)) (RENAMES . (null_exclusion_opt . 0)) (COLON_EQUAL . 
(null_exclusion_opt . 0)) (SEMICOLON . (null_exclusion_opt . 0)) (WITH . 
(null_exclusion_opt . 0)) (IS . (null_exclusion_opt . 0)) (ACCESS . 
(null_exclusion_opt . 0)) (NOT .  207))
+      ((default . error) (NULL .  235))
+      ((default . error) (RIGHT_PAREN . (parameter_and_result_profile . 3)) 
(DO . (parameter_and_result_profile . 3)) (RENAMES . 
(parameter_and_result_profile . 3)) (COLON_EQUAL . 
(parameter_and_result_profile . 3)) (SEMICOLON . (parameter_and_result_profile 
. 3)) (WITH . (parameter_and_result_profile . 3)) (IS . 
(parameter_and_result_profile . 3)))
+      ((default . error) (DOT .  86) (RIGHT_PAREN . (name_opt . 1)) (DO . 
(name_opt . 1)) (RENAMES . (name_opt . 1)) (COLON_EQUAL . (name_opt . 1)) (WITH 
. (name_opt . 1)) (IS . (name_opt . 1)) (SEMICOLON . (name_opt . 1)) (TICK .  
87) (LEFT_PAREN .  105))
+      ((default . error) (RIGHT_PAREN . (parameter_and_result_profile . 1)) 
(DO . (parameter_and_result_profile . 1)) (RENAMES . 
(parameter_and_result_profile . 1)) (COLON_EQUAL . 
(parameter_and_result_profile . 1)) (SEMICOLON . (parameter_and_result_profile 
. 1)) (WITH . (parameter_and_result_profile . 1)) (IS . 
(parameter_and_result_profile . 1)))
+      ((default . error) (ACCESS .  234))
       ((default . error) (IN . (name . 0)) (NOT . (name . 0)) (EQUAL . (name . 
0)) (GREATER . (name . 0)) (GREATER_EQUAL . (name . 0)) (LESS . (name . 0)) 
(LESS_EQUAL . (name . 0)) (SLASH_EQUAL . (name . 0)) (BAR . (name . 0)) 
(EQUAL_GREATER . (name . 0)) (AND . (name . 0)) (OR . (name . 0)) (XOR . (name 
. 0)) (RIGHT_PAREN . (name . 0)) (LEFT_PAREN . (name . 0)) (RANGE . (name . 0)) 
(TICK . (name . 0)) (DOT . (name . 0)) (PLUS . (name . 0)) (MINUS . (name . 0)) 
(AMPERSAND . (name . 0)) ( [...]
-      ((default . error) (COLON .  231) (COMMA .  94))
+      ((default . error) (COLON .  233) (COMMA .  94))
       ((default . error) (RIGHT_PAREN . (parameter_specification_list . 0)) 
(SEMICOLON . (parameter_specification_list . 0)))
-      ((default . error) (SEMICOLON .  229) (RIGHT_PAREN .  230))
+      ((default . error) (SEMICOLON .  231) (RIGHT_PAREN .  232))
       ((default . error) (DO . (attribute_designator . 1)) (ELSIF . 
(attribute_designator . 1)) (ELSE . (attribute_designator . 1)) (DIGITS . 
(attribute_designator . 1)) (RANGE . (attribute_designator . 1)) (THEN . 
(attribute_designator . 1)) (USE . (attribute_designator . 1)) (COLON_EQUAL . 
(attribute_designator . 1)) (WHILE . (attribute_designator . 1)) (SELECT . 
(attribute_designator . 1)) (REQUEUE . (attribute_designator . 1)) (RAISE . 
(attribute_designator . 1)) (PRAGMA . (attribute [...]
       ((default . error) (DO . (attribute_designator . 2)) (ELSIF . 
(attribute_designator . 2)) (ELSE . (attribute_designator . 2)) (DIGITS . 
(attribute_designator . 2)) (RANGE . (attribute_designator . 2)) (THEN . 
(attribute_designator . 2)) (USE . (attribute_designator . 2)) (COLON_EQUAL . 
(attribute_designator . 2)) (WHILE . (attribute_designator . 2)) (SELECT . 
(attribute_designator . 2)) (REQUEUE . (attribute_designator . 2)) (RAISE . 
(attribute_designator . 2)) (PRAGMA . (attribute [...]
       ((default . error) (DO . (attribute_designator . 3)) (ELSIF . 
(attribute_designator . 3)) (ELSE . (attribute_designator . 3)) (DIGITS . 
(attribute_designator . 3)) (RANGE . (attribute_designator . 3)) (THEN . 
(attribute_designator . 3)) (USE . (attribute_designator . 3)) (COLON_EQUAL . 
(attribute_designator . 3)) (WHILE . (attribute_designator . 3)) (SELECT . 
(attribute_designator . 3)) (REQUEUE . (attribute_designator . 3)) (RAISE . 
(attribute_designator . 3)) (PRAGMA . (attribute [...]
-      ((default . error) (RIGHT_PAREN . ((association_opt . 0) (expression_opt 
. 0))) (COMMA . ((association_opt . 0) (expression_opt . 0))) (EQUAL_GREATER . 
(discrete_choice_list . 0)) (BAR . (discrete_choice_list . 0)) (PLUS .  142) 
(MINUS .  141) (OTHERS .  170) (ABS .  144) (NOT .  169) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  168) (STRING_LITERAL .  48) (NULL .  226) (NEW .  146) 
(LEFT_PAREN .  145))
+      ((default . error) (RIGHT_PAREN . ((association_opt . 0) (expression_opt 
. 0))) (COMMA . ((association_opt . 0) (expression_opt . 0))) (EQUAL_GREATER . 
(discrete_choice_list . 0)) (BAR . (discrete_choice_list . 0)) (PLUS .  143) 
(MINUS .  142) (OTHERS .  171) (ABS .  145) (NOT .  170) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  169) (STRING_LITERAL .  48) (NULL .  228) (NEW .  147) 
(LEFT_PAREN .  146))
       ((default . error) (DO . (attribute_designator . 4)) (ELSIF . 
(attribute_designator . 4)) (ELSE . (attribute_designator . 4)) (DIGITS . 
(attribute_designator . 4)) (RANGE . (attribute_designator . 4)) (THEN . 
(attribute_designator . 4)) (USE . (attribute_designator . 4)) (COLON_EQUAL . 
(attribute_designator . 4)) (WHILE . (attribute_designator . 4)) (SELECT . 
(attribute_designator . 4)) (REQUEUE . (attribute_designator . 4)) (RAISE . 
(attribute_designator . 4)) (PRAGMA . (attribute [...]
       ((default . error) (DO . (qualified_expression . 0)) (ELSIF . 
(qualified_expression . 0)) (ELSE . (qualified_expression . 0)) (DIGITS . 
(qualified_expression . 0)) (RANGE . (qualified_expression . 0)) (THEN . 
(qualified_expression . 0)) (USE . (qualified_expression . 0)) (COLON_EQUAL . 
(qualified_expression . 0)) (WHILE . (qualified_expression . 0)) (SELECT . 
(qualified_expression . 0)) (REQUEUE . (qualified_expression . 0)) (RAISE . 
(qualified_expression . 0)) (PRAGMA . (qualified [...]
       ((default . error) (DO . (attribute_reference . 0)) (ELSIF . 
(attribute_reference . 0)) (ELSE . (attribute_reference . 0)) (DIGITS . 
(attribute_reference . 0)) (RANGE . (attribute_reference . 0)) (THEN . 
(attribute_reference . 0)) (USE . (attribute_reference . 0)) (COLON_EQUAL . 
(attribute_reference . 0)) (WHILE . (attribute_reference . 0)) (SELECT . 
(attribute_reference . 0)) (REQUEUE . (attribute_reference . 0)) (RAISE . 
(attribute_reference . 0)) (PRAGMA . (attribute_reference . [...]
@@ -1888,80 +1889,80 @@
       ((default . error) (DO . (selected_component . 2)) (RIGHT_PAREN . 
(selected_component . 2)) (BAR . (selected_component . 2)) (ELSIF . 
(selected_component . 2)) (ELSE . (selected_component . 2)) (EQUAL_GREATER . 
(selected_component . 2)) (DIGITS . (selected_component . 2)) (RANGE . 
(selected_component . 2)) (THEN . (selected_component . 2)) (DOT_DOT . 
(selected_component . 2)) (IN . (selected_component . 2)) (NOT . 
(selected_component . 2)) (EQUAL . (selected_component . 2)) (GREATE [...]
       ((default . error) (DO . (selected_component . 1)) (RIGHT_PAREN . 
(selected_component . 1)) (BAR . (selected_component . 1)) (ELSIF . 
(selected_component . 1)) (ELSE . (selected_component . 1)) (EQUAL_GREATER . 
(selected_component . 1)) (DIGITS . (selected_component . 1)) (RANGE . 
(selected_component . 1)) (THEN . (selected_component . 1)) (DOT_DOT . 
(selected_component . 1)) (IN . (selected_component . 1)) (NOT . 
(selected_component . 1)) (EQUAL . (selected_component . 1)) (GREATE [...]
       ((default . error) (DO . (selected_component . 3)) (RIGHT_PAREN . 
(selected_component . 3)) (BAR . (selected_component . 3)) (ELSIF . 
(selected_component . 3)) (ELSE . (selected_component . 3)) (EQUAL_GREATER . 
(selected_component . 3)) (DIGITS . (selected_component . 3)) (RANGE . 
(selected_component . 3)) (THEN . (selected_component . 3)) (DOT_DOT . 
(selected_component . 3)) (IN . (selected_component . 3)) (NOT . 
(selected_component . 3)) (EQUAL . (selected_component . 3)) (GREATE [...]
-      ((default . error) (DOT_DOT . (primary . 0)) (RIGHT_PAREN . (primary . 
0)) (COMMA . (primary . 0)) (BAR . (primary . 0)) (EQUAL_GREATER . (primary . 
0)) (PLUS . (primary . 0)) (MINUS . (primary . 0)) (AMPERSAND . (primary . 0)) 
(IN . (primary . 0)) (NOT . (primary . 0)) (EQUAL . (primary . 0)) (GREATER . 
(primary . 0)) (GREATER_EQUAL . (primary . 0)) (LESS . (primary . 0)) 
(LESS_EQUAL . (primary . 0)) (SLASH_EQUAL . (primary . 0)) (WITH . (primary . 
0)) (SLASH . (primary . 0)) (STA [...]
-      ((default . error) (COMMA .  258) (RIGHT_PAREN .  512))
-      ((default . error) (RIGHT_PAREN . (expression_opt . 1)) (COMMA . 
(expression_opt . 1)) (WITH .  511))
+      ((default . error) (DOT_DOT . (primary . 0)) (RIGHT_PAREN . (primary . 
0)) (COMMA . (primary . 0)) (BAR . (primary . 0)) (EQUAL_GREATER . (primary . 
0)) (PLUS . (primary . 0)) (MINUS . (primary . 0)) (AMPERSAND . (primary . 0)) 
(IN . (primary . 0)) (NOT . (primary . 0)) (EQUAL . (primary . 0)) (GREATER . 
(primary . 0)) (GREATER_EQUAL . (primary . 0)) (LESS . (primary . 0)) 
(LESS_EQUAL . (primary . 0)) (SLASH_EQUAL . (primary . 0)) (WITH . (primary . 
0)) (SLASH . (primary . 0)) (STA [...]
+      ((default . error) (COMMA .  260) (RIGHT_PAREN .  514))
+      ((default . error) (RIGHT_PAREN . (expression_opt . 1)) (COMMA . 
(expression_opt . 1)) (WITH .  513))
       ((default . error) (IDENTIFIER .  71))
-      ((default . error) (RIGHT_PAREN . (formal_part . 0)) (COLON_EQUAL . 
(formal_part . 0)) (DO . (formal_part . 0)) (WHEN . (formal_part . 0)) (RENAMES 
. (formal_part . 0)) (IS . (formal_part . 0)) (WITH . (formal_part . 0)) 
(SEMICOLON . (formal_part . 0)) (RETURN . (formal_part . 0)))
-      ((default . error) (IN . (aliased_opt . 0)) (OUT . (aliased_opt . 0)) 
(IDENTIFIER . (aliased_opt . 0)) (STRING_LITERAL . (aliased_opt . 0)) 
(CHARACTER_LITERAL . (aliased_opt . 0)) (ALIASED .  507) (ACCESS . 
(null_exclusion_opt . 0)) (NOT . ((aliased_opt . 0)  206)))
-      ((default . error) (FUNCTION . (protected_opt . 0)) (PROCEDURE . 
(protected_opt . 0)) (PROTECTED .  504) (IDENTIFIER . 
(general_access_modifier_opt . 0)) (STRING_LITERAL . 
(general_access_modifier_opt . 0)) (CHARACTER_LITERAL . 
(general_access_modifier_opt . 0)) (ALL .  502) (CONSTANT .  503))
-      ((default . error) (ACCESS . (null_exclusion_opt . 1)) 
(CHARACTER_LITERAL . (null_exclusion_opt . 1)) (STRING_LITERAL . 
(null_exclusion_opt . 1)) (IDENTIFIER . (null_exclusion_opt . 1)))
-      ((default . error) (DO . (parameter_and_result_profile . 2)) 
(RIGHT_PAREN . (parameter_and_result_profile . 2)) (COLON_EQUAL . 
(parameter_and_result_profile . 2)) (RENAMES . (parameter_and_result_profile . 
2)) (WITH . (parameter_and_result_profile . 2)) (IS . 
(parameter_and_result_profile . 2)) (SEMICOLON . (parameter_and_result_profile 
. 2)))
-      ((default . error) (ACCESS .  232) (IDENTIFIER .  47) (CHARACTER_LITERAL 
.  49) (STRING_LITERAL .  48))
-      ((default . error) (COLON_EQUAL .  499) (SEMICOLON . 
(aspect_specification_opt . 0)) (WITH .  107))
-      ((default . error) (ACCESS .  232) (IDENTIFIER .  47) (CHARACTER_LITERAL 
.  49) (STRING_LITERAL .  48))
+      ((default . error) (RIGHT_PAREN . (formal_part . 0)) (COLON_EQUAL . 
(formal_part . 0)) (DO . (formal_part . 0)) (WHEN . (formal_part . 0)) (RENAMES 
. (formal_part . 0)) (IS . (formal_part . 0)) (SEMICOLON . (formal_part . 0)) 
(WITH . (formal_part . 0)) (RETURN . (formal_part . 0)))
+      ((default . error) (IN . (aliased_opt . 0)) (OUT . (aliased_opt . 0)) 
(IDENTIFIER . (aliased_opt . 0)) (STRING_LITERAL . (aliased_opt . 0)) 
(CHARACTER_LITERAL . (aliased_opt . 0)) (ALIASED .  509) (ACCESS . 
(null_exclusion_opt . 0)) (NOT . ((aliased_opt . 0)  207)))
+      ((default . error) (FUNCTION . (protected_opt . 0)) (PROCEDURE . 
(protected_opt . 0)) (PROTECTED .  506) (IDENTIFIER . 
(general_access_modifier_opt . 0)) (STRING_LITERAL . 
(general_access_modifier_opt . 0)) (CHARACTER_LITERAL . 
(general_access_modifier_opt . 0)) (ALL .  504) (CONSTANT .  505))
+      ((default . error) (RIGHT_PAREN . (null_exclusion_opt . 1)) (DO . 
(null_exclusion_opt . 1)) (RENAMES . (null_exclusion_opt . 1)) (COLON_EQUAL . 
(null_exclusion_opt . 1)) (ACCESS . (null_exclusion_opt . 1)) 
(CHARACTER_LITERAL . (null_exclusion_opt . 1)) (STRING_LITERAL . 
(null_exclusion_opt . 1)) (IDENTIFIER . (null_exclusion_opt . 1)) (SEMICOLON . 
(null_exclusion_opt . 1)) (WITH . (null_exclusion_opt . 1)) (IS . 
(null_exclusion_opt . 1)))
+      ((default . error) (DO . (parameter_and_result_profile . 2)) 
(RIGHT_PAREN . (parameter_and_result_profile . 2)) (COLON_EQUAL . 
(parameter_and_result_profile . 2)) (RENAMES . (parameter_and_result_profile . 
2)) (IS . (parameter_and_result_profile . 2)) (WITH . 
(parameter_and_result_profile . 2)) (SEMICOLON . (parameter_and_result_profile 
. 2)))
+      ((default . error) (ACCESS .  234) (SEMICOLON . (name_opt . 0)) (WITH . 
(name_opt . 0)) (IS . (name_opt . 0)) (RENAMES . (name_opt . 0)) (COLON_EQUAL . 
(name_opt . 0)) (RIGHT_PAREN . (name_opt . 0)) (DO . (name_opt . 0)) 
(IDENTIFIER .  47) (CHARACTER_LITERAL .  49) (STRING_LITERAL .  48))
+      ((default . error) (COLON_EQUAL .  501) (SEMICOLON . 
(aspect_specification_opt . 0)) (WITH .  107))
+      ((default . error) (ACCESS .  234) (IDENTIFIER .  47) (CHARACTER_LITERAL 
.  49) (STRING_LITERAL .  48))
       ((default . error) (CHARACTER_LITERAL . (mode_opt . 2)) (STRING_LITERAL 
. (mode_opt . 2)) (IDENTIFIER . (mode_opt . 2)) (NOT . (mode_opt . 2)) (ACCESS 
. (mode_opt . 2)))
-      ((default . error) (NEW .  497))
+      ((default . error) (NEW .  499))
       ((default . error) (WITH . (formal_subprogram_declaration . 1)) (TYPE . 
(formal_subprogram_declaration . 1)) (PRAGMA . (formal_subprogram_declaration . 
1)) (IDENTIFIER . (formal_subprogram_declaration . 1)) (FUNCTION . 
(formal_subprogram_declaration . 1)) (PROCEDURE . 
(formal_subprogram_declaration . 1)) (PACKAGE . (formal_subprogram_declaration 
. 1)))
       ((default . error) (WITH . (subprogram_default . 1)) (SEMICOLON . 
(subprogram_default . 1)))
-      ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
107) (BOX .  241) (NULL .  243) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
+      ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
107) (BOX .  243) (NULL .  245) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
       ((default . error) (WITH . (subprogram_default . 2)) (SEMICOLON . 
(subprogram_default . 2)))
       ((default . error) (WITH . (subprogram_default . 0)) (SEMICOLON . 
(subprogram_default . 0)) (DOT .  86) (TICK .  87) (LEFT_PAREN .  105))
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
107))
-      ((default . error) (LEFT_PAREN .  479) (RANGE .  483) (MOD .  481) 
(DIGITS .  477) (DELTA .  476) (TASK .  486) (PROTECTED .  482) (INTERFACE .  
478) (ARRAY .  475) (PRIVATE . (abstract_tagged_limited_opt . 0)) (TAGGED .  
485) (NEW . (abstract_limited_synchronized_opt . 0)) (ABSTRACT .  474) (LIMITED 
.  480) (SYNCHRONIZED .  484) (ACCESS . (null_exclusion_opt . 0)) (NOT .  206))
-      ((default . error) (SEMICOLON .  473))
-      ((default . error) (RIGHT_PAREN .  472))
+      ((default . error) (LEFT_PAREN .  481) (RANGE .  485) (MOD .  483) 
(DIGITS .  479) (DELTA .  478) (TASK .  488) (PROTECTED .  484) (INTERFACE .  
480) (ARRAY .  477) (PRIVATE . (abstract_tagged_limited_opt . 0)) (TAGGED .  
487) (NEW . (abstract_limited_synchronized_opt . 0)) (ABSTRACT .  476) (LIMITED 
.  482) (SYNCHRONIZED .  486) (ACCESS . (null_exclusion_opt . 0)) (NOT .  207))
+      ((default . error) (SEMICOLON .  475))
+      ((default . error) (RIGHT_PAREN .  474))
       ((default . error) (RIGHT_PAREN . (discriminant_specification_list . 0)) 
(SEMICOLON . (discriminant_specification_list . 0)))
-      ((default . error) (SEMICOLON .  470) (RIGHT_PAREN .  471))
-      ((default . error) (COMMA .  94) (COLON .  469))
+      ((default . error) (SEMICOLON .  472) (RIGHT_PAREN .  473))
+      ((default . error) (COMMA .  94) (COLON .  471))
       ((default . error) (DOT .  86) (TICK .  87) (SEMICOLON . 
(aspect_specification_opt . 0)) (WITH .  107) (LEFT_PAREN .  105))
       ((default . error) (DOT .  86) (TICK .  87) (SEMICOLON . 
(aspect_specification_opt . 0)) (WITH .  107) (LEFT_PAREN .  105))
       ((default . error) (DOT .  86) (TICK .  87) (SEMICOLON . 
(aspect_specification_opt . 0)) (WITH .  107) (LEFT_PAREN .  105))
       ((default . error) (WITH . (with_clause . 0)) (USE . (with_clause . 0)) 
(SEPARATE . (with_clause . 0)) (PROCEDURE . (with_clause . 0)) (PRIVATE . 
(with_clause . 0)) (PRAGMA . (with_clause . 0)) (PACKAGE . (with_clause . 0)) 
(OVERRIDING . (with_clause . 0)) (NOT . (with_clause . 0)) (LIMITED . 
(with_clause . 0)) (GENERIC . (with_clause . 0)) (FUNCTION . (with_clause . 0)) 
($EOI . (with_clause . 0)))
       ((default . error) (DOT .  86) (TICK .  87) (SEMICOLON . 
(aspect_specification_opt . 0)) (WITH .  107) (LEFT_PAREN .  105))
-      ((default . error) (DO . (name . 2)) (WHILE . (name . 2)) (SELECT . 
(name . 2)) (REQUEUE . (name . 2)) (RAISE . (name . 2)) (PRAGMA . (name . 2)) 
(NULL . (name . 2)) (LOOP . (name . 2)) (IF . (name . 2)) (GOTO . (name . 2)) 
(FOR . (name . 2)) (EXIT . (name . 2)) (DELAY . (name . 2)) (DECLARE . (name . 
2)) (CASE . (name . 2)) (BEGIN . (name . 2)) (ABORT . (name . 2)) (ACCEPT . 
(name . 2)) (CHARACTER_LITERAL . (name . 2)) (STRING_LITERAL . (name . 2)) 
(IDENTIFIER . (name . 2)) (LESS_ [...]
-      ((default . error) (RIGHT_PAREN . ((association_opt . 0) (expression_opt 
. 0))) (COMMA . ((association_opt . 0) (expression_opt . 0))) (IS . 
((association_opt . 0) (expression_opt . 0))) (SEMICOLON . ((association_opt . 
0) (expression_opt . 0))) (EQUAL_GREATER . (discrete_choice_list . 0)) (BAR . 
(discrete_choice_list . 0)) (OTHERS .  170) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  168) (STRING_LITERAL .  48) (PLUS .  142) (MINUS .  141) 
(ABS .  144) (NOT .  169) (NULL .  148) (NEW . [...]
-      ((default . error) (STAR_STAR . (actual_parameter_part . 0)) (REM . 
(actual_parameter_part . 0)) (MOD . (actual_parameter_part . 0)) (STAR . 
(actual_parameter_part . 0)) (SLASH . (actual_parameter_part . 0)) (DOT_DOT . 
(actual_parameter_part . 0)) (AMPERSAND . (actual_parameter_part . 0)) (MINUS . 
(actual_parameter_part . 0)) (PLUS . (actual_parameter_part . 0)) (RIGHT_PAREN 
. (actual_parameter_part . 0)) (RANGE . (actual_parameter_part . 0)) 
(COLON_EQUAL . (actual_parameter_part . [...]
-      ((default . error) (SEMICOLON .  463))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
+      ((default . error) (DO . (name . 2)) (WHILE . (name . 2)) (SELECT . 
(name . 2)) (REQUEUE . (name . 2)) (RAISE . (name . 2)) (PRAGMA . (name . 2)) 
(NULL . (name . 2)) (LOOP . (name . 2)) (IF . (name . 2)) (GOTO . (name . 2)) 
(FOR . (name . 2)) (EXIT . (name . 2)) (DELAY . (name . 2)) (DECLARE . (name . 
2)) (CASE . (name . 2)) (BEGIN . (name . 2)) (ABORT . (name . 2)) (ACCEPT . 
(name . 2)) (CHARACTER_LITERAL . (name . 2)) (STRING_LITERAL . (name . 2)) 
(IDENTIFIER . (name . 2)) (LESS_ [...]
+      ((default . error) (RIGHT_PAREN . ((association_opt . 0) (expression_opt 
. 0))) (COMMA . ((association_opt . 0) (expression_opt . 0))) (IS . 
((association_opt . 0) (expression_opt . 0))) (SEMICOLON . ((association_opt . 
0) (expression_opt . 0))) (EQUAL_GREATER . (discrete_choice_list . 0)) (BAR . 
(discrete_choice_list . 0)) (OTHERS .  171) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  169) (STRING_LITERAL .  48) (PLUS .  143) (MINUS .  142) 
(ABS .  145) (NOT .  170) (NULL .  149) (NEW . [...]
+      ((default . error) (STAR_STAR . (actual_parameter_part . 0)) (REM . 
(actual_parameter_part . 0)) (MOD . (actual_parameter_part . 0)) (STAR . 
(actual_parameter_part . 0)) (SLASH . (actual_parameter_part . 0)) (DOT_DOT . 
(actual_parameter_part . 0)) (AMPERSAND . (actual_parameter_part . 0)) (MINUS . 
(actual_parameter_part . 0)) (PLUS . (actual_parameter_part . 0)) (RIGHT_PAREN 
. (actual_parameter_part . 0)) (RANGE . (actual_parameter_part . 0)) 
(COLON_EQUAL . (actual_parameter_part . [...]
+      ((default . error) (SEMICOLON .  465))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
       ((default . error) (MINUS . (relational_operator . 0)) (PLUS . 
(relational_operator . 0)) (IDENTIFIER . (relational_operator . 0)) 
(STRING_LITERAL . (relational_operator . 0)) (CHARACTER_LITERAL . 
(relational_operator . 0)) (ABS . (relational_operator . 0)) (LEFT_PAREN . 
(relational_operator . 0)) (NEW . (relational_operator . 0)) (NOT . 
(relational_operator . 0)) (NULL . (relational_operator . 0)))
       ((default . error) (MINUS . (relational_operator . 4)) (PLUS . 
(relational_operator . 4)) (IDENTIFIER . (relational_operator . 4)) 
(STRING_LITERAL . (relational_operator . 4)) (CHARACTER_LITERAL . 
(relational_operator . 4)) (ABS . (relational_operator . 4)) (LEFT_PAREN . 
(relational_operator . 4)) (NEW . (relational_operator . 4)) (NOT . 
(relational_operator . 4)) (NULL . (relational_operator . 4)))
       ((default . error) (MINUS . (relational_operator . 5)) (PLUS . 
(relational_operator . 5)) (IDENTIFIER . (relational_operator . 5)) 
(STRING_LITERAL . (relational_operator . 5)) (CHARACTER_LITERAL . 
(relational_operator . 5)) (ABS . (relational_operator . 5)) (LEFT_PAREN . 
(relational_operator . 5)) (NEW . (relational_operator . 5)) (NOT . 
(relational_operator . 5)) (NULL . (relational_operator . 5)))
       ((default . error) (MINUS . (relational_operator . 2)) (PLUS . 
(relational_operator . 2)) (IDENTIFIER . (relational_operator . 2)) 
(STRING_LITERAL . (relational_operator . 2)) (CHARACTER_LITERAL . 
(relational_operator . 2)) (ABS . (relational_operator . 2)) (LEFT_PAREN . 
(relational_operator . 2)) (NEW . (relational_operator . 2)) (NOT . 
(relational_operator . 2)) (NULL . (relational_operator . 2)))
       ((default . error) (MINUS . (relational_operator . 3)) (PLUS . 
(relational_operator . 3)) (IDENTIFIER . (relational_operator . 3)) 
(STRING_LITERAL . (relational_operator . 3)) (CHARACTER_LITERAL . 
(relational_operator . 3)) (ABS . (relational_operator . 3)) (LEFT_PAREN . 
(relational_operator . 3)) (NEW . (relational_operator . 3)) (NOT . 
(relational_operator . 3)) (NULL . (relational_operator . 3)))
       ((default . error) (MINUS . (relational_operator . 1)) (PLUS . 
(relational_operator . 1)) (IDENTIFIER . (relational_operator . 1)) 
(STRING_LITERAL . (relational_operator . 1)) (CHARACTER_LITERAL . 
(relational_operator . 1)) (ABS . (relational_operator . 1)) (LEFT_PAREN . 
(relational_operator . 1)) (NEW . (relational_operator . 1)) (NOT . 
(relational_operator . 1)) (NULL . (relational_operator . 1)))
-      ((default . error) (PLUS .  142) (MINUS .  141) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (ABS .  144) (NOT .  147) 
(NULL .  148) (NEW .  146) (LEFT_PAREN .  145))
-      ((default . error) (IN .  457))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (RANGE .  455) (LEFT_PAREN .  217) (ACCESS .  214) 
(DELTA .  215) (DIGITS .  216) (MOD .  218) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48))
-      ((default . error) (OTHERS .  170) (IDENTIFIER .  47) (CHARACTER_LITERAL 
.  49) (STRING_LITERAL .  48) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
169) (NULL .  148) (NEW .  146) (LEFT_PAREN .  145))
-      ((default . error) (BOX .  451) (PLUS .  142) (MINUS .  141) (ABS .  
144) (NOT .  147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (THEN .  449) (PLUS .  142) (MINUS .  141) (ABS .  
144) (NOT .  147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (ELSE .  447) (PLUS .  142) (MINUS .  141) (ABS .  
144) (NOT .  147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (ELSE .  445))
-      ((default . error) (THEN .  444))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
+      ((default . error) (PLUS .  143) (MINUS .  142) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (ABS .  145) (NOT .  148) 
(NULL .  149) (NEW .  147) (LEFT_PAREN .  146))
+      ((default . error) (IN .  459))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (RANGE .  457) (LEFT_PAREN .  219) (ACCESS .  216) 
(DELTA .  217) (DIGITS .  218) (MOD .  220) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48))
+      ((default . error) (OTHERS .  171) (IDENTIFIER .  47) (CHARACTER_LITERAL 
.  49) (STRING_LITERAL .  48) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
170) (NULL .  149) (NEW .  147) (LEFT_PAREN .  146))
+      ((default . error) (BOX .  453) (PLUS .  143) (MINUS .  142) (ABS .  
145) (NOT .  148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (THEN .  451) (PLUS .  143) (MINUS .  142) (ABS .  
145) (NOT .  148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (ELSE .  449) (PLUS .  143) (MINUS .  142) (ABS .  
145) (NOT .  148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (ELSE .  447))
+      ((default . error) (THEN .  446))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
       ((default . error) (XOR . (primary . 0)) (OR . (primary . 0)) (AND . 
(primary . 0)) (SLASH_EQUAL . (primary . 0)) (LESS_EQUAL . (primary . 0)) (LESS 
. (primary . 0)) (GREATER_EQUAL . (primary . 0)) (GREATER . (primary . 0)) 
(EQUAL . (primary . 0)) (EQUAL_GREATER . (primary . 0)) (BAR . (primary . 0)) 
(PLUS . (primary . 0)) (MINUS . (primary . 0)) (AMPERSAND . (primary . 0)) 
(DOT_DOT . (primary . 0)) (SLASH . (primary . 0)) (STAR . (primary . 0)) (MOD . 
(primary . 0)) (REM . (primar [...]
       ((default . error) (COLON_EQUAL . (factor . 3)) (OF . (factor . 3)) 
(LOOP . (factor . 3)) (DO . (factor . 3)) (PLUS . (factor . 3)) (MINUS . 
(factor . 3)) (AMPERSAND . (factor . 3)) (SEMICOLON . (factor . 3)) (SLASH . 
(factor . 3)) (STAR . (factor . 3)) (MOD . (factor . 3)) (REM . (factor . 3)) 
(XOR . (factor . 3)) (OR . (factor . 3)) (AND . (factor . 3)) (IN . (factor . 
3)) (NOT . (factor . 3)) (EQUAL . (factor . 3)) (GREATER . (factor . 3)) 
(GREATER_EQUAL . (factor . 3)) (LESS .  [...]
-      ((default . error) (BOX .  437) (PLUS .  142) (MINUS .  141) (ABS .  
144) (NOT .  147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (COLON . ( 436 (identifier_list . 0))) (COMMA . 
(identifier_list . 0)))
-      ((default . error) (IDENTIFIER .  431) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  432))
-      ((default . error) (BODY .  430) (IDENTIFIER .  47) (CHARACTER_LITERAL . 
 49) (STRING_LITERAL .  48))
-      ((default . error) (IDENTIFIER .  427) (TYPE .  429) (BODY .  428))
-      ((default . error) (IDENTIFIER .  426))
-      ((default . error) (TYPE .  425) (BODY .  424) (IDENTIFIER .  423))
-      ((default . error) (IDENTIFIER .  422))
+      ((default . error) (BOX .  439) (PLUS .  143) (MINUS .  142) (ABS .  
145) (NOT .  148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (COLON . ( 438 (identifier_list . 0))) (COMMA . 
(identifier_list . 0)))
+      ((default . error) (IDENTIFIER .  433) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  434))
+      ((default . error) (BODY .  432) (IDENTIFIER .  47) (CHARACTER_LITERAL . 
 49) (STRING_LITERAL .  48))
+      ((default . error) (IDENTIFIER .  429) (TYPE .  431) (BODY .  430))
+      ((default . error) (IDENTIFIER .  428))
+      ((default . error) (TYPE .  427) (BODY .  426) (IDENTIFIER .  425))
+      ((default . error) (IDENTIFIER .  424))
       ((default . error) (END . (declaration . 0)) (PRIVATE . (declaration . 
0)) (USE . (declaration . 0)) (TYPE . (declaration . 0)) (TASK . (declaration . 
0)) (SUBTYPE . (declaration . 0)) (PROTECTED . (declaration . 0)) (PROCEDURE . 
(declaration . 0)) (PRAGMA . (declaration . 0)) (PACKAGE . (declaration . 0)) 
(OVERRIDING . (declaration . 0)) (NOT . (declaration . 0)) (GENERIC . 
(declaration . 0)) (FUNCTION . (declaration . 0)) (FOR . (declaration . 0)) 
(ENTRY . (declaration . 0)) (IDE [...]
       ((default . error) (END . (declaration . 1)) (PRIVATE . (declaration . 
1)) (USE . (declaration . 1)) (TYPE . (declaration . 1)) (TASK . (declaration . 
1)) (SUBTYPE . (declaration . 1)) (PROTECTED . (declaration . 1)) (PROCEDURE . 
(declaration . 1)) (PRAGMA . (declaration . 1)) (PACKAGE . (declaration . 1)) 
(OVERRIDING . (declaration . 1)) (NOT . (declaration . 1)) (GENERIC . 
(declaration . 1)) (FUNCTION . (declaration . 1)) (FOR . (declaration . 1)) 
(ENTRY . (declaration . 1)) (IDE [...]
       ((default . error) (WHEN . (aspect_clause . 3)) (PRIVATE . 
(aspect_clause . 3)) (END . (aspect_clause . 3)) (CASE . (aspect_clause . 3)) 
(BEGIN . (aspect_clause . 3)) (IDENTIFIER . (aspect_clause . 3)) (ENTRY . 
(aspect_clause . 3)) (FOR . (aspect_clause . 3)) (FUNCTION . (aspect_clause . 
3)) (GENERIC . (aspect_clause . 3)) (NOT . (aspect_clause . 3)) (OVERRIDING . 
(aspect_clause . 3)) (PACKAGE . (aspect_clause . 3)) (PRAGMA . (aspect_clause . 
3)) (PROCEDURE . (aspect_clause . 3)) ( [...]
       ((default . error) (END . (declaration . 2)) (PRIVATE . (declaration . 
2)) (USE . (declaration . 2)) (TYPE . (declaration . 2)) (TASK . (declaration . 
2)) (SUBTYPE . (declaration . 2)) (PROTECTED . (declaration . 2)) (PROCEDURE . 
(declaration . 2)) (PRAGMA . (declaration . 2)) (PACKAGE . (declaration . 2)) 
(OVERRIDING . (declaration . 2)) (NOT . (declaration . 2)) (GENERIC . 
(declaration . 2)) (FUNCTION . (declaration . 2)) (FOR . (declaration . 2)) 
(ENTRY . (declaration . 2)) (IDE [...]
       ((default . error) (PRIVATE . (body . 1)) (END . (body . 1)) (BEGIN . 
(body . 1)) (IDENTIFIER . (body . 1)) (ENTRY . (body . 1)) (FOR . (body . 1)) 
(FUNCTION . (body . 1)) (GENERIC . (body . 1)) (NOT . (body . 1)) (OVERRIDING . 
(body . 1)) (PACKAGE . (body . 1)) (PRAGMA . (body . 1)) (PROCEDURE . (body . 
1)) (PROTECTED . (body . 1)) (SUBTYPE . (body . 1)) (TASK . (body . 1)) (TYPE . 
(body . 1)) (USE . (body . 1)))
       ((default . error) (PRIVATE . (declarations . 0)) (END . (declarations . 
0)) (BEGIN . (declarations . 0)) (IDENTIFIER . (declarations . 0)) (ENTRY . 
(declarations . 0)) (FOR . (declarations . 0)) (FUNCTION . (declarations . 0)) 
(GENERIC . (declarations . 0)) (NOT . (declarations . 0)) (OVERRIDING . 
(declarations . 0)) (PACKAGE . (declarations . 0)) (PRAGMA . (declarations . 
0)) (PROCEDURE . (declarations . 0)) (PROTECTED . (declarations . 0)) (SUBTYPE 
. (declarations . 0)) (TASK .  [...]
-      ((default . error) (END . (declarative_part_opt . 1)) (PRIVATE . 
(declarative_part_opt . 1)) (BEGIN . (declarative_part_opt . 1)) (USE .  11) 
(SUBTYPE .  289) (PRAGMA .  7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . 
(overriding_indicator_opt . 2)) (PROCEDURE . (overriding_indicator_opt . 2)) 
(ENTRY . (overriding_indicator_opt . 2)) (FOR .  286) (IDENTIFIER .  285) (TYPE 
.  291) (GENERIC .  2) (PROTECTED .  288) (TASK .  290) (PACKAGE .  287))
-      ((default . error) (END .  419) (PRIVATE .  420))
+      ((default . error) (END . (declarative_part_opt . 1)) (PRIVATE . 
(declarative_part_opt . 1)) (BEGIN . (declarative_part_opt . 1)) (USE .  11) 
(SUBTYPE .  291) (PRAGMA .  7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . 
(overriding_indicator_opt . 2)) (PROCEDURE . (overriding_indicator_opt . 2)) 
(ENTRY . (overriding_indicator_opt . 2)) (FOR .  288) (IDENTIFIER .  287) (TYPE 
.  293) (GENERIC .  2) (PROTECTED .  290) (TASK .  292) (PACKAGE .  289))
+      ((default . error) (END .  421) (PRIVATE .  422))
       ((default . error) (END . (declaration . 3)) (PRIVATE . (declaration . 
3)) (USE . (declaration . 3)) (TYPE . (declaration . 3)) (TASK . (declaration . 
3)) (SUBTYPE . (declaration . 3)) (PROTECTED . (declaration . 3)) (PROCEDURE . 
(declaration . 3)) (PRAGMA . (declaration . 3)) (PACKAGE . (declaration . 3)) 
(OVERRIDING . (declaration . 3)) (NOT . (declaration . 3)) (GENERIC . 
(declaration . 3)) (FUNCTION . (declaration . 3)) (FOR . (declaration . 3)) 
(ENTRY . (declaration . 3)) (IDE [...]
       ((default . error) (WHEN . (aspect_clause . 1)) (PRIVATE . 
(aspect_clause . 1)) (END . (aspect_clause . 1)) (CASE . (aspect_clause . 1)) 
(BEGIN . (aspect_clause . 1)) (IDENTIFIER . (aspect_clause . 1)) (ENTRY . 
(aspect_clause . 1)) (FOR . (aspect_clause . 1)) (FUNCTION . (aspect_clause . 
1)) (GENERIC . (aspect_clause . 1)) (NOT . (aspect_clause . 1)) (OVERRIDING . 
(aspect_clause . 1)) (PACKAGE . (aspect_clause . 1)) (PRAGMA . (aspect_clause . 
1)) (PROCEDURE . (aspect_clause . 1)) ( [...]
       ((default . error) (END . (declaration . 4)) (PRIVATE . (declaration . 
4)) (USE . (declaration . 4)) (TYPE . (declaration . 4)) (TASK . (declaration . 
4)) (SUBTYPE . (declaration . 4)) (PROTECTED . (declaration . 4)) (PROCEDURE . 
(declaration . 4)) (PRAGMA . (declaration . 4)) (PACKAGE . (declaration . 4)) 
(OVERRIDING . (declaration . 4)) (NOT . (declaration . 4)) (GENERIC . 
(declaration . 4)) (FUNCTION . (declaration . 4)) (FOR . (declaration . 4)) 
(ENTRY . (declaration . 4)) (IDE [...]
@@ -1969,12 +1970,12 @@
       ((default . error) (END . (declaration . 5)) (PRIVATE . (declaration . 
5)) (USE . (declaration . 5)) (TYPE . (declaration . 5)) (TASK . (declaration . 
5)) (SUBTYPE . (declaration . 5)) (PROTECTED . (declaration . 5)) (PROCEDURE . 
(declaration . 5)) (PRAGMA . (declaration . 5)) (PACKAGE . (declaration . 5)) 
(OVERRIDING . (declaration . 5)) (NOT . (declaration . 5)) (GENERIC . 
(declaration . 5)) (FUNCTION . (declaration . 5)) (FOR . (declaration . 5)) 
(ENTRY . (declaration . 5)) (IDE [...]
       ((default . error) (END . (declaration . 6)) (PRIVATE . (declaration . 
6)) (USE . (declaration . 6)) (TYPE . (declaration . 6)) (TASK . (declaration . 
6)) (SUBTYPE . (declaration . 6)) (PROTECTED . (declaration . 6)) (PROCEDURE . 
(declaration . 6)) (PRAGMA . (declaration . 6)) (PACKAGE . (declaration . 6)) 
(OVERRIDING . (declaration . 6)) (NOT . (declaration . 6)) (GENERIC . 
(declaration . 6)) (FUNCTION . (declaration . 6)) (FOR . (declaration . 6)) 
(ENTRY . (declaration . 6)) (IDE [...]
       ((default . error) (PRIVATE . (renaming_declaration . 3)) (END . 
(renaming_declaration . 3)) (BEGIN . (renaming_declaration . 3)) (IDENTIFIER . 
(renaming_declaration . 3)) (ENTRY . (renaming_declaration . 3)) (FOR . 
(renaming_declaration . 3)) (FUNCTION . (renaming_declaration . 3)) (GENERIC . 
(renaming_declaration . 3)) (NOT . (renaming_declaration . 3)) (OVERRIDING . 
(renaming_declaration . 3)) (PACKAGE . (renaming_declaration . 3)) (PRAGMA . 
(renaming_declaration . 3)) (PROCEDUR [...]
-      ((default . error) (COMMA .  94) (COLON .  418))
+      ((default . error) (COMMA .  94) (COLON .  420))
       ((default . error) (PRIVATE . (type_declaration . 1)) (END . 
(type_declaration . 1)) (BEGIN . (type_declaration . 1)) (IDENTIFIER . 
(type_declaration . 1)) (ENTRY . (type_declaration . 1)) (FOR . 
(type_declaration . 1)) (FUNCTION . (type_declaration . 1)) (GENERIC . 
(type_declaration . 1)) (NOT . (type_declaration . 1)) (OVERRIDING . 
(type_declaration . 1)) (PACKAGE . (type_declaration . 1)) (PRAGMA . 
(type_declaration . 1)) (PROCEDURE . (type_declaration . 1)) (PROTECTED . 
(type_d [...]
       ((default . error) (END . (declaration . 7)) (PRIVATE . (declaration . 
7)) (USE . (declaration . 7)) (TYPE . (declaration . 7)) (TASK . (declaration . 
7)) (SUBTYPE . (declaration . 7)) (PROTECTED . (declaration . 7)) (PROCEDURE . 
(declaration . 7)) (PRAGMA . (declaration . 7)) (PACKAGE . (declaration . 7)) 
(OVERRIDING . (declaration . 7)) (NOT . (declaration . 7)) (GENERIC . 
(declaration . 7)) (FUNCTION . (declaration . 7)) (FOR . (declaration . 7)) 
(ENTRY . (declaration . 7)) (IDE [...]
       ((default . error) (END . (declaration . 9)) (PRIVATE . (declaration . 
9)) (USE . (declaration . 9)) (TYPE . (declaration . 9)) (TASK . (declaration . 
9)) (SUBTYPE . (declaration . 9)) (PROTECTED . (declaration . 9)) (PROCEDURE . 
(declaration . 9)) (PRAGMA . (declaration . 9)) (PACKAGE . (declaration . 9)) 
(OVERRIDING . (declaration . 9)) (NOT . (declaration . 9)) (GENERIC . 
(declaration . 9)) (FUNCTION . (declaration . 9)) (FOR . (declaration . 9)) 
(ENTRY . (declaration . 9)) (IDE [...]
       ((default . error) (PRIVATE . (renaming_declaration . 0)) (END . 
(renaming_declaration . 0)) (BEGIN . (renaming_declaration . 0)) (IDENTIFIER . 
(renaming_declaration . 0)) (ENTRY . (renaming_declaration . 0)) (FOR . 
(renaming_declaration . 0)) (FUNCTION . (renaming_declaration . 0)) (GENERIC . 
(renaming_declaration . 0)) (NOT . (renaming_declaration . 0)) (OVERRIDING . 
(renaming_declaration . 0)) (PACKAGE . (renaming_declaration . 0)) (PRAGMA . 
(renaming_declaration . 0)) (PROCEDUR [...]
-      ((default . error) (ENTRY .  415) (FUNCTION .  39) (PROCEDURE .  40))
+      ((default . error) (ENTRY .  417) (FUNCTION .  39) (PROCEDURE .  40))
       ((default . error) ($EOI . (proper_body . 1)) (LIMITED . (proper_body . 
1)) (SEPARATE . (proper_body . 1)) (WITH . (proper_body . 1)) (END . 
(proper_body . 1)) (PRIVATE . (proper_body . 1)) (USE . (proper_body . 1)) 
(TYPE . (proper_body . 1)) (TASK . (proper_body . 1)) (SUBTYPE . (proper_body . 
1)) (PROTECTED . (proper_body . 1)) (PROCEDURE . (proper_body . 1)) (PRAGMA . 
(proper_body . 1)) (PACKAGE . (proper_body . 1)) (OVERRIDING . (proper_body . 
1)) (NOT . (proper_body . 1)) (GEN [...]
       ((default . error) (END . (body_stub . 1)) (PRIVATE . (body_stub . 1)) 
(USE . (body_stub . 1)) (TYPE . (body_stub . 1)) (TASK . (body_stub . 1)) 
(SUBTYPE . (body_stub . 1)) (PROTECTED . (body_stub . 1)) (PROCEDURE . 
(body_stub . 1)) (PRAGMA . (body_stub . 1)) (PACKAGE . (body_stub . 1)) 
(OVERRIDING . (body_stub . 1)) (NOT . (body_stub . 1)) (GENERIC . (body_stub . 
1)) (FUNCTION . (body_stub . 1)) (FOR . (body_stub . 1)) (ENTRY . (body_stub . 
1)) (IDENTIFIER . (body_stub . 1)) (BEGI [...]
       ((default . error) (END . (declaration . 10)) (PRIVATE . (declaration . 
10)) (USE . (declaration . 10)) (TYPE . (declaration . 10)) (TASK . 
(declaration . 10)) (SUBTYPE . (declaration . 10)) (PROTECTED . (declaration . 
10)) (PROCEDURE . (declaration . 10)) (PRAGMA . (declaration . 10)) (PACKAGE . 
(declaration . 10)) (OVERRIDING . (declaration . 10)) (NOT . (declaration . 
10)) (GENERIC . (declaration . 10)) (FUNCTION . (declaration . 10)) (FOR . 
(declaration . 10)) (ENTRY . (declara [...]
@@ -2000,291 +2001,292 @@
       ((default . error) (END . (full_type_declaration . 1)) (PRIVATE . 
(full_type_declaration . 1)) (USE . (full_type_declaration . 1)) (TYPE . 
(full_type_declaration . 1)) (TASK . (full_type_declaration . 1)) (SUBTYPE . 
(full_type_declaration . 1)) (PROTECTED . (full_type_declaration . 1)) 
(PROCEDURE . (full_type_declaration . 1)) (PRAGMA . (full_type_declaration . 
1)) (PACKAGE . (full_type_declaration . 1)) (OVERRIDING . 
(full_type_declaration . 1)) (NOT . (full_type_declaration . 1)) [...]
       ((default . error) (END . (declaration . 15)) (PRIVATE . (declaration . 
15)) (USE . (declaration . 15)) (TYPE . (declaration . 15)) (TASK . 
(declaration . 15)) (SUBTYPE . (declaration . 15)) (PROTECTED . (declaration . 
15)) (PROCEDURE . (declaration . 15)) (PRAGMA . (declaration . 15)) (PACKAGE . 
(declaration . 15)) (OVERRIDING . (declaration . 15)) (NOT . (declaration . 
15)) (GENERIC . (declaration . 15)) (FUNCTION . (declaration . 15)) (FOR . 
(declaration . 15)) (ENTRY . (declara [...]
       ((default . error) (END . (declaration . 16)) (PRIVATE . (declaration . 
16)) (USE . (declaration . 16)) (TYPE . (declaration . 16)) (TASK . 
(declaration . 16)) (SUBTYPE . (declaration . 16)) (PROTECTED . (declaration . 
16)) (PROCEDURE . (declaration . 16)) (PRAGMA . (declaration . 16)) (PACKAGE . 
(declaration . 16)) (OVERRIDING . (declaration . 16)) (NOT . (declaration . 
16)) (GENERIC . (declaration . 16)) (FUNCTION . (declaration . 16)) (FOR . 
(declaration . 16)) (ENTRY . (declara [...]
-      ((default . error) (BEGIN . (declarative_part_opt . 0)) (END . 
(declarative_part_opt . 0)) (USE .  11) (SUBTYPE .  289) (PRAGMA .  7) (NOT .  
4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) (PROCEDURE . 
(overriding_indicator_opt . 2)) (ENTRY . (overriding_indicator_opt . 2)) (FOR . 
 286) (IDENTIFIER .  285) (TYPE .  291) (GENERIC .  2) (PROTECTED .  288) (TASK 
.  290) (PACKAGE .  287))
-      ((default . error) (COLON_EQUAL . (simple_expression . 0)) (OF . 
(simple_expression . 0)) (LOOP . (simple_expression . 0)) (DO . 
(simple_expression . 0)) (DOT_DOT . (simple_expression . 0)) (SEMICOLON . 
(simple_expression . 0)) (XOR . (simple_expression . 0)) (OR . 
(simple_expression . 0)) (AND . (simple_expression . 0)) (SLASH_EQUAL . 
(simple_expression . 0)) (LESS_EQUAL . (simple_expression . 0)) (LESS . 
(simple_expression . 0)) (GREATER_EQUAL . (simple_expression . 0)) (GREATER  
[...]
+      ((default . error) (BEGIN . (declarative_part_opt . 0)) (END . 
(declarative_part_opt . 0)) (USE .  11) (SUBTYPE .  291) (PRAGMA .  7) (NOT .  
4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) (PROCEDURE . 
(overriding_indicator_opt . 2)) (ENTRY . (overriding_indicator_opt . 2)) (FOR . 
 288) (IDENTIFIER .  287) (TYPE .  293) (GENERIC .  2) (PROTECTED .  290) (TASK 
.  292) (PACKAGE .  289))
+      ((default . error) (COLON_EQUAL . (simple_expression . 0)) (OF . 
(simple_expression . 0)) (LOOP . (simple_expression . 0)) (DO . 
(simple_expression . 0)) (DOT_DOT . (simple_expression . 0)) (SEMICOLON . 
(simple_expression . 0)) (XOR . (simple_expression . 0)) (OR . 
(simple_expression . 0)) (AND . (simple_expression . 0)) (SLASH_EQUAL . 
(simple_expression . 0)) (LESS_EQUAL . (simple_expression . 0)) (LESS . 
(simple_expression . 0)) (GREATER_EQUAL . (simple_expression . 0)) (GREATER  
[...]
       ((default . error) (IDENTIFIER . (binary_adding_operator . 2)) 
(STRING_LITERAL . (binary_adding_operator . 2)) (CHARACTER_LITERAL . 
(binary_adding_operator . 2)) (ABS . (binary_adding_operator . 2)) (LEFT_PAREN 
. (binary_adding_operator . 2)) (NEW . (binary_adding_operator . 2)) (NOT . 
(binary_adding_operator . 2)) (NULL . (binary_adding_operator . 2)))
       ((default . error) (IDENTIFIER . (binary_adding_operator . 1)) 
(STRING_LITERAL . (binary_adding_operator . 1)) (CHARACTER_LITERAL . 
(binary_adding_operator . 1)) (ABS . (binary_adding_operator . 1)) (LEFT_PAREN 
. (binary_adding_operator . 1)) (NEW . (binary_adding_operator . 1)) (NOT . 
(binary_adding_operator . 1)) (NULL . (binary_adding_operator . 1)))
       ((default . error) (IDENTIFIER . (binary_adding_operator . 0)) 
(STRING_LITERAL . (binary_adding_operator . 0)) (CHARACTER_LITERAL . 
(binary_adding_operator . 0)) (ABS . (binary_adding_operator . 0)) (LEFT_PAREN 
. (binary_adding_operator . 0)) (NEW . (binary_adding_operator . 0)) (NOT . 
(binary_adding_operator . 0)) (NULL . (binary_adding_operator . 0)))
-      ((default . error) (ABS .  144) (NOT .  147) (NULL .  148) (NEW .  146) 
(IDENTIFIER .  47) (CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN 
.  145))
+      ((default . error) (ABS .  145) (NOT .  148) (NULL .  149) (NEW .  147) 
(IDENTIFIER .  47) (CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN 
.  146))
       ((default . error) (IDENTIFIER . (multiplying_operator . 1)) 
(STRING_LITERAL . (multiplying_operator . 1)) (CHARACTER_LITERAL . 
(multiplying_operator . 1)) (ABS . (multiplying_operator . 1)) (LEFT_PAREN . 
(multiplying_operator . 1)) (NEW . (multiplying_operator . 1)) (NOT . 
(multiplying_operator . 1)) (NULL . (multiplying_operator . 1)))
       ((default . error) (IDENTIFIER . (multiplying_operator . 0)) 
(STRING_LITERAL . (multiplying_operator . 0)) (CHARACTER_LITERAL . 
(multiplying_operator . 0)) (ABS . (multiplying_operator . 0)) (LEFT_PAREN . 
(multiplying_operator . 0)) (NEW . (multiplying_operator . 0)) (NOT . 
(multiplying_operator . 0)) (NULL . (multiplying_operator . 0)))
       ((default . error) (IDENTIFIER . (multiplying_operator . 2)) 
(STRING_LITERAL . (multiplying_operator . 2)) (CHARACTER_LITERAL . 
(multiplying_operator . 2)) (ABS . (multiplying_operator . 2)) (LEFT_PAREN . 
(multiplying_operator . 2)) (NEW . (multiplying_operator . 2)) (NOT . 
(multiplying_operator . 2)) (NULL . (multiplying_operator . 2)))
       ((default . error) (IDENTIFIER . (multiplying_operator . 3)) 
(STRING_LITERAL . (multiplying_operator . 3)) (CHARACTER_LITERAL . 
(multiplying_operator . 3)) (ABS . (multiplying_operator . 3)) (LEFT_PAREN . 
(multiplying_operator . 3)) (NEW . (multiplying_operator . 3)) (NOT . 
(multiplying_operator . 3)) (NULL . (multiplying_operator . 3)))
-      ((default . error) (ABS .  144) (NOT .  147) (NULL .  148) (NEW .  146) 
(IDENTIFIER .  47) (CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN 
.  145))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (THEN .  409) (PLUS .  142) (MINUS .  141) (ABS .  
144) (NOT .  147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (ELSE .  407) (PLUS .  142) (MINUS .  141) (ABS .  
144) (NOT .  147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (ELSE .  404))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (THEN .  402))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  143) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (SEMICOLON .  398))
+      ((default . error) (ABS .  145) (NOT .  148) (NULL .  149) (NEW .  147) 
(IDENTIFIER .  47) (CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN 
.  146))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (THEN .  411) (PLUS .  143) (MINUS .  142) (ABS .  
145) (NOT .  148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (ELSE .  409) (PLUS .  143) (MINUS .  142) (ABS .  
145) (NOT .  148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (ELSE .  406))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (THEN .  404))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  144) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (SEMICOLON .  400))
       ((default . error) (DOT .  86) (TICK .  87) (COLON_EQUAL . (primary . 
3)) (OF . (primary . 3)) (LOOP . (primary . 3)) (DO . (primary . 3)) (STAR_STAR 
. (primary . 3)) (REM . (primary . 3)) (MOD . (primary . 3)) (STAR . (primary . 
3)) (SLASH . (primary . 3)) (DOT_DOT . (primary . 3)) (AMPERSAND . (primary . 
3)) (MINUS . (primary . 3)) (PLUS . (primary . 3)) (SEMICOLON . (primary . 3)) 
(XOR . (primary . 3)) (OR . (primary . 3)) (AND . (primary . 3)) (SLASH_EQUAL . 
(primary . 3)) (LES [...]
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (ALL .  394) (SOME .  395))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (ALL .  396) (SOME .  397))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (RIGHT_PAREN .  394))
+      ((default . error) (RIGHT_PAREN .  393))
       ((default . error) (RIGHT_PAREN .  392))
-      ((default . error) (RIGHT_PAREN .  391))
-      ((default . error) (RIGHT_PAREN .  390))
       ((default . error) (COLON_EQUAL . (factor . 2)) (OF . (factor . 2)) 
(LOOP . (factor . 2)) (DO . (factor . 2)) (PLUS . (factor . 2)) (MINUS . 
(factor . 2)) (AMPERSAND . (factor . 2)) (DOT_DOT . (factor . 2)) (SLASH . 
(factor . 2)) (STAR . (factor . 2)) (MOD . (factor . 2)) (REM . (factor . 2)) 
(SEMICOLON . (factor . 2)) (XOR . (factor . 2)) (OR . (factor . 2)) (AND . 
(factor . 2)) (IN . (factor . 2)) (NOT . (factor . 2)) (EQUAL . (factor . 2)) 
(GREATER . (factor . 2)) (GREATER_EQUAL [...]
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (IDENTIFIER .  388))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (IDENTIFIER .  390))
       ((default . error) (BODY .  66))
-      ((default . error) (BODY .  387))
-      ((default . error) (BODY .  386))
+      ((default . error) (BODY .  389))
+      ((default . error) (BODY .  388))
       ((default . error) (FUNCTION .  1) (PROCEDURE .  9))
       ((default . error) ($EOI . (subunit . 0)) (FUNCTION . (subunit . 0)) 
(GENERIC . (subunit . 0)) (LIMITED . (subunit . 0)) (NOT . (subunit . 0)) 
(OVERRIDING . (subunit . 0)) (PACKAGE . (subunit . 0)) (PRAGMA . (subunit . 0)) 
(PRIVATE . (subunit . 0)) (PROCEDURE . (subunit . 0)) (SEPARATE . (subunit . 
0)) (USE . (subunit . 0)) (WITH . (subunit . 0)))
       ((default . error) (WITH . (use_clause . 1)) (SEPARATE . (use_clause . 
1)) (LIMITED . (use_clause . 1)) ($EOI . (use_clause . 1)) (PRIVATE . 
(use_clause . 1)) (END . (use_clause . 1)) (BEGIN . (use_clause . 1)) 
(IDENTIFIER . (use_clause . 1)) (ENTRY . (use_clause . 1)) (FOR . (use_clause . 
1)) (FUNCTION . (use_clause . 1)) (GENERIC . (use_clause . 1)) (NOT . 
(use_clause . 1)) (OVERRIDING . (use_clause . 1)) (PACKAGE . (use_clause . 1)) 
(PRAGMA . (use_clause . 1)) (PROCEDURE . (use_ [...]
-      ((default . error) (SEMICOLON .  384))
-      ((default . error) (BEGIN .  383))
+      ((default . error) (SEMICOLON .  386))
+      ((default . error) (BEGIN .  385))
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
       ((default . error) (DOT .  86) (TICK .  87) (SEMICOLON . 
(aspect_specification_opt . 0)) (WITH .  107) (LEFT_PAREN .  105))
       ((default . error) (DOT .  86) (TICK .  87) (SEMICOLON . 
(aspect_specification_opt . 0)) (WITH .  107) (LEFT_PAREN .  105))
-      ((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)) 
(STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL . (label_opt . 0)) (ABORT 
. (label_opt . 0)) (DELAY . (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)) 
(STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL . (label_opt . 0)) (ABORT 
. (label_opt . 0)) (DELAY . (label_opt .  [...]
       ((default . error) (BEGIN . (subprogram_renaming_declaration . 0)) 
(IDENTIFIER . (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)) (END . 
(subprogram_renaming_declaration . 0)) (WITH . (subprogram_renaming_d [...]
       ((default . error) (IS . (aspect_specification_opt . 0)) (WITH .  107))
-      ((default . error) (IDENTIFIER .  603))
-      ((default . error) (IDENTIFIER .  602))
-      ((default . error) (EQUAL_GREATER .  601))
+      ((default . error) (IDENTIFIER .  605))
+      ((default . error) (IDENTIFIER .  604))
+      ((default . error) (EQUAL_GREATER .  603))
       ((default . error) (COMMA . (pragma_argument_association . 0)) 
(RIGHT_PAREN . (pragma_argument_association . 0)))
       ((default . error) (OF . (primary . 6)) (COLON_EQUAL . (primary . 6)) 
(DO . (primary . 6)) (LOOP . (primary . 6)) (ELSIF . (primary . 6)) (ELSE . 
(primary . 6)) (DIGITS . (primary . 6)) (RIGHT_PAREN . (primary . 6)) (COMMA . 
(primary . 6)) (RANGE . (primary . 6)) (THEN . (primary . 6)) (WITH . (primary 
. 6)) (BAR . (primary . 6)) (EQUAL_GREATER . (primary . 6)) (IS . (primary . 
6)) (IN . (primary . 6)) (NOT . (primary . 6)) (EQUAL . (primary . 6)) (GREATER 
. (primary . 6)) (GREATER [...]
       ((default . error) (OF . (primary . 4)) (COLON_EQUAL . (primary . 4)) 
(DO . (primary . 4)) (LOOP . (primary . 4)) (ELSIF . (primary . 4)) (ELSE . 
(primary . 4)) (DIGITS . (primary . 4)) (RIGHT_PAREN . (primary . 4)) (COMMA . 
(primary . 4)) (RANGE . (primary . 4)) (THEN . (primary . 4)) (WITH . (primary 
. 4)) (BAR . (primary . 4)) (EQUAL_GREATER . (primary . 4)) (IS . (primary . 
4)) (IN . (primary . 4)) (NOT . (primary . 4)) (EQUAL . (primary . 4)) (GREATER 
. (primary . 4)) (GREATER [...]
       ((default . error) (OF . (primary . 5)) (COLON_EQUAL . (primary . 5)) 
(DO . (primary . 5)) (LOOP . (primary . 5)) (ELSIF . (primary . 5)) (ELSE . 
(primary . 5)) (DIGITS . (primary . 5)) (RIGHT_PAREN . (primary . 5)) (COMMA . 
(primary . 5)) (RANGE . (primary . 5)) (THEN . (primary . 5)) (WITH . (primary 
. 5)) (BAR . (primary . 5)) (EQUAL_GREATER . (primary . 5)) (IS . (primary . 
5)) (IN . (primary . 5)) (NOT . (primary . 5)) (EQUAL . (primary . 5)) (GREATER 
. (primary . 5)) (GREATER [...]
-      ((default . error) (THEN .  600))
+      ((default . error) (THEN .  602))
       ((default . error) (IDENTIFIER . (quantifier . 0)))
       ((default . error) (IDENTIFIER . (quantifier . 1)))
-      ((default . error) (IDENTIFIER .  598))
-      ((default . error) (IS .  597))
+      ((default . error) (IDENTIFIER .  600))
+      ((default . error) (IS .  599))
       ((default . error) (WHEN . (pragma . 0)) (THEN . (pragma . 0)) (OR . 
(pragma . 0)) (ELSIF . (pragma . 0)) (ELSE . (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 . 0)) (ABORT . (pragma . 0)) 
(ACCEPT . (pragma . 0)) (CHARACTER_LIT [...]
       ((default . error) (RIGHT_PAREN . (pragma_argument_association_list . 
1)) (COMMA . (pragma_argument_association_list . 1)))
       ((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)) (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_and_list . 1)) (IS . (relation_and_list . 1)) (AND . (relation [...]
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
       ((default . error) (DO . (relation_or_list . 1)) (LOOP . 
(relation_or_list . 1)) (ELSIF . (relation_or_list . 1)) (ELSE . 
(relation_or_list . 1)) (EQUAL_GREATER . (relation_or_list . 1)) (DIGITS . 
(relation_or_list . 1)) (RIGHT_PAREN . (relation_or_list . 1)) (COMMA . 
(relation_or_list . 1)) (RANGE . (relation_or_list . 1)) (THEN . 
(relation_or_list . 1)) (SEMICOLON . (relation_or_list . 1)) (WITH . 
(relation_or_list . 1)) (IS . (relation_or_list . 1)) (OR . (relation_or_list . 
1)))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
       ((default . error) (DO . (relation_xor_list . 1)) (LOOP . 
(relation_xor_list . 1)) (ELSIF . (relation_xor_list . 1)) (ELSE . 
(relation_xor_list . 1)) (EQUAL_GREATER . (relation_xor_list . 1)) (DIGITS . 
(relation_xor_list . 1)) (RIGHT_PAREN . (relation_xor_list . 1)) (COMMA . 
(relation_xor_list . 1)) (RANGE . (relation_xor_list . 1)) (THEN . 
(relation_xor_list . 1)) (SEMICOLON . (relation_xor_list . 1)) (WITH . 
(relation_xor_list . 1)) (IS . (relation_xor_list . 1)) (XOR . (relation [...]
       ((default . error) (DO . (relation_xor_list . 0)) (LOOP . 
(relation_xor_list . 0)) (ELSIF . (relation_xor_list . 0)) (ELSE . 
(relation_xor_list . 0)) (EQUAL_GREATER . (relation_xor_list . 0)) (DIGITS . 
(relation_xor_list . 0)) (RIGHT_PAREN . (relation_xor_list . 0)) (COMMA . 
(relation_xor_list . 0)) (RANGE . (relation_xor_list . 0)) (THEN . 
(relation_xor_list . 0)) (SEMICOLON . (relation_xor_list . 0)) (WITH . 
(relation_xor_list . 0)) (IS . (relation_xor_list . 0)) (XOR . (relation [...]
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
       ((default . error) (DO . (relation_or_list . 0)) (LOOP . 
(relation_or_list . 0)) (ELSIF . (relation_or_list . 0)) (ELSE . 
(relation_or_list . 0)) (EQUAL_GREATER . (relation_or_list . 0)) (DIGITS . 
(relation_or_list . 0)) (RIGHT_PAREN . (relation_or_list . 0)) (COMMA . 
(relation_or_list . 0)) (RANGE . (relation_or_list . 0)) (THEN . 
(relation_or_list . 0)) (SEMICOLON . (relation_or_list . 0)) (WITH . 
(relation_or_list . 0)) (IS . (relation_or_list . 0)) (OR . (relation_or_list . 
0)))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
       ((default . error) (DO . (relation_and_list . 0)) (LOOP . 
(relation_and_list . 0)) (ELSIF . (relation_and_list . 0)) (ELSE . 
(relation_and_list . 0)) (EQUAL_GREATER . (relation_and_list . 0)) (DIGITS . 
(relation_and_list . 0)) (RIGHT_PAREN . (relation_and_list . 0)) (COMMA . 
(relation_and_list . 0)) (RANGE . (relation_and_list . 0)) (THEN . 
(relation_and_list . 0)) (SEMICOLON . (relation_and_list . 0)) (WITH . 
(relation_and_list . 0)) (IS . (relation_and_list . 0)) (AND . (relation [...]
       ((default . error) (DO . (relation . 1)) (LOOP . (relation . 1)) (COMMA 
. (relation . 1)) (RIGHT_PAREN . (relation . 1)) (ELSIF . (relation . 1)) (ELSE 
. (relation . 1)) (EQUAL_GREATER . (relation . 1)) (DIGITS . (relation . 1)) 
(RANGE . (relation . 1)) (THEN . (relation . 1)) (SEMICOLON . (relation . 1)) 
(WITH . (relation . 1)) (IS . (relation . 1)) (AND . (relation . 1)) (OR . 
(relation . 1)) (XOR . (relation . 1)))
       ((default . error) (OF . (term . 1)) (COLON_EQUAL . (term . 1)) (DO . 
(term . 1)) (LOOP . (term . 1)) (ELSIF . (term . 1)) (ELSE . (term . 1)) 
(DIGITS . (term . 1)) (RIGHT_PAREN . (term . 1)) (COMMA . (term . 1)) (RANGE . 
(term . 1)) (THEN . (term . 1)) (WITH . (term . 1)) (BAR . (term . 1)) 
(EQUAL_GREATER . (term . 1)) (IS . (term . 1)) (IN . (term . 1)) (NOT . (term . 
1)) (EQUAL . (term . 1)) (GREATER . (term . 1)) (GREATER_EQUAL . (term . 1)) 
(LESS . (term . 1)) (LESS_EQUAL . (t [...]
-      ((default . error) (OF . (term_list . 1)) (COLON_EQUAL . (term_list . 
1)) (DO . (term_list . 1)) (LOOP . (term_list . 1)) (ELSIF . (term_list . 1)) 
(ELSE . (term_list . 1)) (DIGITS . (term_list . 1)) (COMMA . (term_list . 1)) 
(RIGHT_PAREN . (term_list . 1)) (RANGE . (term_list . 1)) (THEN . (term_list . 
1)) (WITH . (term_list . 1)) (BAR . (term_list . 1)) (EQUAL_GREATER . 
(term_list . 1)) (IS . (term_list . 1)) (SLASH_EQUAL . (term_list . 1)) 
(LESS_EQUAL . (term_list . 1)) (LESS .  [...]
-      ((default . error) (BEGIN .  591) (END .  592))
-      ((default . error) (IDENTIFIER .  590))
-      ((default . error) (WITH . (subprogram_specification . 0)) (IS . ( 589 
(subprogram_specification . 0))) (SEMICOLON . (subprogram_specification . 0)) 
(RENAMES . (subprogram_specification . 0)))
-      ((default . error) (SEMICOLON .  126) (RENAMES .  127) (IS . ( 588 
(aspect_specification_opt . 0))) (WITH .  107))
-      ((default . error) (EXCEPTION .  586) (CONSTANT . ( 585 (aliased_opt . 
0))) (ARRAY . (aliased_opt . 0)) (ACCESS . (aliased_opt . 0)) (NOT . 
(aliased_opt . 0)) (IDENTIFIER . (aliased_opt . 0)) (STRING_LITERAL . 
(aliased_opt . 0)) (CHARACTER_LITERAL . (aliased_opt . 0)) (ALIASED .  507))
+      ((default . error) (OF . (term_list . 1)) (COLON_EQUAL . (term_list . 
1)) (DO . (term_list . 1)) (LOOP . (term_list . 1)) (ELSIF . (term_list . 1)) 
(ELSE . (term_list . 1)) (DIGITS . (term_list . 1)) (COMMA . (term_list . 1)) 
(RIGHT_PAREN . (term_list . 1)) (RANGE . (term_list . 1)) (THEN . (term_list . 
1)) (WITH . (term_list . 1)) (BAR . (term_list . 1)) (EQUAL_GREATER . 
(term_list . 1)) (IS . (term_list . 1)) (SLASH_EQUAL . (term_list . 1)) 
(LESS_EQUAL . (term_list . 1)) (LESS .  [...]
+      ((default . error) (BEGIN .  593) (END .  594))
+      ((default . error) (IDENTIFIER .  592))
+      ((default . error) (IS . ( 591 (subprogram_specification . 0))) (WITH . 
(subprogram_specification . 0)) (SEMICOLON . (subprogram_specification . 0)) 
(RENAMES . (subprogram_specification . 0)))
+      ((default . error) (RENAMES .  126) (SEMICOLON . 
(aspect_specification_opt . 0)) (IS . ( 590 (aspect_specification_opt . 0))) 
(WITH .  107))
+      ((default . error) (EXCEPTION .  588) (CONSTANT . ( 587 (aliased_opt . 
0))) (ARRAY . (aliased_opt . 0)) (ACCESS . (aliased_opt . 0)) (NOT . 
(aliased_opt . 0)) (IDENTIFIER . (aliased_opt . 0)) (STRING_LITERAL . 
(aliased_opt . 0)) (CHARACTER_LITERAL . (aliased_opt . 0)) (ALIASED .  509))
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
-      ((default . error) (END . (declarative_part_opt . 0)) (USE .  11) 
(SUBTYPE .  289) (PRAGMA .  7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . 
(overriding_indicator_opt . 2)) (PROCEDURE . (overriding_indicator_opt . 2)) 
(ENTRY . (overriding_indicator_opt . 2)) (FOR .  286) (IDENTIFIER .  285) (TYPE 
.  291) (GENERIC .  2) (PROTECTED .  288) (TASK .  290) (PACKAGE .  287))
+      ((default . error) (END . (declarative_part_opt . 0)) (USE .  11) 
(SUBTYPE .  291) (PRAGMA .  7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . 
(overriding_indicator_opt . 2)) (PROCEDURE . (overriding_indicator_opt . 2)) 
(ENTRY . (overriding_indicator_opt . 2)) (FOR .  288) (IDENTIFIER .  287) (TYPE 
.  293) (GENERIC .  2) (PROTECTED .  290) (TASK .  292) (PACKAGE .  289))
       ((default . error) (USE . (declarations . 1)) (TYPE . (declarations . 
1)) (TASK . (declarations . 1)) (SUBTYPE . (declarations . 1)) (PROTECTED . 
(declarations . 1)) (PROCEDURE . (declarations . 1)) (PRAGMA . (declarations . 
1)) (PACKAGE . (declarations . 1)) (OVERRIDING . (declarations . 1)) (NOT . 
(declarations . 1)) (GENERIC . (declarations . 1)) (FUNCTION . (declarations . 
1)) (FOR . (declarations . 1)) (ENTRY . (declarations . 1)) (IDENTIFIER . 
(declarations . 1)) (BEGIN . (de [...]
-      ((default . error) (SEMICOLON .  581) (IS . (discriminant_part_opt . 0)) 
(LEFT_PAREN .  196))
+      ((default . error) (SEMICOLON .  583) (IS . (discriminant_part_opt . 0)) 
(LEFT_PAREN .  197))
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (IS . 
(aspect_specification_opt . 0)) (WITH .  107))
-      ((default . error) (IDENTIFIER .  579))
-      ((default . error) (IDENTIFIER .  578))
-      ((default . error) (IS .  577))
+      ((default . error) (IDENTIFIER .  581))
+      ((default . error) (IDENTIFIER .  580))
+      ((default . error) (IS .  579))
       ((default . error) (IS . (aspect_specification_opt . 0)) (WITH .  107))
-      ((default . error) (IDENTIFIER .  575))
-      ((default . error) (IDENTIFIER .  574))
+      ((default . error) (IDENTIFIER .  577))
+      ((default . error) (IDENTIFIER .  576))
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
       ((default . error) (USE . ((direct_name . 0) (name . 0))) (LEFT_PAREN . 
(name . 0)) (DOT . (name . 0)) (TICK . (name . 0)))
       ((default . error) (USE . ((direct_name . 1) (name . 7))) (LEFT_PAREN . 
(name . 7)) (DOT . (name . 7)) (TICK . (name . 7)))
-      ((default . error) (USE . ( 572 (name . 4))) (LEFT_PAREN . (name . 4)) 
(DOT . (name . 4)) (TICK . (name . 4)))
-      ((default . error) (USE .  571))
-      ((default . error) (DOT .  86) (TICK .  87) (USE .  570) (LEFT_PAREN .  
105))
-      ((default . error) (EXCEPTION .  567) (IDENTIFIER . (null_exclusion_opt 
. 0)) (STRING_LITERAL . (null_exclusion_opt . 0)) (CHARACTER_LITERAL . 
(null_exclusion_opt . 0)) (ACCESS . (null_exclusion_opt . 0)) (NOT .  206))
+      ((default . error) (USE . ( 574 (name . 4))) (LEFT_PAREN . (name . 4)) 
(DOT . (name . 4)) (TICK . (name . 4)))
+      ((default . error) (USE .  573))
+      ((default . error) (DOT .  86) (TICK .  87) (USE .  572) (LEFT_PAREN .  
105))
+      ((default . error) (EXCEPTION .  569) (IDENTIFIER . (null_exclusion_opt 
. 0)) (STRING_LITERAL . (null_exclusion_opt . 0)) (CHARACTER_LITERAL . 
(null_exclusion_opt . 0)) (ACCESS . (null_exclusion_opt . 0)) (NOT .  207))
       ((default . error) (SEMICOLON . (association_opt . 2)) (IS . 
(association_opt . 2)) (COMMA . (association_opt . 2)) (RIGHT_PAREN . 
(association_opt . 2)))
       ((default . error) (SEMICOLON . (association_opt . 1)) (IS . 
(association_opt . 1)) (COMMA . (association_opt . 1)) (RIGHT_PAREN . 
(association_opt . 1)))
       ((default . error) (DOT .  86) (TICK .  87) (BAR . (discrete_choice . 
1)) (EQUAL_GREATER . (discrete_choice . 1)) (LEFT_PAREN .  105))
       ((default . error) (BAR . (choice_relation_and_list . 1)) (EQUAL_GREATER 
. (choice_relation_and_list . 1)) (AND . (choice_relation_and_list . 1)))
-      ((default . error) (XOR . (choice_relation . 1)) (OR . (choice_relation 
. 1)) (BAR . (choice_relation . 1)) (EQUAL_GREATER . (choice_relation . 1)) 
(AND . (choice_relation . 1)) (EQUAL .  262) (SLASH_EQUAL .  267) (LESS .  265) 
(LESS_EQUAL .  266) (GREATER .  263) (GREATER_EQUAL .  264))
+      ((default . error) (XOR . (choice_relation . 1)) (OR . (choice_relation 
. 1)) (BAR . (choice_relation . 1)) (EQUAL_GREATER . (choice_relation . 1)) 
(AND . (choice_relation . 1)) (EQUAL .  264) (SLASH_EQUAL .  269) (LESS .  267) 
(LESS_EQUAL .  268) (GREATER .  265) (GREATER_EQUAL .  266))
       ((default . error) (BAR . (choice_relation_or_list . 1)) (EQUAL_GREATER 
. (choice_relation_or_list . 1)) (OR . (choice_relation_or_list . 1)))
       ((default . error) (BAR . (choice_relation_xor_list . 1)) (EQUAL_GREATER 
. (choice_relation_xor_list . 1)) (XOR . (choice_relation_xor_list . 1)))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
       ((default . error) (BAR . (choice_relation_xor_list . 0)) (EQUAL_GREATER 
. (choice_relation_xor_list . 0)) (XOR . (choice_relation_xor_list . 0)))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
       ((default . error) (BAR . (choice_relation_or_list . 0)) (EQUAL_GREATER 
. (choice_relation_or_list . 0)) (OR . (choice_relation_or_list . 0)))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
       ((default . error) (BAR . (choice_relation_and_list . 0)) (EQUAL_GREATER 
. (choice_relation_and_list . 0)) (AND . (choice_relation_and_list . 0)))
       ((default . error) (SEMICOLON . (association_opt . 4)) (IS . 
(association_opt . 4)) (COMMA . (association_opt . 4)) (RIGHT_PAREN . 
(association_opt . 4)))
       ((default . error) (SEMICOLON . (association_opt . 3)) (IS . 
(association_opt . 3)) (COMMA . (association_opt . 3)) (RIGHT_PAREN . 
(association_opt . 3)))
       ((default . error) (EQUAL_GREATER . (discrete_choice_list . 2)) (BAR . 
(discrete_choice_list . 2)))
-      ((default . error) (DOT_DOT .  261) (BAR . (choice_relation . 1)) 
(EQUAL_GREATER . (choice_relation . 1)) (AND . (choice_relation . 1)) (OR . 
(choice_relation . 1)) (XOR . (choice_relation . 1)) (EQUAL .  262) 
(SLASH_EQUAL .  267) (LESS .  265) (LESS_EQUAL .  266) (GREATER .  263) 
(GREATER_EQUAL .  264))
-      ((default . error) (LOOP . (range . 1)) (DO . (range . 1)) (COMMA . 
(range . 1)) (OF . (range . 1)) (COLON_EQUAL . (range . 1)) (ELSIF . (range . 
1)) (ELSE . (range . 1)) (DIGITS . (range . 1)) (RANGE . (range . 1)) (THEN . 
(range . 1)) (SEMICOLON . (range . 1)) (WITH . (range . 1)) (IS . (range . 1)) 
(AND . (range . 1)) (OR . (range . 1)) (XOR . (range . 1)) (RIGHT_PAREN . 
(range . 1)) (EQUAL_GREATER . (range . 1)) (BAR . (range . 1)) (LEFT_PAREN .  
561))
+      ((default . error) (DOT_DOT .  263) (BAR . (choice_relation . 1)) 
(EQUAL_GREATER . (choice_relation . 1)) (AND . (choice_relation . 1)) (OR . 
(choice_relation . 1)) (XOR . (choice_relation . 1)) (EQUAL .  264) 
(SLASH_EQUAL .  269) (LESS .  267) (LESS_EQUAL .  268) (GREATER .  265) 
(GREATER_EQUAL .  266))
+      ((default . error) (LOOP . (range . 1)) (DO . (range . 1)) (COMMA . 
(range . 1)) (OF . (range . 1)) (COLON_EQUAL . (range . 1)) (ELSIF . (range . 
1)) (ELSE . (range . 1)) (DIGITS . (range . 1)) (RANGE . (range . 1)) (THEN . 
(range . 1)) (SEMICOLON . (range . 1)) (WITH . (range . 1)) (IS . (range . 1)) 
(AND . (range . 1)) (OR . (range . 1)) (XOR . (range . 1)) (RIGHT_PAREN . 
(range . 1)) (EQUAL_GREATER . (range . 1)) (BAR . (range . 1)) (LEFT_PAREN .  
563))
       ((default . error) (SEMICOLON . (relation . 1)) (IS . (relation . 1)) 
(WITH . (relation . 1)) (RIGHT_PAREN . (relation . 1)) (COMMA . (relation . 1)) 
(BAR . (choice_relation . 0)) (EQUAL_GREATER . (choice_relation . 0)) (AND . 
((relation . 1) (choice_relation . 0))) (OR . ((relation . 1) (choice_relation 
. 0))) (XOR . ((relation . 1) (choice_relation . 0))))
-      ((default . error) (PLUS .  142) (MINUS .  141) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (ABS .  144) (NOT .  147) 
(NULL .  148) (NEW .  146) (LEFT_PAREN .  145))
-      ((default . error) (BAR .  559) (DO . (relation . 3)) (LOOP . (relation 
. 3)) (COMMA . (relation . 3)) (RIGHT_PAREN . (relation . 3)) (ELSIF . 
(relation . 3)) (ELSE . (relation . 3)) (EQUAL_GREATER . (relation . 3)) 
(DIGITS . (relation . 3)) (RANGE . (relation . 3)) (THEN . (relation . 3)) 
(SEMICOLON . (relation . 3)) (WITH . (relation . 3)) (IS . (relation . 3)) (AND 
. (relation . 3)) (OR . (relation . 3)) (XOR . (relation . 3)))
+      ((default . error) (PLUS .  143) (MINUS .  142) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (ABS .  145) (NOT .  148) 
(NULL .  149) (NEW .  147) (LEFT_PAREN .  146))
+      ((default . error) (BAR .  561) (DO . (relation . 3)) (LOOP . (relation 
. 3)) (COMMA . (relation . 3)) (RIGHT_PAREN . (relation . 3)) (ELSIF . 
(relation . 3)) (ELSE . (relation . 3)) (EQUAL_GREATER . (relation . 3)) 
(DIGITS . (relation . 3)) (RANGE . (relation . 3)) (THEN . (relation . 3)) 
(SEMICOLON . (relation . 3)) (WITH . (relation . 3)) (IS . (relation . 3)) (AND 
. (relation . 3)) (OR . (relation . 3)) (XOR . (relation . 3)))
       ((default . error) (DO . (membership_choice_list . 0)) (LOOP . 
(membership_choice_list . 0)) (COMMA . (membership_choice_list . 0)) 
(RIGHT_PAREN . (membership_choice_list . 0)) (ELSIF . (membership_choice_list . 
0)) (ELSE . (membership_choice_list . 0)) (EQUAL_GREATER . 
(membership_choice_list . 0)) (DIGITS . (membership_choice_list . 0)) (RANGE . 
(membership_choice_list . 0)) (THEN . (membership_choice_list . 0)) (SEMICOLON 
. (membership_choice_list . 0)) (WITH . (membership_choic [...]
       ((default . error) (DO . (membership_choice . 1)) (LOOP . 
(membership_choice . 1)) (COMMA . (membership_choice . 1)) (RIGHT_PAREN . 
(membership_choice . 1)) (ELSIF . (membership_choice . 1)) (ELSE . 
(membership_choice . 1)) (EQUAL_GREATER . (membership_choice . 1)) (DIGITS . 
(membership_choice . 1)) (RANGE . (membership_choice . 1)) (THEN . 
(membership_choice . 1)) (SEMICOLON . (membership_choice . 1)) (WITH . 
(membership_choice . 1)) (IS . (membership_choice . 1)) (AND . (membersh [...]
-      ((default . error) (DOT_DOT .  261) (DO . (membership_choice . 0)) (LOOP 
. (membership_choice . 0)) (COMMA . (membership_choice . 0)) (RIGHT_PAREN . 
(membership_choice . 0)) (ELSIF . (membership_choice . 0)) (ELSE . 
(membership_choice . 0)) (EQUAL_GREATER . (membership_choice . 0)) (DIGITS . 
(membership_choice . 0)) (RANGE . (membership_choice . 0)) (THEN . 
(membership_choice . 0)) (SEMICOLON . (membership_choice . 0)) (WITH . 
(membership_choice . 0)) (IS . (membership_choice . 0)) [...]
+      ((default . error) (DOT_DOT .  263) (DO . (membership_choice . 0)) (LOOP 
. (membership_choice . 0)) (COMMA . (membership_choice . 0)) (RIGHT_PAREN . 
(membership_choice . 0)) (ELSIF . (membership_choice . 0)) (ELSE . 
(membership_choice . 0)) (EQUAL_GREATER . (membership_choice . 0)) (DIGITS . 
(membership_choice . 0)) (RANGE . (membership_choice . 0)) (THEN . 
(membership_choice . 0)) (SEMICOLON . (membership_choice . 0)) (WITH . 
(membership_choice . 0)) (IS . (membership_choice . 0)) [...]
       ((default . error) (DO . (range . 2)) (LOOP . (range . 2)) (OF . (range 
. 2)) (COLON_EQUAL . (range . 2)) (ELSIF . (range . 2)) (ELSE . (range . 2)) 
(DIGITS . (range . 2)) (RANGE . (range . 2)) (THEN . (range . 2)) (SEMICOLON . 
(range . 2)) (WITH . (range . 2)) (IS . (range . 2)) (AND . (range . 2)) (OR . 
(range . 2)) (XOR . (range . 2)) (COMMA . (range . 2)) (RIGHT_PAREN . (range . 
2)) (EQUAL_GREATER . (range . 2)) (BAR . (range . 2)))
       ((default . error) (BEGIN . (package_renaming_declaration . 0)) 
(IDENTIFIER . (package_renaming_declaration . 0)) (ENTRY . 
(package_renaming_declaration . 0)) (FOR . (package_renaming_declaration . 0)) 
(PROTECTED . (package_renaming_declaration . 0)) (SUBTYPE . 
(package_renaming_declaration . 0)) (TASK . (package_renaming_declaration . 0)) 
(TYPE . (package_renaming_declaration . 0)) (END . 
(package_renaming_declaration . 0)) (WITH . (package_renaming_declaration . 0)) 
(USE . (packa [...]
       ((default . error) (SEMICOLON . (association_list . 1)) (IS . 
(association_list . 1)) (COMMA . (association_list . 1)) (RIGHT_PAREN . 
(association_list . 1)))
+      ((default . error) (SEMICOLON .  560))
+      ((default . error) (SEMICOLON .  559))
       ((default . error) (SEMICOLON .  558))
       ((default . error) (SEMICOLON .  557))
-      ((default . error) (SEMICOLON .  556))
-      ((default . error) (SEMICOLON .  555))
-      ((default . error) (ACCESS . (null_exclusion_opt . 0)) (NOT .  550) 
(IDENTIFIER .  549) (CHARACTER_LITERAL .  49) (STRING_LITERAL .  48))
+      ((default . error) (ACCESS . (null_exclusion_opt . 0)) (NOT .  552) 
(IDENTIFIER .  551) (CHARACTER_LITERAL .  49) (STRING_LITERAL .  48))
       ((default . error) (RIGHT_PAREN . (discriminant_specification_opt . 0)) 
(SEMICOLON . (discriminant_specification_opt . 0)) (IDENTIFIER .  71))
       ((default . error) (IS . (discriminant_part_opt . 2)) (WITH . 
(discriminant_part_opt . 2)) (SEMICOLON . (discriminant_part_opt . 2)))
       ((default . error) (IS . (discriminant_part_opt . 1)) (WITH . 
(discriminant_part_opt . 1)) (SEMICOLON . (discriminant_part_opt . 1)))
       ((default . error) (PACKAGE . (formal_type_declaration . 2)) (PROCEDURE 
. (formal_type_declaration . 2)) (FUNCTION . (formal_type_declaration . 2)) 
(IDENTIFIER . (formal_type_declaration . 2)) (PRAGMA . (formal_type_declaration 
. 2)) (TYPE . (formal_type_declaration . 2)) (WITH . (formal_type_declaration . 
2)))
-      ((default . error) (TAGGED .  547) (NEW . 
(abstract_limited_synchronized_opt . 3)) (SYNCHRONIZED .  546) (LIMITED .  545))
-      ((default . error) (LEFT_PAREN .  544))
-      ((default . error) (BOX .  543))
-      ((default . error) (BOX .  542))
+      ((default . error) (TAGGED .  549) (NEW . 
(abstract_limited_synchronized_opt . 3)) (SYNCHRONIZED .  548) (LIMITED .  547))
+      ((default . error) (LEFT_PAREN .  546))
+      ((default . error) (BOX .  545))
+      ((default . error) (BOX .  544))
       ((default . error) (SEMICOLON . (interface_type_definition . 8)) (WITH . 
(interface_type_definition . 8)))
+      ((default . error) (BOX .  543))
+      ((default . error) (INTERFACE .  542) (PRIVATE . 
(abstract_tagged_limited_opt . 5)) (NEW . (abstract_limited_synchronized_opt . 
4)))
       ((default . error) (BOX .  541))
-      ((default . error) (INTERFACE .  540) (PRIVATE . 
(abstract_tagged_limited_opt . 5)) (NEW . (abstract_limited_synchronized_opt . 
4)))
+      ((default . error) (INTERFACE .  540))
       ((default . error) (BOX .  539))
-      ((default . error) (INTERFACE .  538))
-      ((default . error) (BOX .  537))
-      ((default . error) (INTERFACE .  536) (NEW . 
(abstract_limited_synchronized_opt . 5)))
-      ((default . error) (PRIVATE . (abstract_tagged_limited_opt . 4)) 
(LIMITED .  534) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  107))
-      ((default . error) (INTERFACE .  533))
-      ((default . error) (NEW .  532))
-      ((default . error) (PRIVATE .  531))
+      ((default . error) (INTERFACE .  538) (NEW . 
(abstract_limited_synchronized_opt . 5)))
+      ((default . error) (PRIVATE . (abstract_tagged_limited_opt . 4)) 
(LIMITED .  536) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  107))
+      ((default . error) (INTERFACE .  535))
+      ((default . error) (NEW .  534))
+      ((default . error) (PRIVATE .  533))
       ((default . error) (WITH . (formal_type_definition . 9)) (SEMICOLON . 
(formal_type_definition . 9)))
       ((default . error) (WITH . (formal_type_definition . 8)) (SEMICOLON . 
(formal_type_definition . 8)))
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
107))
       ((default . error) (WITH . (formal_type_definition . 1)) (SEMICOLON . 
(formal_type_definition . 1)))
       ((default . error) (WITH . (formal_type_definition . 10)) (SEMICOLON . 
(formal_type_definition . 10)))
-      ((default . error) (SEMICOLON .  529))
-      ((default . error) (SEMICOLON .  528))
+      ((default . error) (SEMICOLON .  531))
+      ((default . error) (SEMICOLON .  530))
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
107))
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
-      ((default . error) (DOT .  86) (TICK .  87) (COLON_EQUAL .  524) 
(LEFT_PAREN .  105) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  107))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (SEMICOLON .  522))
-      ((default . error) (DOT .  86) (TICK .  87) (RIGHT_PAREN . 
(parameter_and_result_profile . 0)) (DO . (parameter_and_result_profile . 0)) 
(RENAMES . (parameter_and_result_profile . 0)) (COLON_EQUAL . 
(parameter_and_result_profile . 0)) (SEMICOLON . (parameter_and_result_profile 
. 0)) (IS . (parameter_and_result_profile . 0)) (WITH . 
(parameter_and_result_profile . 0)) (LEFT_PAREN .  105))
+      ((default . error) (DOT .  86) (TICK .  87) (COLON_EQUAL .  526) 
(LEFT_PAREN .  105) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  107))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (SEMICOLON .  524))
+      ((default . error) (RIGHT_PAREN . (parameter_and_result_profile . 0)) 
(DO . (parameter_and_result_profile . 0)) (RENAMES . 
(parameter_and_result_profile . 0)) (COLON_EQUAL . 
(parameter_and_result_profile . 0)) (SEMICOLON . (parameter_and_result_profile 
. 0)) (WITH . (parameter_and_result_profile . 0)) (IS . 
(parameter_and_result_profile . 0)))
       ((default . error) (IDENTIFIER . (general_access_modifier_opt . 1)) 
(STRING_LITERAL . (general_access_modifier_opt . 1)) (CHARACTER_LITERAL . 
(general_access_modifier_opt . 1)))
       ((default . error) (IDENTIFIER . (general_access_modifier_opt . 2)) 
(STRING_LITERAL . (general_access_modifier_opt . 2)) (CHARACTER_LITERAL . 
(general_access_modifier_opt . 2)))
       ((default . error) (FUNCTION . (protected_opt . 1)) (PROCEDURE . 
(protected_opt . 1)))
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
-      ((default . error) (FUNCTION .  519) (PROCEDURE .  520))
+      ((default . error) (FUNCTION .  521) (PROCEDURE .  522))
       ((default . error) (IN . (aliased_opt . 1)) (OUT . (aliased_opt . 1)) 
(ARRAY . (aliased_opt . 1)) (CONSTANT . (aliased_opt . 1)) (IDENTIFIER . 
(aliased_opt . 1)) (STRING_LITERAL . (aliased_opt . 1)) (CHARACTER_LITERAL . 
(aliased_opt . 1)) (ACCESS . (aliased_opt . 1)) (NOT . (aliased_opt . 1)))
-      ((default . error) (SEMICOLON . (parameter_specification . 3)) 
(RIGHT_PAREN . (parameter_specification . 3)) (COLON_EQUAL .  518))
-      ((default . error) (NOT . (mode_opt . 0)) (IDENTIFIER . (mode_opt . 0)) 
(STRING_LITERAL . (mode_opt . 0)) (CHARACTER_LITERAL . (mode_opt . 0)) (IN .  
202) (OUT .  203))
+      ((default . error) (SEMICOLON . (parameter_specification . 3)) 
(RIGHT_PAREN . (parameter_specification . 3)) (COLON_EQUAL .  520))
+      ((default . error) (NOT . (mode_opt . 0)) (IDENTIFIER . (mode_opt . 0)) 
(STRING_LITERAL . (mode_opt . 0)) (CHARACTER_LITERAL . (mode_opt . 0)) (IN .  
203) (OUT .  204))
       ((default . error) (RIGHT_PAREN . (parameter_specification_list . 1)) 
(SEMICOLON . (parameter_specification_list . 1)))
-      ((default . error) (RIGHT_PAREN . ((association_opt . 0) (expression_opt 
. 0))) (COMMA . ((association_opt . 0) (expression_opt . 0))) (EQUAL_GREATER . 
(discrete_choice_list . 0)) (BAR . (discrete_choice_list . 0)) (OTHERS .  170) 
(IDENTIFIER .  47) (CHARACTER_LITERAL .  168) (STRING_LITERAL .  48) (PLUS .  
142) (MINUS .  141) (ABS .  144) (NOT .  169) (NULL .  515) (NEW .  146) 
(LEFT_PAREN .  145))
+      ((default . error) (RIGHT_PAREN . ((association_opt . 0) (expression_opt 
. 0))) (COMMA . ((association_opt . 0) (expression_opt . 0))) (EQUAL_GREATER . 
(discrete_choice_list . 0)) (BAR . (discrete_choice_list . 0)) (OTHERS .  171) 
(IDENTIFIER .  47) (CHARACTER_LITERAL .  169) (STRING_LITERAL .  48) (PLUS .  
143) (MINUS .  142) (ABS .  145) (NOT .  170) (NULL .  517) (NEW .  147) 
(LEFT_PAREN .  146))
       ((default . error) (DO . (aggregate . 0)) (LOOP . (aggregate . 0)) (USE 
. (aggregate . 0)) (COLON_EQUAL . (aggregate . 0)) (WHILE . (aggregate . 0)) 
(SELECT . (aggregate . 0)) (REQUEUE . (aggregate . 0)) (RAISE . (aggregate . 
0)) (PRAGMA . (aggregate . 0)) (NULL . (aggregate . 0)) (IF . (aggregate . 0)) 
(GOTO . (aggregate . 0)) (FOR . (aggregate . 0)) (EXIT . (aggregate . 0)) 
(DELAY . (aggregate . 0)) (DECLARE . (aggregate . 0)) (CASE . (aggregate . 0)) 
(BEGIN . (aggregate . 0)) (A [...]
-      ((default . error) (RIGHT_PAREN .  514))
+      ((default . error) (RIGHT_PAREN .  516))
       ((default . error) (OF . (aggregate . 3)) (LESS_LESS . (aggregate . 3)) 
(IDENTIFIER . (aggregate . 3)) (STRING_LITERAL . (aggregate . 3)) 
(CHARACTER_LITERAL . (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)) (RA [...]
-      ((default . error) (PLUS . (primary . 0)) (MINUS . (primary . 0)) 
(AMPERSAND . (primary . 0)) (DOT_DOT . (primary . 0)) (IN . (primary . 0)) (NOT 
. (primary . 0)) (EQUAL . (primary . 0)) (GREATER . (primary . 0)) 
(GREATER_EQUAL . (primary . 0)) (LESS . (primary . 0)) (LESS_EQUAL . (primary . 
0)) (SLASH_EQUAL . (primary . 0)) (RIGHT_PAREN . (primary . 0)) (COMMA . 
(primary . 0)) (SLASH . (primary . 0)) (STAR . (primary . 0)) (MOD . (primary . 
0)) (REM . (primary . 0)) (STAR_STAR . ( [...]
-      ((default . error) (COMMA .  258) (RIGHT_PAREN .  779))
-      ((default . error) (IDENTIFIER . (null_exclusion_opt . 0)) 
(STRING_LITERAL . (null_exclusion_opt . 0)) (CHARACTER_LITERAL . 
(null_exclusion_opt . 0)) (NOT .  206))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (RETURN .  89) (LEFT_PAREN .  774))
-      ((default . error) (IS . (parameter_profile_opt . 0)) (SEMICOLON . 
(parameter_profile_opt . 0)) (WITH . (parameter_profile_opt . 0)) (COLON_EQUAL 
. (parameter_profile_opt . 0)) (RENAMES . (parameter_profile_opt . 0)) (DO . 
(parameter_profile_opt . 0)) (RIGHT_PAREN . (parameter_profile_opt . 0)) 
(LEFT_PAREN .  774))
+      ((default . error) (PLUS . (primary . 0)) (MINUS . (primary . 0)) 
(AMPERSAND . (primary . 0)) (DOT_DOT . (primary . 0)) (IN . (primary . 0)) (NOT 
. (primary . 0)) (EQUAL . (primary . 0)) (GREATER . (primary . 0)) 
(GREATER_EQUAL . (primary . 0)) (LESS . (primary . 0)) (LESS_EQUAL . (primary . 
0)) (SLASH_EQUAL . (primary . 0)) (RIGHT_PAREN . (primary . 0)) (COMMA . 
(primary . 0)) (SLASH . (primary . 0)) (STAR . (primary . 0)) (MOD . (primary . 
0)) (REM . (primary . 0)) (STAR_STAR . ( [...]
+      ((default . error) (COMMA .  260) (RIGHT_PAREN .  781))
+      ((default . error) (IDENTIFIER . (null_exclusion_opt . 0)) 
(STRING_LITERAL . (null_exclusion_opt . 0)) (CHARACTER_LITERAL . 
(null_exclusion_opt . 0)) (NOT .  207))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (RETURN .  89) (LEFT_PAREN .  776))
+      ((default . error) (IS . (parameter_profile_opt . 0)) (SEMICOLON . 
(parameter_profile_opt . 0)) (WITH . (parameter_profile_opt . 0)) (COLON_EQUAL 
. (parameter_profile_opt . 0)) (RENAMES . (parameter_profile_opt . 0)) (DO . 
(parameter_profile_opt . 0)) (RIGHT_PAREN . (parameter_profile_opt . 0)) 
(LEFT_PAREN .  776))
       ((default . error) (DOT .  86) (TICK .  87) (RIGHT_PAREN . 
(access_definition . 0)) (DO . (access_definition . 0)) (RENAMES . 
(access_definition . 0)) (COLON_EQUAL . (access_definition . 0)) (WITH . 
(access_definition . 0)) (SEMICOLON . (access_definition . 0)) (IS . 
(access_definition . 0)) (LEFT_PAREN .  105))
       ((default . error) (WITH . (formal_object_declaration . 3)) (TYPE . 
(formal_object_declaration . 3)) (PRAGMA . (formal_object_declaration . 3)) 
(IDENTIFIER . (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 .  
107))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (SEMICOLON .  771))
-      ((default . error) (DOT .  86) (TICK .  87) (WITH . 
(formal_package_actual_part . 1)) (SEMICOLON . (formal_package_actual_part . 
1)) (LEFT_PAREN .  769))
-      ((default . error) (SEMICOLON .  768))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (SEMICOLON .  773))
+      ((default . error) (DOT .  86) (TICK .  87) (WITH . 
(formal_package_actual_part . 1)) (SEMICOLON . (formal_package_actual_part . 
1)) (LEFT_PAREN .  771))
+      ((default . error) (SEMICOLON .  770))
       ((default . error) (WITH . (formal_subprogram_declaration . 3)) (TYPE . 
(formal_subprogram_declaration . 3)) (PRAGMA . (formal_subprogram_declaration . 
3)) (IDENTIFIER . (formal_subprogram_declaration . 3)) (FUNCTION . 
(formal_subprogram_declaration . 3)) (PROCEDURE . 
(formal_subprogram_declaration . 3)) (PACKAGE . (formal_subprogram_declaration 
. 3)))
       ((default . error) (WITH . (formal_subprogram_declaration . 0)) (TYPE . 
(formal_subprogram_declaration . 0)) (PRAGMA . (formal_subprogram_declaration . 
0)) (IDENTIFIER . (formal_subprogram_declaration . 0)) (FUNCTION . 
(formal_subprogram_declaration . 0)) (PROCEDURE . 
(formal_subprogram_declaration . 0)) (PACKAGE . (formal_subprogram_declaration 
. 0)))
-      ((default . error) (SEMICOLON .  767))
+      ((default . error) (SEMICOLON .  769))
       ((default . error) (SEMICOLON . (formal_type_definition . 0)) (WITH . 
(formal_type_definition . 0)))
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
-      ((default . error) (AND .  765) (WITH . (interface_type_definition . 5)) 
(SEMICOLON . (interface_type_definition . 5)))
+      ((default . error) (AND .  767) (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 .  764))
-      ((default . error) (AND .  763) (WITH . (interface_type_definition . 7)) 
(SEMICOLON . (interface_type_definition . 7)))
+      ((default . error) (SEMICOLON .  766))
+      ((default . error) (AND .  765) (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 .  762) (WITH . (interface_type_definition . 6)) 
(SEMICOLON . (interface_type_definition . 6)))
+      ((default . error) (AND .  764) (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 .  761) (WITH . (interface_type_definition . 4)) 
(SEMICOLON . (interface_type_definition . 4)))
-      ((default . error) (RIGHT_PAREN .  760))
+      ((default . error) (AND .  763) (WITH . (interface_type_definition . 4)) 
(SEMICOLON . (interface_type_definition . 4)))
+      ((default . error) (RIGHT_PAREN .  762))
       ((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 .  759))
-      ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  750) 
(NULL .  148) (NEW .  146) (LEFT_PAREN .  145))
+      ((default . error) (SEMICOLON . (formal_type_definition . 6)) (WITH . 
(formal_type_definition . 6)) (DIGITS .  761))
+      ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  752) 
(NULL .  149) (NEW .  147) (LEFT_PAREN .  146))
       ((default . error) (NEW . (abstract_limited_synchronized_opt . 1)))
       ((default . error) (NEW . (abstract_limited_synchronized_opt . 2)))
-      ((default . error) (LIMITED .  749) (RECORD . 
(abstract_tagged_limited_opt . 2)) (NULL . (abstract_tagged_limited_opt . 2)) 
(PRIVATE . (abstract_tagged_limited_opt . 2)))
+      ((default . error) (LIMITED .  751) (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) (SEMICOLON . (null_exclusion_opt_name . 0)) 
(RIGHT_PAREN . (null_exclusion_opt_name . 0)) (COLON_EQUAL . 
(null_exclusion_opt_name . 0)) (DOT . (name . 0)) (LEFT_PAREN . (name . 0)) 
(TICK . (name . 0)))
-      ((default . error) (NULL .  748))
-      ((default . error) (SEMICOLON . (discriminant_specification_opt . 4)) 
(RIGHT_PAREN . (discriminant_specification_opt . 4)) (COLON_EQUAL .  747))
+      ((default . error) (NULL .  750))
+      ((default . error) (SEMICOLON . (discriminant_specification_opt . 4)) 
(RIGHT_PAREN . (discriminant_specification_opt . 4)) (COLON_EQUAL .  749))
       ((default . error) (DOT .  86) (TICK .  87) (LEFT_PAREN .  105))
-      ((default . error) (SEMICOLON . (discriminant_specification_opt . 2)) 
(RIGHT_PAREN . (discriminant_specification_opt . 2)) (COLON_EQUAL .  746))
+      ((default . error) (SEMICOLON . (discriminant_specification_opt . 2)) 
(RIGHT_PAREN . (discriminant_specification_opt . 2)) (COLON_EQUAL .  748))
       ((default . error) (SEMICOLON . (null_exclusion_opt_name . 1)) 
(RIGHT_PAREN . (null_exclusion_opt_name . 1)) (COLON_EQUAL . 
(null_exclusion_opt_name . 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)) (USE . (generic_renaming_declaration . 1)) (TYPE . 
(generic_renaming_declaration . 1)) (TASK . (generic_renaming_declaration . 1)) 
(SUBTYPE . (generic_renaming_declaration . 1)) (PROTECTED . (ge [...]
       ((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)) (USE . (generic_renaming_declaration . 0)) (TYPE . 
(generic_renaming_declaration . 0)) (TASK . (generic_renaming_declaration . 0)) 
(SUBTYPE . (generic_renaming_declaration . 0)) (PROTECTED . (ge [...]
       ((default . error) ($EOI . (generic_renaming_declaration . 2)) (LIMITED 
. (generic_renaming_declaration . 2)) (SEPARATE . (generic_renaming_declaration 
. 2)) (WITH . (generic_renaming_declaration . 2)) (END . 
(generic_renaming_declaration . 2)) (PRIVATE . (generic_renaming_declaration . 
2)) (USE . (generic_renaming_declaration . 2)) (TYPE . 
(generic_renaming_declaration . 2)) (TASK . (generic_renaming_declaration . 2)) 
(SUBTYPE . (generic_renaming_declaration . 2)) (PROTECTED . (ge [...]
       ((default . error) (END . (generic_instantiation . 0)) (BEGIN . 
(generic_instantiation . 0)) (IDENTIFIER . (generic_instantiation . 0)) (ENTRY 
. (generic_instantiation . 0)) (FOR . (generic_instantiation . 0)) (PROTECTED . 
(generic_instantiation . 0)) (SUBTYPE . (generic_instantiation . 0)) (TASK . 
(generic_instantiation . 0)) (TYPE . (generic_instantiation . 0)) ($EOI . 
(generic_instantiation . 0)) (FUNCTION . (generic_instantiation . 0)) (GENERIC 
. (generic_instantiation . 0)) (L [...]
-      ((default . error) (PLUS .  142) (MINUS .  141) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (ABS .  144) (NOT .  147) 
(NULL .  148) (NEW .  146) (LEFT_PAREN .  145))
-      ((default . error) (BAR .  559) (LOOP . (relation . 2)) (DO . (relation 
. 2)) (XOR . (relation . 2)) (OR . (relation . 2)) (AND . (relation . 2)) (IS . 
(relation . 2)) (WITH . (relation . 2)) (SEMICOLON . (relation . 2)) (THEN . 
(relation . 2)) (RANGE . (relation . 2)) (DIGITS . (relation . 2)) 
(EQUAL_GREATER . (relation . 2)) (ELSE . (relation . 2)) (ELSIF . (relation . 
2)) (RIGHT_PAREN . (relation . 2)) (COMMA . (relation . 2)))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
+      ((default . error) (PLUS .  143) (MINUS .  142) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (ABS .  145) (NOT .  148) 
(NULL .  149) (NEW .  147) (LEFT_PAREN .  146))
+      ((default . error) (BAR .  561) (LOOP . (relation . 2)) (DO . (relation 
. 2)) (XOR . (relation . 2)) (OR . (relation . 2)) (AND . (relation . 2)) (IS . 
(relation . 2)) (WITH . (relation . 2)) (SEMICOLON . (relation . 2)) (THEN . 
(relation . 2)) (RANGE . (relation . 2)) (DIGITS . (relation . 2)) 
(EQUAL_GREATER . (relation . 2)) (ELSE . (relation . 2)) (ELSIF . (relation . 
2)) (RIGHT_PAREN . (relation . 2)) (COMMA . (relation . 2)))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
       ((default . error) (AND . (choice_relation_and_then_list . 0)) 
(EQUAL_GREATER . (choice_relation_and_then_list . 0)) (BAR . 
(choice_relation_and_then_list . 0)))
       ((default . error) (OR . (choice_relation_or_else_list . 0)) 
(EQUAL_GREATER . (choice_relation_or_else_list . 0)) (BAR . 
(choice_relation_or_else_list . 0)))
       ((default . error) (OR . (choice_relation_or_else_list . 1)) 
(EQUAL_GREATER . (choice_relation_or_else_list . 1)) (BAR . 
(choice_relation_or_else_list . 1)))
       ((default . error) (AND . (choice_relation_and_then_list . 1)) 
(EQUAL_GREATER . (choice_relation_and_then_list . 1)) (BAR . 
(choice_relation_and_then_list . 1)))
-      ((default . error) (RENAMES .  742))
-      ((default . error) (RENAMES .  741))
-      ((default . error) (ACCESS .  232) (IDENTIFIER .  47) (CHARACTER_LITERAL 
.  49) (STRING_LITERAL .  48))
-      ((default . error) (LEFT_PAREN .  217) (RECORD .  737))
-      ((default . error) (AT .  736))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (DOT .  86) (TICK .  87) (IS . ( 734 
(aspect_specification_opt . 0))) (WITH .  107) (LEFT_PAREN .  105))
-      ((default . error) (WITH . (discriminant_part_opt . 0)) (IS . 
(discriminant_part_opt . 0)) (LEFT_PAREN .  196))
-      ((default . error) (IS . ( 732 (aspect_specification_opt . 0))) (WITH .  
107))
-      ((default . error) (IS .  731))
-      ((default . error) (NOT .  728) (IDENTIFIER .  47) (CHARACTER_LITERAL .  
49) (STRING_LITERAL .  48))
-      ((default . error) (WITH . (discriminant_part_opt . 0)) (IS . 
(discriminant_part_opt . 0)) (SEMICOLON . (discriminant_part_opt . 0)) 
(LEFT_PAREN .  196))
-      ((default . error) (IS . ( 726 (aspect_specification_opt . 0))) (WITH .  
107))
-      ((default . error) (SEMICOLON .  724) (IS .  725))
+      ((default . error) (RENAMES .  744))
+      ((default . error) (RENAMES .  743))
+      ((default . error) (ACCESS .  234) (IDENTIFIER .  47) (CHARACTER_LITERAL 
.  49) (STRING_LITERAL .  48))
+      ((default . error) (LEFT_PAREN .  219) (RECORD .  739))
+      ((default . error) (AT .  738))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (DOT .  86) (TICK .  87) (IS . ( 736 
(aspect_specification_opt . 0))) (WITH .  107) (LEFT_PAREN .  105))
+      ((default . error) (WITH . (discriminant_part_opt . 0)) (IS . 
(discriminant_part_opt . 0)) (LEFT_PAREN .  197))
+      ((default . error) (IS . ( 734 (aspect_specification_opt . 0))) (WITH .  
107))
+      ((default . error) (IS .  733))
+      ((default . error) (NOT .  730) (IDENTIFIER .  47) (CHARACTER_LITERAL .  
49) (STRING_LITERAL .  48))
+      ((default . error) (WITH . (discriminant_part_opt . 0)) (IS . 
(discriminant_part_opt . 0)) (SEMICOLON . (discriminant_part_opt . 0)) 
(LEFT_PAREN .  197))
+      ((default . error) (IS . ( 728 (aspect_specification_opt . 0))) (WITH .  
107))
+      ((default . error) (SEMICOLON .  726) (IS .  727))
       ((default . error) (END . (incomplete_type_declaration . 1)) (PRIVATE . 
(incomplete_type_declaration . 1)) (USE . (incomplete_type_declaration . 1)) 
(TYPE . (incomplete_type_declaration . 1)) (TASK . (incomplete_type_declaration 
. 1)) (SUBTYPE . (incomplete_type_declaration . 1)) (PROTECTED . 
(incomplete_type_declaration . 1)) (PROCEDURE . (incomplete_type_declaration . 
1)) (PRAGMA . (incomplete_type_declaration . 1)) (PACKAGE . 
(incomplete_type_declaration . 1)) (OVERRIDING . (inc [...]
-      ((default . error) (IS .  723))
-      ((default . error) (END .  722))
+      ((default . error) (IS .  725))
+      ((default . error) (END .  724))
       ((default . error) (DOT .  86) (TICK .  87) (SEMICOLON . 
(package_specification . 1)) (LEFT_PAREN .  105))
-      ((default . error) (COLON_EQUAL .  721))
-      ((default . error) (SEMICOLON .  720))
-      ((default . error) (IDENTIFIER . (constant_opt . 0)) (STRING_LITERAL . 
(constant_opt . 0)) (CHARACTER_LITERAL . (constant_opt . 0)) (NOT . 
(constant_opt . 0)) (ACCESS . (constant_opt . 0)) (ARRAY . (constant_opt . 0)) 
(CONSTANT .  718))
-      ((default . error) (SEPARATE .  717) (ABSTRACT .  716))
-      ((default . error) (NULL .  715))
-      ((default . error) (WITH . (parameter_profile_opt . 0)) (SEMICOLON . 
(parameter_profile_opt . 0)) (LEFT_PAREN .  713))
-      ((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)) 
(STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL . (label_opt . 0)) (ABORT 
. (label_opt . 0)) (DELAY . (label_opt .  [...]
+      ((default . error) (COLON_EQUAL .  723))
+      ((default . error) (SEMICOLON .  722))
+      ((default . error) (IDENTIFIER . (constant_opt . 0)) (STRING_LITERAL . 
(constant_opt . 0)) (CHARACTER_LITERAL . (constant_opt . 0)) (NOT . 
(constant_opt . 0)) (ACCESS . (constant_opt . 0)) (ARRAY . (constant_opt . 0)) 
(CONSTANT .  720))
+      ((default . error) (SEPARATE .  719) (ABSTRACT .  718))
+      ((default . error) (NULL .  717))
+      ((default . error) (WITH . (parameter_profile_opt . 0)) (SEMICOLON . 
(parameter_profile_opt . 0)) (LEFT_PAREN .  715))
+      ((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)) 
(STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL . (label_opt . 0)) (ABORT 
. (label_opt . 0)) (DELAY . (label_opt .  [...]
       ((default . error) (SEMICOLON . (name_opt . 0)) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48))
       ((default . error) (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)) (DIGITS . (relation_and_then_list 
. 0)) (EQUAL_GREATER . (relation_and_then_li [...]
       ((default . error) (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 . (relation_or_else_list . 0)) 
(EQUAL_GREATER . (relation_or_else_list . 0)) (ELS [...]
       ((default . error) (LOOP . (relation_or_else_list . 1)) (DO . 
(relation_or_else_list . 1)) (OR . (relation_or_else_list . 1)) (IS . 
(relation_or_else_list . 1)) (WITH . (relation_or_else_list . 1)) (SEMICOLON . 
(relation_or_else_list . 1)) (THEN . (relation_or_else_list . 1)) (RANGE . 
(relation_or_else_list . 1)) (COMMA . (relation_or_else_list . 1)) (RIGHT_PAREN 
. (relation_or_else_list . 1)) (DIGITS . (relation_or_else_list . 1)) 
(EQUAL_GREATER . (relation_or_else_list . 1)) (ELS [...]
       ((default . error) (LOOP . (relation_and_then_list . 1)) (DO . 
(relation_and_then_list . 1)) (AND . (relation_and_then_list . 1)) (IS . 
(relation_and_then_list . 1)) (WITH . (relation_and_then_list . 1)) (SEMICOLON 
. (relation_and_then_list . 1)) (THEN . (relation_and_then_list . 1)) (RANGE . 
(relation_and_then_list . 1)) (COMMA . (relation_and_then_list . 1)) 
(RIGHT_PAREN . (relation_and_then_list . 1)) (DIGITS . (relation_and_then_list 
. 1)) (EQUAL_GREATER . (relation_and_then_li [...]
-      ((default . error) (WHEN .  707))
-      ((default . error) (OF .  706) (COLON .  704) (IN .  705))
-      ((default . error) (EQUAL_GREATER .  703))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
+      ((default . error) (WHEN .  710))
+      ((default . error) (OF .  709) (COLON .  707) (IN .  708))
+      ((default . error) (EQUAL_GREATER .  706))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
       ((default . error) (IS . (aspect_specification_opt . 0)) (WITH .  107))
       ((default . error) (IS . (aspect_specification_opt . 0)) (WITH .  107))
-      ((default . error) (IDENTIFIER .  698))
-      ((default . error) (COLON .  697))
-      ((default . error) (IDENTIFIER .  696))
+      ((default . error) (IS .  133))
+      ((default . error) (IDENTIFIER .  701))
+      ((default . error) (COLON .  700))
+      ((default . error) (IDENTIFIER .  699))
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
-      ((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)) 
(STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL . (label_opt . 0)) (ABORT 
. (label_opt . 0)) (DELAY . (label_opt .  [...]
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (BEGIN . (declarative_part_opt . 0)) (USE .  11) 
(SUBTYPE .  289) (PRAGMA .  7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . 
(overriding_indicator_opt . 2)) (PROCEDURE . (overriding_indicator_opt . 2)) 
(ENTRY . (overriding_indicator_opt . 2)) (FOR .  286) (IDENTIFIER .  285) (TYPE 
.  291) (GENERIC .  2) (PROTECTED .  288) (TASK .  290) (PACKAGE .  287))
-      ((default . error) (UNTIL .  690) (PLUS .  142) (MINUS .  141) (ABS .  
144) (NOT .  147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (WHEN . (identifier_opt . 0)) (SEMICOLON . 
(identifier_opt . 0)) (IDENTIFIER .  688))
-      ((default . error) (LOOP . (iterator_specification_opt . 0)) (IDENTIFIER 
.  598))
-      ((default . error) (IDENTIFIER .  685))
-      ((default . error) (THEN . (expression_opt . 0)) (PLUS .  142) (MINUS .  
141) (ABS .  144) (NOT .  147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((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)) (STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL . 
(label_opt . 0)) (ABORT . (label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . 
(label_opt . 0)) (GOTO . (label_opt [...]
-      ((default . error) (SEMICOLON .  682))
-      ((default . error) (SEMICOLON .  680) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48))
+      ((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)) 
(STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL . (label_opt . 0)) (ABORT 
. (label_opt . 0)) (DELAY . (label_opt .  [...]
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (BEGIN . (declarative_part_opt . 0)) (USE .  11) 
(SUBTYPE .  291) (PRAGMA .  7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . 
(overriding_indicator_opt . 2)) (PROCEDURE . (overriding_indicator_opt . 2)) 
(ENTRY . (overriding_indicator_opt . 2)) (FOR .  288) (IDENTIFIER .  287) (TYPE 
.  293) (GENERIC .  2) (PROTECTED .  290) (TASK .  292) (PACKAGE .  289))
+      ((default . error) (UNTIL .  693) (PLUS .  143) (MINUS .  142) (ABS .  
145) (NOT .  148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (WHEN . (identifier_opt . 0)) (SEMICOLON . 
(identifier_opt . 0)) (IDENTIFIER .  691))
+      ((default . error) (LOOP . (iterator_specification_opt . 0)) (IDENTIFIER 
.  600))
+      ((default . error) (IDENTIFIER .  688))
+      ((default . error) (THEN . (expression_opt . 0)) (PLUS .  143) (MINUS .  
142) (ABS .  145) (NOT .  148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((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)) (STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL . 
(label_opt . 0)) (ABORT . (label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . 
(label_opt . 0)) (GOTO . (label_opt [...]
+      ((default . error) (SEMICOLON .  685))
+      ((default . error) (SEMICOLON .  683) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48))
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
-      ((default . error) (SEMICOLON .  674) (DO . 
(extended_return_object_declaration_opt . 0)) (PLUS .  142) (MINUS .  141) (ABS 
.  144) (NOT .  147) (NULL .  148) (NEW .  146) (IDENTIFIER .  675) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (ELSE . (select_alternative_list_opt . 0)) (END . 
(select_alternative_list_opt . 0)) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (DELAY .  611) (WHEN .  663) (TERMINATE .  662) (ACCEPT 
.  606))
-      ((default . error) (LOOP . (expression_opt . 0)) (PLUS .  142) (MINUS .  
141) (ABS .  144) (NOT .  147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN .  145))
+      ((default . error) (SEMICOLON .  677) (DO . 
(extended_return_object_declaration_opt . 0)) (PLUS .  143) (MINUS .  142) (ABS 
.  145) (NOT .  148) (NULL .  149) (NEW .  147) (IDENTIFIER .  678) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (ELSE . (select_alternative_list_opt . 0)) (END . 
(select_alternative_list_opt . 0)) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (DELAY .  614) (WHEN .  666) (TERMINATE .  665) (ACCEPT 
.  609))
+      ((default . error) (LOOP . (expression_opt . 0)) (PLUS .  143) (MINUS .  
142) (ABS .  145) (NOT .  148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN .  146))
       ((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)) (IDENTIFIER . (compound_statement . 5)) 
(STRING_LITERAL . (compound_statement . 5)) (CHARACTER_LITERAL . 
(compound_statement . 5)) (ACCEPT . (compound_statement . 5)) (ABORT . 
(compound_statement . 5)) (BEGIN . (compound_statement . 5)) (CASE . 
(compound_s [...]
       ((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)) (IDENTIFIER . (simple_statement . 1)) (STRING_LITERAL . 
(simple_statement . 1)) (CHARACTER_LITERAL . (simple_statement . 1)) (ACCEPT . 
(simple_statement . 1)) (ABORT . (simple_statement . 1)) (BEGIN . 
(simple_statement . 1)) (CASE . (simple_statement . 1)) (DECLARE .  [...]
       ((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)) (IDENTIFIER . (select_statement . 3)) (STRING_LITERAL . 
(select_statement . 3)) (CHARACTER_LITERAL . (select_statement . 3)) (ACCEPT . 
(select_statement . 3)) (ABORT . (select_statement . 3)) (BEGIN . 
(select_statement . 3)) (CASE . (select_statement . 3)) (DECLARE .  [...]
@@ -2294,177 +2296,176 @@
       ((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)) (IDENTIFIER . (simple_statement . 7)) (STRING_LITERAL . 
(simple_statement . 7)) (CHARACTER_LITERAL . (simple_statement . 7)) (ACCEPT . 
(simple_statement . 7)) (ABORT . (simple_statement . 7)) (BEGIN . 
(simple_statement . 7)) (CASE . (simple_statement . 7)) (DECLARE .  [...]
       ((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)) (IDENTIFIER . (simple_statement . 2)) (STRING_LITERAL . 
(simple_statement . 2)) (CHARACTER_LITERAL . (simple_statement . 2)) (ACCEPT . 
(simple_statement . 2)) (ABORT . (simple_statement . 2)) (BEGIN . 
(simple_statement . 2)) (CASE . (simple_statement . 2)) (DECLARE .  [...]
       ((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)) (IDENTIFIER . (compound_statement . 4)) 
(STRING_LITERAL . (compound_statement . 4)) (CHARACTER_LITERAL . 
(compound_statement . 4)) (ACCEPT . (compound_statement . 4)) (ABORT . 
(compound_statement . 4)) (BEGIN . (compound_statement . 4)) (CASE . 
(compound_s [...]
-      ((default . error) (END .  660))
+      ((default . error) (END .  663))
       ((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)) (IDENTIFIER . (compound_statement . 0)) 
(STRING_LITERAL . (compound_statement . 0)) (CHARACTER_LITERAL . 
(compound_statement . 0)) (ACCEPT . (compound_statement . 0)) (ABORT . 
(compound_statement . 0)) (BEGIN . (compound_statement . 0)) (CASE . 
(compound_s [...]
-      ((default . error) (LOOP .  659))
-      ((default . error) (NULL .  617) (GOTO .  614) (ABORT .  607) (ACCEPT .  
606) (DECLARE .  610) (BEGIN .  608) (LOOP .  616) (CASE .  609) (IF .  615) 
(PRAGMA .  7) (RAISE .  618) (DELAY .  611) (REQUEUE .  619) (RETURN .  620) 
(EXIT .  612) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) (STRING_LITERAL .  
48) (WHILE .  622) (FOR .  613) (SELECT .  621))
+      ((default . error) (LOOP .  662))
+      ((default . error) (NULL .  620) (GOTO .  617) (ABORT .  610) (ACCEPT .  
609) (DECLARE .  613) (BEGIN .  611) (LOOP .  619) (CASE .  612) (IF .  618) 
(PRAGMA .  7) (RAISE .  621) (DELAY .  614) (REQUEUE .  622) (RETURN .  623) 
(EXIT .  615) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) (STRING_LITERAL .  
48) (WHILE .  625) (FOR .  616) (SELECT .  624))
       ((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)) (IDENTIFIER . (compound_statement . 2)) 
(STRING_LITERAL . (compound_statement . 2)) (CHARACTER_LITERAL . 
(compound_statement . 2)) (ACCEPT . (compound_statement . 2)) (ABORT . 
(compound_statement . 2)) (BEGIN . (compound_statement . 2)) (CASE . 
(compound_s [...]
-      ((default . error) (DOT .  86) (SEMICOLON .  656) (TICK .  87) 
(COLON_EQUAL .  655) (LEFT_PAREN .  105))
+      ((default . error) (DOT .  86) (SEMICOLON .  659) (TICK .  87) 
(COLON_EQUAL .  658) (LEFT_PAREN .  105))
       ((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)) (IDENTIFIER . (simple_statement . 10)) (STRING_LITERAL 
. (simple_statement . 10)) (CHARACTER_LITERAL . (simple_statement . 10)) 
(ACCEPT . (simple_statement . 10)) (ABORT . (simple_statement . 10)) (BEGIN . 
(simple_statement . 10)) (CASE . (simple_statement . 10) [...]
       ((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)) (IDENTIFIER . (simple_statement . 4)) (STRING_LITERAL . 
(simple_statement . 4)) (CHARACTER_LITERAL . (simple_statement . 4)) (ACCEPT . 
(simple_statement . 4)) (ABORT . (simple_statement . 4)) (BEGIN . 
(simple_statement . 4)) (CASE . (simple_statement . 4)) (DECLARE .  [...]
       ((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)) (IDENTIFIER . (simple_statement . 9)) (STRING_LITERAL . 
(simple_statement . 9)) (CHARACTER_LITERAL . (simple_statement . 9)) (ACCEPT . 
(simple_statement . 9)) (ABORT . (simple_statement . 9)) (BEGIN . 
(simple_statement . 9)) (CASE . (simple_statement . 9)) (DECLARE .  [...]
       ((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)) (IDENTIFIER . (simple_statement . 6)) (STRING_LITERAL . 
(simple_statement . 6)) (CHARACTER_LITERAL . (simple_statement . 6)) (ACCEPT . 
(simple_statement . 6)) (ABORT . (simple_statement . 6)) (BEGIN . 
(simple_statement . 6)) (CASE . (simple_statement . 6)) (DECLARE .  [...]
       ((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)) (IDENTIFIER . (select_statement . 0)) (STRING_LITERAL . 
(select_statement . 0)) (CHARACTER_LITERAL . (select_statement . 0)) (ACCEPT . 
(select_statement . 0)) (ABORT . (select_statement . 0)) (BEGIN . 
(select_statement . 0)) (CASE . (select_statement . 0)) (DECLARE .  [...]
       ((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)) (IDENTIFIER . (compound_statement . 6)) 
(STRING_LITERAL . (compound_statement . 6)) (CHARACTER_LITERAL . 
(compound_statement . 6)) (ACCEPT . (compound_statement . 6)) (ABORT . 
(compound_statement . 6)) (BEGIN . (compound_statement . 6)) (CASE . 
(compound_s [...]
-      ((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 .  653))
+      ((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 .  656))
       ((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)) (IDENTIFIER . (simple_statement . 5)) (STRING_LITERAL . 
(simple_statement . 5)) (CHARACTER_LITERAL . (simple_statement . 5)) (ACCEPT . 
(simple_statement . 5)) (ABORT . (simple_statement . 5)) (BEGIN . 
(simple_statement . 5)) (CASE . (simple_statement . 5)) (DECLARE .  [...]
       ((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)) (IDENTIFIER . (sequence_of_statements . 0)) 
(STRING_LITERAL . (sequence_of_statements . 0)) (CHARACTER_LITERAL . 
(sequence_of_statements . 0)) (ACCEPT . (s [...]
       ((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)) (IDENTIFIER . (select_statement . 1)) (STRING_LITERAL . 
(select_statement . 1)) (CHARACTER_LITERAL . (select_statement . 1)) (ACCEPT . 
(select_statement . 1)) (ABORT . (select_statement . 1)) (BEGIN . 
(select_statement . 1)) (CASE . (select_statement . 1)) (DECLARE .  [...]
-      ((default . error) (SEMICOLON .  652))
-      ((default . error) (SEMICOLON .  651))
+      ((default . error) (SEMICOLON .  655))
+      ((default . error) (SEMICOLON .  654))
       ((default . error) (TYPE . (generic_instantiation . 2)) (TASK . 
(generic_instantiation . 2)) (SUBTYPE . (generic_instantiation . 2)) (PROTECTED 
. (generic_instantiation . 2)) (FOR . (generic_instantiation . 2)) (ENTRY . 
(generic_instantiation . 2)) (IDENTIFIER . (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) (TYPE . (generic_instantiation . 1)) (TASK . 
(generic_instantiation . 1)) (SUBTYPE . (generic_instantiation . 1)) (PROTECTED 
. (generic_instantiation . 1)) (FOR . (generic_instantiation . 1)) (ENTRY . 
(generic_instantiation . 1)) (IDENTIFIER . (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 .  
918))
+      ((default . error) (END . (exception_handler_list_opt . 0)) (WHEN .  
920))
       ((default . error) (OR . (sequence_of_statements . 1)) (THEN . 
(sequence_of_statements . 1)) (WHEN . (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 . (sequence_of_statements . 1)) (NULL . 
(sequence_of_statements . 1)) (LOOP . (sequence_of_statements . 1)) (IF . 
(sequence_of_statements . 1)) (GOT [...]
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
       ((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)) 
(WHILE . (procedure_call_statement . 0)) (SELECT . (procedure_call_statement . 
0)) (RETURN . (procedure_call_statement . 0)) (REQUEUE . 
(procedure_call_statement . 0)) (RAISE . (procedure_call_statement . 0)) 
(PRAGMA . (procedure_call_statement . 0)) (NULL . (procedur [...]
       ((default . error) (OR . (statement . 1)) (THEN . (statement . 1)) (WHEN 
. (statement . 1)) (EXCEPTION . (statement . 1)) (END . (statement . 1)) 
(LESS_LESS . (statement . 1)) (IDENTIFIER . (statement . 1)) (STRING_LITERAL . 
(statement . 1)) (CHARACTER_LITERAL . (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)) [...]
       ((default . error) (OR . (statement . 0)) (THEN . (statement . 0)) (WHEN 
. (statement . 0)) (EXCEPTION . (statement . 0)) (END . (statement . 0)) 
(LESS_LESS . (statement . 0)) (IDENTIFIER . (statement . 0)) (STRING_LITERAL . 
(statement . 0)) (CHARACTER_LITERAL . (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)) [...]
-      ((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)) (STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL . 
(label_opt . 0)) (ABORT . (label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . 
(label_opt . 0)) (GOTO . (label_opt [...]
+      ((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)) (STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL . 
(label_opt . 0)) (ABORT . (label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . 
(label_opt . 0)) (GOTO . (label_opt [...]
       ((default . error) (SEMICOLON . (name_opt . 0)) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48))
       ((default . error) (LOOP . (iteration_scheme . 0)))
-      ((default . error) (SEMICOLON .  914))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((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)) (STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL 
. (label_opt . 0)) (ABORT . (lab [...]
+      ((default . error) (SEMICOLON .  916))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((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)) (STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL 
. (label_opt . 0)) (ABORT . (lab [...]
       ((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)) 
(STRING_LITERAL . (label_opt . 0)) (CHARACTE [...]
-      ((default . error) (ELSE .  909) (OR .  910))
-      ((default . error) (DOT .  86) (SEMICOLON .  656) (TICK .  87) (OR . 
(sequence_of_statements_opt . 0)) (ELSE . (sequence_of_statements_opt . 0)) 
(THEN . (sequence_of_statements_opt . 0)) (LEFT_PAREN .  105) (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)) (STRING_LITERAL . (la [...]
-      ((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)) (STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL 
. (label_opt . 0)) (ABORT . (la [...]
+      ((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)) 
(STRING_LITERAL . (label_opt . 0)) (CHARACTE [...]
+      ((default . error) (ELSE .  911) (OR .  912))
+      ((default . error) (DOT .  86) (SEMICOLON .  659) (TICK .  87) (OR . 
(sequence_of_statements_opt . 0)) (ELSE . (sequence_of_statements_opt . 0)) 
(THEN . (sequence_of_statements_opt . 0)) (LEFT_PAREN .  105) (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)) (STRING_LITERAL . (la [...]
+      ((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)) (STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL 
. (label_opt . 0)) (ABORT . (la [...]
       ((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 .  906))
-      ((default . error) (ELSE .  904) (END .  905))
-      ((default . error) (THEN .  903))
+      ((default . error) (ELSE . (select_alternative_list_opt . 1)) (END . 
(select_alternative_list_opt . 1)) (OR .  908))
+      ((default . error) (ELSE .  906) (END .  907))
+      ((default . error) (THEN .  905))
       ((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)) (WHILE . 
(simple_return_statement . 0)) (SELECT . (simple_return_statement . 0)) (RETURN 
. (simple_return_statement . 0)) (REQUEUE . (simple_return_statement . 0)) 
(RAISE . (simple_return_statement . 0)) (PRAGMA . (simple_return_statement . 
0)) (NULL . (simple_return_state [...]
-      ((default . error) (COLON .  902) (STAR_STAR . (name . 0)) (REM . (name 
. 0)) (MOD . (name . 0)) (STAR . (name . 0)) (SLASH . (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 .  901))
-      ((default . error) (DO . (extended_return_object_declaration_opt . 1)) 
(SEMICOLON .  900))
-      ((default . error) (DO .  899))
-      ((default . error) (WITH .  898) (DOT .  86) (TICK .  87) (SEMICOLON .  
897) (LEFT_PAREN .  105))
+      ((default . error) (COLON .  904) (STAR_STAR . (name . 0)) (REM . (name 
. 0)) (MOD . (name . 0)) (STAR . (name . 0)) (SLASH . (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 .  903))
+      ((default . error) (DO . (extended_return_object_declaration_opt . 1)) 
(SEMICOLON .  902))
+      ((default . error) (DO .  901))
+      ((default . error) (WITH .  900) (DOT .  86) (TICK .  87) (SEMICOLON .  
899) (LEFT_PAREN .  105))
       ((default . error) (WHEN . (raise_statement . 0)) (THEN . 
(raise_statement . 0)) (OR . (raise_statement . 0)) (ELSIF . (raise_statement . 
0)) (ELSE . (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 . 0)) (NULL . (raise_statement . 0)) (LOOP . (raise_statement 
. 0)) (IF . (raise_statement . 0)) (GOTO . (raise_statement  [...]
-      ((default . error) (WITH .  896) (DOT .  86) (TICK .  87) (SEMICOLON .  
895) (LEFT_PAREN .  105))
+      ((default . error) (WITH .  898) (DOT .  86) (TICK .  87) (SEMICOLON .  
897) (LEFT_PAREN .  105))
       ((default . error) (WHEN . (simple_statement . 0)) (THEN . 
(simple_statement . 0)) (OR . (simple_statement . 0)) (ELSIF . 
(simple_statement . 0)) (ELSE . (simple_statement . 0)) (WHILE . 
(simple_statement . 0)) (SELECT . (simple_statement . 0)) (RETURN . 
(simple_statement . 0)) (REQUEUE . (simple_statement . 0)) (RAISE . 
(simple_statement . 0)) (PRAGMA . (simple_statement . 0)) (NULL . 
(simple_statement . 0)) (LOOP . (simple_statement . 0)) (IF . (simple_statement 
. 0)) (GOTO . (si [...]
-      ((default . error) (END .  894))
-      ((default . error) (THEN .  893))
-      ((default . error) (SEMICOLON .  892))
+      ((default . error) (END .  896))
+      ((default . error) (THEN .  895))
+      ((default . error) (SEMICOLON .  894))
       ((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 .  891) (SEMICOLON .  890))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (SEMICOLON .  888))
-      ((default . error) (BEGIN .  887))
-      ((default . error) (IS .  886))
-      ((default . error) (END .  885))
-      ((default . error) (DOT .  86) (TICK .  87) (SEMICOLON .  884) 
(LEFT_PAREN .  105))
-      ((default . error) (SEMICOLON . (actual_parameter_part_opt . 0)) (DO . 
(actual_parameter_part_opt . 0)) (LEFT_PAREN . ((actual_parameter_part_opt . 0) 
 881)))
+      ((default . error) (WHEN .  893) (SEMICOLON .  892))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (SEMICOLON .  890))
+      ((default . error) (BEGIN .  889))
+      ((default . error) (IS .  888))
+      ((default . error) (END .  887))
+      ((default . error) (DOT .  86) (TICK .  87) (SEMICOLON .  886) 
(LEFT_PAREN .  105))
+      ((default . error) (SEMICOLON . (actual_parameter_part_opt . 0)) (DO . 
(actual_parameter_part_opt . 0)) (LEFT_PAREN . ((actual_parameter_part_opt . 0) 
 883)))
       ((default . error) (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)) 
(CHARACTER_LITERAL . (label_opt . 2)) (STRING_LITERAL . (label_opt . 2)) 
(IDENTIFIER . (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 .  880))
-      ((default . error) (IS .  879))
-      ((default . error) (IS .  878))
+      ((default . error) (GREATER_GREATER .  882))
+      ((default . error) (IS .  881))
+      ((default . error) (IS .  880))
       ((default . error) (COMMA . (pragma_argument_association . 2)) 
(RIGHT_PAREN . (pragma_argument_association . 2)))
-      ((default . error) (ELSE .  874) (RIGHT_PAREN . (if_expression . 3)) 
(ELSIF .  875))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (NOT .  728) (IDENTIFIER .  47) (CHARACTER_LITERAL .  
49) (STRING_LITERAL .  48))
-      ((default . error) (REVERSE .  870) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (PLUS .  142) (MINUS .  141) 
(ABS .  144) (NOT .  750) (NULL .  148) (NEW .  146) (LEFT_PAREN .  145))
-      ((default . error) (REVERSE .  868) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48))
-      ((default . error) (EQUAL_GREATER . (discrete_choice_list . 0)) (BAR . 
(discrete_choice_list . 0)) (OTHERS .  170) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (PLUS .  142) (MINUS .  141) 
(ABS .  144) (NOT .  169) (NULL .  148) (NEW .  146) (LEFT_PAREN .  145))
+      ((default . error) (ELSE .  876) (RIGHT_PAREN . (if_expression . 3)) 
(ELSIF .  877))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (NOT .  730) (IDENTIFIER .  47) (CHARACTER_LITERAL .  
49) (STRING_LITERAL .  48))
+      ((default . error) (REVERSE .  872) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (PLUS .  143) (MINUS .  142) 
(ABS .  145) (NOT .  752) (NULL .  149) (NEW .  147) (LEFT_PAREN .  146))
+      ((default . error) (REVERSE .  870) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48))
+      ((default . error) (EQUAL_GREATER . (discrete_choice_list . 0)) (BAR . 
(discrete_choice_list . 0)) (OTHERS .  171) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (PLUS .  143) (MINUS .  142) 
(ABS .  145) (NOT .  170) (NULL .  149) (NEW .  147) (LEFT_PAREN .  146))
       ((default . error) (RIGHT_PAREN . (case_expression_alternative_list . 
0)) (COMMA . (case_expression_alternative_list . 0)))
-      ((default . error) (COMMA .  866) (RIGHT_PAREN . (case_expression . 0)))
-      ((default . error) (DOT .  86) (SEMICOLON . (name_opt . 1)) (TICK .  87) 
(LEFT_PAREN .  105))
-      ((default . error) (SEMICOLON .  865))
-      ((default . error) (END .  864))
-      ((default . error) (IDENTIFIER .  210) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  750) 
(NULL .  148) (NEW .  146) (LEFT_PAREN .  145))
+      ((default . error) (COMMA .  868) (RIGHT_PAREN . (case_expression . 0)))
+      ((default . error) (SEMICOLON .  867))
+      ((default . error) (END .  866))
+      ((default . error) (IDENTIFIER .  212) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  752) 
(NULL .  149) (NEW .  147) (LEFT_PAREN .  146))
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
107))
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
107))
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
107))
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
107))
       ((default . error) (ARRAY . (constant_opt . 1)) (IDENTIFIER . 
(constant_opt . 1)) (STRING_LITERAL . (constant_opt . 1)) (CHARACTER_LITERAL . 
(constant_opt . 1)) (ACCESS . (constant_opt . 1)) (NOT . (constant_opt . 1)))
-      ((default . error) (ARRAY .  475) (IDENTIFIER .  47) (CHARACTER_LITERAL 
.  49) (STRING_LITERAL .  48) (ACCESS . (null_exclusion_opt . 0)) (NOT .  854))
+      ((default . error) (ARRAY .  477) (IDENTIFIER .  47) (CHARACTER_LITERAL 
.  49) (STRING_LITERAL .  48) (ACCESS . (null_exclusion_opt . 0)) (NOT .  856))
       ((default . error) (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_declaration . 0)) (FUNCTION . (exception_declaration  [...]
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
       ((default . error) (SEMICOLON . (name_opt . 0)) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48))
-      ((default . error) (PRIVATE . (abstract_tagged_limited_opt . 0)) (NULL . 
(abstract_tagged_limited_opt . 0)) (RECORD . (abstract_tagged_limited_opt . 0)) 
(TAGGED .  841) (RANGE .  839) (MOD .  837) (DIGITS .  834) (DELTA .  833) 
(TASK .  486) (PROTECTED .  482) (SYNCHRONIZED .  484) (INTERFACE .  478) 
(ARRAY .  475) (LEFT_PAREN .  835) (ACCESS . (null_exclusion_opt . 0)) (NOT .  
206) (NEW . ((abstract_limited_synchronized_opt . 0) (abstract_limited_opt . 
0))) (LIMITED .  836) (ABSTR [...]
+      ((default . error) (PRIVATE . (abstract_tagged_limited_opt . 0)) (NULL . 
(abstract_tagged_limited_opt . 0)) (RECORD . (abstract_tagged_limited_opt . 0)) 
(TAGGED .  843) (RANGE .  841) (MOD .  839) (DIGITS .  836) (DELTA .  835) 
(TASK .  488) (PROTECTED .  484) (SYNCHRONIZED .  486) (INTERFACE .  480) 
(ARRAY .  477) (LEFT_PAREN .  837) (ACCESS . (null_exclusion_opt . 0)) (NOT .  
207) (NEW . ((abstract_limited_synchronized_opt . 0) (abstract_limited_opt . 
0))) (LIMITED .  838) (ABSTR [...]
       ((default . error) (BEGIN . (single_task_declaration . 2)) (IDENTIFIER . 
(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)) (PROTECTE [...]
-      ((default . error) (NEW .  829) (END . (declarative_part_opt . 0)) 
(PRIVATE . (declarative_part_opt . 0)) (USE .  11) (SUBTYPE .  289) (PRAGMA .  
7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) 
(PROCEDURE . (overriding_indicator_opt . 2)) (ENTRY . (overriding_indicator_opt 
. 2)) (FOR .  286) (IDENTIFIER .  285) (TYPE .  291) (GENERIC .  2) (PROTECTED 
.  288) (TASK .  290) (PACKAGE .  287))
-      ((default . error) (SEPARATE .  828))
+      ((default . error) (NEW .  831) (END . (declarative_part_opt . 0)) 
(PRIVATE . (declarative_part_opt . 0)) (USE .  11) (SUBTYPE .  291) (PRAGMA .  
7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) 
(PROCEDURE . (overriding_indicator_opt . 2)) (ENTRY . (overriding_indicator_opt 
. 2)) (FOR .  288) (IDENTIFIER .  287) (TYPE .  293) (GENERIC .  2) (PROTECTED 
.  290) (TASK .  292) (PACKAGE .  289))
+      ((default . error) (SEPARATE .  830))
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (IS . 
(aspect_specification_opt . 0)) (WITH .  107))
-      ((default . error) (NULL .  826))
-      ((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 .  86) (TICK .  87) (RANGE .  825) (LEFT_PAREN . 
 795))
+      ((default . error) (NULL .  828))
+      ((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 .  86) (TICK .  87) (RANGE .  827) (LEFT_PAREN . 
 797))
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
107))
-      ((default . error) (NEW .  821) (END . (declarative_part_opt . 0)) 
(PRIVATE . (declarative_part_opt . 0)) (USE .  11) (SUBTYPE .  289) (PRAGMA .  
7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) 
(PROCEDURE . (overriding_indicator_opt . 2)) (ENTRY . (overriding_indicator_opt 
. 2)) (FOR .  286) (IDENTIFIER .  285) (TYPE .  291) (GENERIC .  2) (PROTECTED 
.  288) (TASK .  290) (PACKAGE .  287))
-      ((default . error) (SEPARATE .  820))
+      ((default . error) (NEW .  823) (END . (declarative_part_opt . 0)) 
(PRIVATE . (declarative_part_opt . 0)) (USE .  11) (SUBTYPE .  291) (PRAGMA .  
7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) 
(PROCEDURE . (overriding_indicator_opt . 2)) (ENTRY . (overriding_indicator_opt 
. 2)) (FOR .  288) (IDENTIFIER .  287) (TYPE .  293) (GENERIC .  2) (PROTECTED 
.  290) (TASK .  292) (PACKAGE .  289))
+      ((default . error) (SEPARATE .  822))
       ((default . error) (IS . (aspect_specification_opt . 0)) (WITH .  107))
-      ((default . error) (SEPARATE .  818))
-      ((default . error) (SEMICOLON .  817))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (IDENTIFIER . (mod_clause_opt . 0)) (AT .  814))
-      ((default . error) (SEMICOLON .  813))
-      ((default . error) (SEMICOLON .  812))
-      ((default . error) (DOT .  86) (TICK .  87) (RENAMES .  811) (LEFT_PAREN 
.  105))
+      ((default . error) (SEPARATE .  820))
+      ((default . error) (SEMICOLON .  819))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (IDENTIFIER . (mod_clause_opt . 0)) (AT .  816))
+      ((default . error) (SEMICOLON .  815))
+      ((default . error) (SEMICOLON .  814))
+      ((default . error) (DOT .  86) (TICK .  87) (RENAMES .  813) (LEFT_PAREN 
.  105))
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
       ((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 .  808))
+      ((default . error) (RIGHT_PAREN .  810))
       ((default . error) (DO . (membership_choice_list . 1)) (LOOP . 
(membership_choice_list . 1)) (COMMA . (membership_choice_list . 1)) 
(RIGHT_PAREN . (membership_choice_list . 1)) (ELSIF . (membership_choice_list . 
1)) (ELSE . (membership_choice_list . 1)) (EQUAL_GREATER . 
(membership_choice_list . 1)) (DIGITS . (membership_choice_list . 1)) (RANGE . 
(membership_choice_list . 1)) (THEN . (membership_choice_list . 1)) (SEMICOLON 
. (membership_choice_list . 1)) (WITH . (membership_choic [...]
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (ACCESS . (null_exclusion_opt . 1)) (IDENTIFIER .  
804) (CHARACTER_LITERAL .  49) (STRING_LITERAL .  48))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (ACCESS . (null_exclusion_opt . 1)) (IDENTIFIER .  
806) (CHARACTER_LITERAL .  49) (STRING_LITERAL .  48))
       ((default . error) (NULL . (abstract_tagged_limited_opt . 1)) (RECORD . 
(abstract_tagged_limited_opt . 1)) (PRIVATE . (abstract_tagged_limited_opt . 
1)))
-      ((default . error) (NULL .  803) (NEW .  146) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN .  145))
+      ((default . error) (NULL .  805) (NEW .  147) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN .  146))
       ((default . error) (RIGHT_PAREN . (discrete_subtype_definition_list . 
0)) (COMMA . (discrete_subtype_definition_list . 0)))
-      ((default . error) (COMMA .  801) (RIGHT_PAREN .  802))
+      ((default . error) (COMMA .  803) (RIGHT_PAREN .  804))
       ((default . error) (RIGHT_PAREN . (index_subtype_definition_list . 0)) 
(COMMA . (index_subtype_definition_list . 0)))
-      ((default . error) (COMMA .  799) (RIGHT_PAREN .  800))
-      ((default . error) (RIGHT_PAREN . (subtype_indication . 3)) (COMMA . 
(subtype_indication . 3)) (PLUS . (primary . 2)) (MINUS . (primary . 2)) 
(AMPERSAND . (primary . 2)) (DOT_DOT . (primary . 2)) (SLASH . (primary . 2)) 
(STAR . (primary . 2)) (MOD . (primary . 2)) (REM . (primary . 2)) (STAR_STAR . 
(primary . 2)) (DOT .  86) (TICK .  271) (RANGE .  796) (LEFT_PAREN .  795))
+      ((default . error) (COMMA .  801) (RIGHT_PAREN .  802))
+      ((default . error) (RIGHT_PAREN . (subtype_indication . 3)) (COMMA . 
(subtype_indication . 3)) (PLUS . (primary . 2)) (MINUS . (primary . 2)) 
(AMPERSAND . (primary . 2)) (DOT_DOT . (primary . 2)) (SLASH . (primary . 2)) 
(STAR . (primary . 2)) (MOD . (primary . 2)) (REM . (primary . 2)) (STAR_STAR . 
(primary . 2)) (DOT .  86) (TICK .  273) (RANGE .  798) (LEFT_PAREN .  797))
       ((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) (DOT_DOT .  261))
+      ((default . error) (DOT_DOT .  263))
       ((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) (BOX .  794))
+      ((default . error) (BOX .  796))
       ((default . error) (WITH . (formal_type_definition . 2)) (SEMICOLON . 
(formal_type_definition . 2)))
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
       ((default . error) (PACKAGE . (formal_type_declaration . 1)) (PROCEDURE 
. (formal_type_declaration . 1)) (FUNCTION . (formal_type_declaration . 1)) 
(IDENTIFIER . (formal_type_declaration . 1)) (PRAGMA . (formal_type_declaration 
. 1)) (TYPE . (formal_type_declaration . 1)) (WITH . (formal_type_declaration . 
1)))
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
-      ((default . error) (SEMICOLON . (formal_derived_type_definition . 3)) 
(WITH . ((formal_derived_type_definition . 3)  788)) (DOT .  86) (TICK .  87) 
(AND .  787) (LEFT_PAREN .  105))
+      ((default . error) (SEMICOLON . (formal_derived_type_definition . 3)) 
(WITH . ((formal_derived_type_definition . 3)  790)) (DOT .  86) (TICK .  87) 
(AND .  789) (LEFT_PAREN .  105))
       ((default . error) (PACKAGE . (formal_type_declaration . 0)) (PROCEDURE 
. (formal_type_declaration . 0)) (FUNCTION . (formal_type_declaration . 0)) 
(IDENTIFIER . (formal_type_declaration . 0)) (PRAGMA . (formal_type_declaration 
. 0)) (TYPE . (formal_type_declaration . 0)) (WITH . (formal_type_declaration . 
0)))
       ((default . error) (PACKAGE . (formal_subprogram_declaration . 2)) 
(PROCEDURE . (formal_subprogram_declaration . 2)) (FUNCTION . 
(formal_subprogram_declaration . 2)) (IDENTIFIER . 
(formal_subprogram_declaration . 2)) (PRAGMA . (formal_subprogram_declaration . 
2)) (TYPE . (formal_subprogram_declaration . 2)) (WITH . 
(formal_subprogram_declaration . 2)))
-      ((default . error) (BOX .  786) (IDENTIFIER .  47) (STRING_LITERAL .  
48) (CHARACTER_LITERAL .  168) (RIGHT_PAREN . ((association_opt . 0) 
(expression_opt . 0))) (COMMA . ((association_opt . 0) (expression_opt . 0))) 
(EQUAL_GREATER . (discrete_choice_list . 0)) (BAR . (discrete_choice_list . 0)) 
(PLUS .  142) (MINUS .  141) (OTHERS .  170) (ABS .  144) (NOT .  169) (NULL .  
148) (NEW .  146) (LEFT_PAREN .  145))
+      ((default . error) (BOX .  788) (IDENTIFIER .  47) (STRING_LITERAL .  
48) (CHARACTER_LITERAL .  169) (RIGHT_PAREN . ((association_opt . 0) 
(expression_opt . 0))) (COMMA . ((association_opt . 0) (expression_opt . 0))) 
(EQUAL_GREATER . (discrete_choice_list . 0)) (BAR . (discrete_choice_list . 0)) 
(PLUS .  143) (MINUS .  142) (OTHERS .  171) (ABS .  145) (NOT .  170) (NULL .  
149) (NEW .  147) (LEFT_PAREN .  146))
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
107))
       ((default . error) (PACKAGE . (formal_object_declaration . 1)) 
(PROCEDURE . (formal_object_declaration . 1)) (FUNCTION . 
(formal_object_declaration . 1)) (IDENTIFIER . (formal_object_declaration . 1)) 
(PRAGMA . (formal_object_declaration . 1)) (TYPE . (formal_object_declaration . 
1)) (WITH . (formal_object_declaration . 1)))
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
107))
-      ((default . error) (SEMICOLON .  783))
+      ((default . error) (SEMICOLON .  785))
       ((default . error) (IDENTIFIER .  71))
       ((default . error) (RENAMES . (access_definition . 1)) (DO . 
(access_definition . 1)) (RIGHT_PAREN . (access_definition . 1)) (IS . 
(access_definition . 1)) (SEMICOLON . (access_definition . 1)) (WITH . 
(access_definition . 1)) (COLON_EQUAL . (access_definition . 1)))
       ((default . error) (RENAMES . (access_definition . 2)) (DO . 
(access_definition . 2)) (RIGHT_PAREN . (access_definition . 2)) (IS . 
(access_definition . 2)) (SEMICOLON . (access_definition . 2)) (WITH . 
(access_definition . 2)) (COLON_EQUAL . (access_definition . 2)))
       ((default . error) (SEMICOLON . (parameter_specification . 2)) 
(RIGHT_PAREN . (parameter_specification . 2)))
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
       ((default . error) (DO . (aggregate . 1)) (LOOP . (aggregate . 1)) (USE 
. (aggregate . 1)) (COLON_EQUAL . (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 . 1)) (DECLARE . (aggregate . 1)) (CASE . (aggregate . 1)) 
(BEGIN . (aggregate . 1)) (A [...]
-      ((default . error) (RIGHT_PAREN .  781))
+      ((default . error) (RIGHT_PAREN .  783))
       ((default . error) (OF . (aggregate . 2)) (LESS_LESS . (aggregate . 2)) 
(IDENTIFIER . (aggregate . 2)) (STRING_LITERAL . (aggregate . 2)) 
(CHARACTER_LITERAL . (aggregate . 2)) (ACCEPT . (aggregate . 2)) (ABORT . 
(aggregate . 2)) (BEGIN . (aggregate . 2)) (CASE . (aggregate . 2)) (DECLARE . 
(aggregate . 2)) (DELAY . (aggregate . 2)) (EXIT . (aggregate . 2)) (FOR . 
(aggregate . 2)) (GOTO . (aggregate . 2)) (IF . (aggregate . 2)) (NULL . 
(aggregate . 2)) (PRAGMA . (aggregate . 2)) (RA [...]
-      ((default . error) (COLON_EQUAL .  1051) (DOT .  86) (TICK .  87) 
(RIGHT_PAREN . (parameter_specification . 1)) (SEMICOLON . 
(parameter_specification . 1)) (LEFT_PAREN .  105))
+      ((default . error) (COLON_EQUAL .  1053) (DOT .  86) (TICK .  87) 
(RIGHT_PAREN . (parameter_specification . 1)) (SEMICOLON . 
(parameter_specification . 1)) (LEFT_PAREN .  105))
       ((default . error) (WITH . (formal_object_declaration . 2)) (TYPE . 
(formal_object_declaration . 2)) (PRAGMA . (formal_object_declaration . 2)) 
(IDENTIFIER . (formal_object_declaration . 2)) (FUNCTION . 
(formal_object_declaration . 2)) (PROCEDURE . (formal_object_declaration . 2)) 
(PACKAGE . (formal_object_declaration . 2)))
-      ((default . error) (SEMICOLON .  1050))
-      ((default . error) (SEMICOLON .  1049))
-      ((default . error) (RIGHT_PAREN .  1048))
+      ((default . error) (SEMICOLON .  1052))
+      ((default . error) (SEMICOLON .  1051))
+      ((default . error) (RIGHT_PAREN .  1050))
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
-      ((default . error) (PRIVATE .  1046))
-      ((default . error) (AND .  1045) (WITH . (interface_type_definition . 
1)) (SEMICOLON . (interface_type_definition . 1)))
+      ((default . error) (PRIVATE .  1048))
+      ((default . error) (AND .  1047) (WITH . (interface_type_definition . 
1)) (SEMICOLON . (interface_type_definition . 1)))
       ((default . error) (DOT .  86) (SEMICOLON . (interface_list . 0)) (WITH 
. (interface_list . 0)) (AND . (interface_list . 0)) (TICK .  87) (LEFT_PAREN . 
 105))
-      ((default . error) (AND .  1045) (WITH . (interface_type_definition . 
3)) (SEMICOLON . (interface_type_definition . 3)))
-      ((default . error) (AND .  1045) (WITH . (interface_type_definition . 
2)) (SEMICOLON . (interface_type_definition . 2)))
-      ((default . error) (AND .  1045) (WITH . (interface_type_definition . 
0)) (SEMICOLON . (interface_type_definition . 0)))
+      ((default . error) (AND .  1047) (WITH . (interface_type_definition . 
3)) (SEMICOLON . (interface_type_definition . 3)))
+      ((default . error) (AND .  1047) (WITH . (interface_type_definition . 
2)) (SEMICOLON . (interface_type_definition . 2)))
+      ((default . error) (AND .  1047) (WITH . (interface_type_definition . 
0)) (SEMICOLON . (interface_type_definition . 0)))
       ((default . error) (SEMICOLON . (formal_type_definition . 7)) (WITH . 
(formal_type_definition . 7)))
-      ((default . error) (IDENTIFIER .  47) (STRING_LITERAL .  48) 
(CHARACTER_LITERAL .  168) (RIGHT_PAREN . ((association_opt . 0) 
(expression_opt . 0))) (COMMA . ((association_opt . 0) (expression_opt . 0))) 
(EQUAL_GREATER . (discrete_choice_list . 0)) (BAR . (discrete_choice_list . 0)) 
(PLUS .  142) (MINUS .  141) (OTHERS .  170) (ABS .  144) (NOT .  1042) (NULL . 
 148) (NEW .  146) (LEFT_PAREN .  145))
-      ((default . error) (BOX .  1041) (IDENTIFIER .  47) (CHARACTER_LITERAL . 
 49) (STRING_LITERAL .  48) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (LEFT_PAREN .  145))
+      ((default . error) (IDENTIFIER .  47) (STRING_LITERAL .  48) 
(CHARACTER_LITERAL .  169) (RIGHT_PAREN . ((association_opt . 0) 
(expression_opt . 0))) (COMMA . ((association_opt . 0) (expression_opt . 0))) 
(EQUAL_GREATER . (discrete_choice_list . 0)) (BAR . (discrete_choice_list . 0)) 
(PLUS .  143) (MINUS .  142) (OTHERS .  171) (ABS .  145) (NOT .  1044) (NULL . 
 149) (NEW .  147) (LEFT_PAREN .  146))
+      ((default . error) (BOX .  1043) (IDENTIFIER .  47) (CHARACTER_LITERAL . 
 49) (STRING_LITERAL .  48) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (LEFT_PAREN .  146))
       ((default . error) (LOOP . (subtype_indication . 2)) (DO . 
(subtype_indication . 2)) (EQUAL_GREATER . (subtype_indication . 2)) (COMMA . 
(subtype_indication . 2)) (RIGHT_PAREN . (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)) 
(EQUAL_GREATER . (constraint . 1)) (COMMA . (constraint . 1)) (RIGHT_PAREN . 
(constraint . 1)) (COLON_EQUAL . (constraint . 1)) (WITH . (constraint . 1)) 
(SEMICOLON . (constraint . 1)) (AND . (constraint . 1)) (OF . (constraint . 1)))
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
+      ((default . error) (OF .  1040))
+      ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  752) 
(NULL .  149) (NEW .  147) (LEFT_PAREN .  146))
       ((default . error) (OF .  1038))
-      ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  750) 
(NULL .  148) (NEW .  146) (LEFT_PAREN .  145))
-      ((default . error) (OF .  1036))
       ((default . error) (PLUS . (primary . 0)) (MINUS . (primary . 0)) 
(AMPERSAND . (primary . 0)) (DOT_DOT . (primary . 0)) (SLASH . (primary . 0)) 
(STAR . (primary . 0)) (MOD . (primary . 0)) (REM . (primary . 0)) (IDENTIFIER 
.  47) (CHARACTER_LITERAL .  49) (STRING_LITERAL .  48))
       ((default . error) (DOT . (name . 0)) (LEFT_PAREN . (name . 0)) (TICK . 
(name . 0)) (SEMICOLON . (null_exclusion_opt_name . 2)) (RIGHT_PAREN . 
(null_exclusion_opt_name . 2)) (COLON_EQUAL . (null_exclusion_opt_name . 2)))
       ((default . error) (DOT . (name . 3)) (LEFT_PAREN . (name . 3)) (TICK . 
(name . 3)) (SEMICOLON . (null_exclusion_opt_name . 3)) (RIGHT_PAREN . 
(null_exclusion_opt_name . 3)) (COLON_EQUAL . (null_exclusion_opt_name . 3)))
@@ -2476,37 +2477,37 @@
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
       ((default . error) (WHEN . (record_representation_clause . 0)) (END . 
(record_representation_clause . 0)) (PRIVATE . (record_representation_clause . 
0)) (CASE . (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 . (record_representation_clause . 0)) (PRAGMA . (re [...]
       ((default . error) (WHEN . (enumeration_representation_clause . 0)) (END 
. (enumeration_representation_clause . 0)) (PRIVATE . 
(enumeration_representation_clause . 0)) (CASE . 
(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 . 
(enumeration_representation_clause . 0)) (PROCEDURE . (enu [...]
-      ((default . error) (MOD .  1032))
-      ((default . error) (IDENTIFIER .  1029))
-      ((default . error) (SEMICOLON .  1028))
+      ((default . error) (MOD .  1034))
+      ((default . error) (IDENTIFIER .  1031))
+      ((default . error) (SEMICOLON .  1030))
       ((default . error) (WHEN . (aspect_clause . 0)) (PRIVATE . 
(aspect_clause . 0)) (END . (aspect_clause . 0)) (CASE . (aspect_clause . 0)) 
(BEGIN . (aspect_clause . 0)) (IDENTIFIER . (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)) ( [...]
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
107))
-      ((default . error) (IS .  1026))
+      ((default . error) (IS .  1028))
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
107))
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
-      ((default . error) (END .  1022) (PRIVATE .  1023))
-      ((default . error) (SEMICOLON .  1021))
-      ((default . error) (SEMICOLON .  1020))
-      ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  147) 
(NULL .  148) (NEW .  146) (LEFT_PAREN .  145))
+      ((default . error) (END .  1024) (PRIVATE .  1025))
+      ((default . error) (SEMICOLON .  1023))
+      ((default . error) (SEMICOLON .  1022))
+      ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  148) 
(NULL .  149) (NEW .  147) (LEFT_PAREN .  146))
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
-      ((default . error) (SEMICOLON .  1016) (IS .  1017))
+      ((default . error) (SEMICOLON .  1018) (IS .  1019))
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
107))
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
-      ((default . error) (END .  1012) (PRIVATE .  1013))
-      ((default . error) (SEMICOLON .  1011))
-      ((default . error) (SYNCHRONIZED .  546) (TAGGED .  547) (NEW . 
((abstract_limited_synchronized_opt . 3) (abstract_limited_opt . 3))) (LIMITED 
.  1010))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (IDENTIFIER .  1004) (CHARACTER_LITERAL .  1005))
-      ((default . error) (INTERFACE .  540) (PRIVATE . 
(abstract_tagged_limited_opt . 5)) (NULL . (abstract_tagged_limited_opt . 5)) 
(RECORD . (abstract_tagged_limited_opt . 5)) (NEW . 
((abstract_limited_synchronized_opt . 4) (abstract_limited_opt . 2))))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (RECORD .  1002))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (END . (component_list_opt . 0)) (NULL .  993) (CASE 
.  992) (IDENTIFIER .  71) (FOR .  286))
-      ((default . error) (SEMICOLON .  991) (PRIVATE . 
(abstract_tagged_limited_opt . 4)) (NULL . (abstract_tagged_limited_opt . 4)) 
(RECORD . (abstract_tagged_limited_opt . 4)) (LIMITED .  534))
-      ((default . error) (NEW .  990))
-      ((default . error) (NEW .  989))
-      ((default . error) (PRIVATE .  987) (RECORD .  840) (NULL .  838))
+      ((default . error) (END .  1014) (PRIVATE .  1015))
+      ((default . error) (SEMICOLON .  1013))
+      ((default . error) (SYNCHRONIZED .  548) (TAGGED .  549) (NEW . 
((abstract_limited_synchronized_opt . 3) (abstract_limited_opt . 3))) (LIMITED 
.  1012))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (IDENTIFIER .  1006) (CHARACTER_LITERAL .  1007))
+      ((default . error) (INTERFACE .  542) (PRIVATE . 
(abstract_tagged_limited_opt . 5)) (NULL . (abstract_tagged_limited_opt . 5)) 
(RECORD . (abstract_tagged_limited_opt . 5)) (NEW . 
((abstract_limited_synchronized_opt . 4) (abstract_limited_opt . 2))))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (RECORD .  1004))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (END . (component_list_opt . 0)) (NULL .  995) (CASE 
.  994) (IDENTIFIER .  71) (FOR .  288))
+      ((default . error) (SEMICOLON .  993) (PRIVATE . 
(abstract_tagged_limited_opt . 4)) (NULL . (abstract_tagged_limited_opt . 4)) 
(RECORD . (abstract_tagged_limited_opt . 4)) (LIMITED .  536))
+      ((default . error) (NEW .  992))
+      ((default . error) (NEW .  991))
+      ((default . error) (PRIVATE .  989) (RECORD .  842) (NULL .  840))
       ((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)))
@@ -2515,255 +2516,255 @@
       ((default . error) (WITH . (type_definition . 7)) (SEMICOLON . 
(type_definition . 7)))
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
107))
       ((default . error) (SEMICOLON . (package_specification . 0)))
-      ((default . error) (SEMICOLON .  985))
-      ((default . error) (NULL .  984))
+      ((default . error) (SEMICOLON .  987))
+      ((default . error) (NULL .  986))
+      ((default . error) (COLON_EQUAL .  984) (SEMICOLON . 
(aspect_specification_opt . 0)) (WITH .  107))
       ((default . error) (COLON_EQUAL .  982) (SEMICOLON . 
(aspect_specification_opt . 0)) (WITH .  107))
       ((default . error) (COLON_EQUAL .  980) (SEMICOLON . 
(aspect_specification_opt . 0)) (WITH .  107))
-      ((default . error) (COLON_EQUAL .  978) (SEMICOLON . 
(aspect_specification_opt . 0)) (WITH .  107))
+      ((default . error) (SEMICOLON .  979))
+      ((default . error) (SEMICOLON .  978))
       ((default . error) (SEMICOLON .  977))
       ((default . error) (SEMICOLON .  976))
-      ((default . error) (SEMICOLON .  975))
-      ((default . error) (SEMICOLON .  974))
-      ((default . error) (RIGHT_PAREN .  973))
-      ((default . error) (LOOP . (subtype_indication . 3)) (DOT .  86) (IN . 
(primary . 2)) (NOT . (primary . 2)) (EQUAL . (primary . 2)) (GREATER . 
(primary . 2)) (GREATER_EQUAL . (primary . 2)) (LESS . (primary . 2)) 
(LESS_EQUAL . (primary . 2)) (SLASH_EQUAL . (primary . 2)) (RIGHT_PAREN . 
((subtype_indication . 3) (primary . 2))) (COMMA . ((subtype_indication . 3) 
(primary . 2))) (BAR . (primary . 2)) (EQUAL_GREATER . ((subtype_indication . 
3) (primary . 2))) (AND . (primary . 2)) (OR [...]
+      ((default . error) (RIGHT_PAREN .  975))
+      ((default . error) (LOOP . (subtype_indication . 3)) (DOT .  86) (IN . 
(primary . 2)) (NOT . (primary . 2)) (EQUAL . (primary . 2)) (GREATER . 
(primary . 2)) (GREATER_EQUAL . (primary . 2)) (LESS . (primary . 2)) 
(LESS_EQUAL . (primary . 2)) (SLASH_EQUAL . (primary . 2)) (RIGHT_PAREN . 
((subtype_indication . 3) (primary . 2))) (COMMA . ((subtype_indication . 3) 
(primary . 2))) (BAR . (primary . 2)) (EQUAL_GREATER . ((subtype_indication . 
3) (primary . 2))) (AND . (primary . 2)) (OR [...]
       ((default . error) (SEMICOLON . (name_opt . 0)) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48))
       ((default . error) (END . (package_body . 1)) (BEGIN . (package_body . 
1)) (IDENTIFIER . (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)) (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) (WHEN .  707))
-      ((default . error) (BAR .  272) (EQUAL_GREATER .  970))
+      ((default . error) (WHEN .  710))
+      ((default . error) (BAR .  274) (EQUAL_GREATER .  972))
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
       ((default . error) (DOT .  86) (TICK .  87) (LOOP . 
(iterator_specification . 5)) (EQUAL_GREATER . (iterator_specification . 5)) 
(LEFT_PAREN .  105))
-      ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  750) 
(NULL .  148) (NEW .  146) (LEFT_PAREN .  145))
+      ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  752) 
(NULL .  149) (NEW .  147) (LEFT_PAREN .  146))
       ((default . error) (LOOP . (iterator_specification . 1)) (EQUAL_GREATER 
. (iterator_specification . 1)))
-      ((default . error) (OF .  967))
+      ((default . error) (OF .  969))
       ((default . error) (RIGHT_PAREN . (quantified_expression . 0)))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
       ((default . error) (RIGHT_PAREN . (elsif_expression_list . 0)) (ELSE . 
(elsif_expression_list . 0)) (ELSIF . (elsif_expression_list . 0)))
-      ((default . error) (RIGHT_PAREN . (if_expression . 1)) (ELSE .  963) 
(ELSIF .  875))
-      ((default . error) (END . (protected_operation_item_list_opt . 0)) 
(ENTRY .  954) (NOT .  4) (OVERRIDING .  5) (FUNCTION . 
(overriding_indicator_opt . 2)) (PROCEDURE . (overriding_indicator_opt . 2)) 
(FOR .  286))
-      ((default . error) (BEGIN . (declarative_part_opt . 0)) (USE .  11) 
(SUBTYPE .  289) (PRAGMA .  7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . 
(overriding_indicator_opt . 2)) (PROCEDURE . (overriding_indicator_opt . 2)) 
(ENTRY . (overriding_indicator_opt . 2)) (FOR .  286) (IDENTIFIER .  285) (TYPE 
.  291) (GENERIC .  2) (PROTECTED .  288) (TASK .  290) (PACKAGE .  287))
+      ((default . error) (RIGHT_PAREN . (if_expression . 1)) (ELSE .  965) 
(ELSIF .  877))
+      ((default . error) (END . (protected_operation_item_list_opt . 0)) 
(ENTRY .  956) (NOT .  4) (OVERRIDING .  5) (FUNCTION . 
(overriding_indicator_opt . 2)) (PROCEDURE . (overriding_indicator_opt . 2)) 
(FOR .  288))
+      ((default . error) (BEGIN . (declarative_part_opt . 0)) (USE .  11) 
(SUBTYPE .  291) (PRAGMA .  7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . 
(overriding_indicator_opt . 2)) (PROCEDURE . (overriding_indicator_opt . 2)) 
(ENTRY . (overriding_indicator_opt . 2)) (FOR .  288) (IDENTIFIER .  287) (TYPE 
.  293) (GENERIC .  2) (PROTECTED .  290) (TASK .  292) (PACKAGE .  289))
       ((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)) (IDENTIFIER . (label_opt . 
1)) (STRING_LITERAL . (label_opt . 1)) (CHARACTER_LITERAL . (label_opt . 1)) 
(ABORT . (label_opt . 1)) (DELAY . (label_opt . 1)) (EXIT . (label_opt . 1)) 
(GOTO . (label_opt . 1)) (NU [...]
-      ((default . error) (RIGHT_PAREN . ((association_opt . 0) (expression_opt 
. 0))) (COMMA . ((association_opt . 0) (expression_opt . 0))) (EQUAL_GREATER . 
(discrete_choice_list . 0)) (BAR . (discrete_choice_list . 0)) (OTHERS .  170) 
(IDENTIFIER .  47) (CHARACTER_LITERAL .  168) (STRING_LITERAL .  48) (PLUS .  
142) (MINUS .  141) (ABS .  144) (NOT .  169) (NULL .  148) (NEW .  146) 
(LEFT_PAREN .  145))
+      ((default . error) (RIGHT_PAREN . ((association_opt . 0) (expression_opt 
. 0))) (COMMA . ((association_opt . 0) (expression_opt . 0))) (EQUAL_GREATER . 
(discrete_choice_list . 0)) (BAR . (discrete_choice_list . 0)) (OTHERS .  171) 
(IDENTIFIER .  47) (CHARACTER_LITERAL .  169) (STRING_LITERAL .  48) (PLUS .  
143) (MINUS .  142) (ABS .  145) (NOT .  170) (NULL .  149) (NEW .  147) 
(LEFT_PAREN .  146))
       ((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 .  774))
+      ((default . error) (DO . (parameter_profile_opt . 0)) (SEMICOLON . 
(parameter_profile_opt . 0)) (LEFT_PAREN .  776))
       ((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)) (IDENTIFIER . (simple_statement . 8)) (STRING_LITERAL . 
(simple_statement . 8)) (CHARACTER_LITERAL . (simple_statement . 8)) (ACCEPT . 
(simple_statement . 8)) (ABORT . (simple_statement . 8)) (BEGIN . 
(simple_statement . 8)) (CASE . (simple_statement . 8)) (DECLARE .  [...]
-      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
688))
-      ((default . error) (END . (case_statement_alternative_list . 0)) (WHEN . 
((case_statement_alternative_list . 0)  948)))
-      ((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)) 
(STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL . (label_opt . 0)) (ABORT 
. (label_opt . 0)) (DELAY . (label_opt .  [...]
+      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
691))
+      ((default . error) (END . (case_statement_alternative_list . 0)) (WHEN . 
((case_statement_alternative_list . 0)  950)))
+      ((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)) 
(STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL . (label_opt . 0)) (ABORT 
. (label_opt . 0)) (DELAY . (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)) (LESS_LESS . (delay_statement . 1)) (IDENTIFIER . 
(delay_statement . 1)) (STRING_LITERAL . (delay_statement . 1)) 
(CHARACTER_LITERAL . (delay_statement . 1)) (ACCEPT . (delay_statement . 1)) 
(ABORT . (delay_statement . 1)) (BEGIN . (delay_statemen [...]
-      ((default . error) (SEMICOLON .  946))
+      ((default . error) (SEMICOLON .  948))
       ((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)) (IDENTIFIER . 
(exit_statement . 1)) (STRING_LITERAL . (exit_statement . 1)) 
(CHARACTER_LITERAL . (exit_statement . 1)) (ACCEPT . (exit_statement . 1)) 
(ABORT . (exit_statement . 1)) (BEGIN . (exit_statement . 1)) (CASE . 
(exit_statement . 1)) (DECLARE . (exit_statement . 1)) (DEL [...]
-      ((default . error) (SEMICOLON . (expression_opt . 0)) (PLUS .  142) 
(MINUS .  141) (ABS .  144) (NOT .  147) (NULL .  148) (NEW .  146) (IDENTIFIER 
.  47) (CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN .  145))
+      ((default . error) (SEMICOLON . (expression_opt . 0)) (PLUS .  143) 
(MINUS .  142) (ABS .  145) (NOT .  148) (NULL .  149) (NEW .  147) (IDENTIFIER 
.  47) (CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN .  146))
       ((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)) (IDENTIFIER . (simple_statement . 3)) (STRING_LITERAL . 
(simple_statement . 3)) (CHARACTER_LITERAL . (simple_statement . 3)) (ACCEPT . 
(simple_statement . 3)) (ABORT . (simple_statement . 3)) (BEGIN . 
(simple_statement . 3)) (CASE . (simple_statement . 3)) (DECLARE .  [...]
-      ((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)) (STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL 
. (label_opt . 0)) (ABORT . ( [...]
-      ((default . error) (LOOP .  943))
+      ((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)) (STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL 
. (label_opt . 0)) (ABORT . ( [...]
+      ((default . error) (LOOP .  945))
       ((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)) (IDENTIFIER . 
(raise_statement . 2)) (STRING_LITERAL . (raise_statement . 2)) 
(CHARACTER_LITERAL . (raise_statement . 2)) (ACCEPT . (raise_statement . 2)) 
(ABORT . (raise_statement . 2)) (BEGIN . (raise_statement . 2)) (CASE . 
(raise_statement . 2)) (DECLARE . (raise_statem [...]
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
       ((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)) (IDENTIFIER . (requeue_statement . 1)) (STRING_LITERAL 
. (requeue_statement . 1)) (CHARACTER_LITERAL . (requeue_statement . 1)) 
(ACCEPT . (requeue_statement . 1)) (ABORT . (requeue_statement . 1)) (BEGIN . 
(requeue_statement . 1)) (CASE . (requeue_statement . 1) [...]
-      ((default . error) (ABORT .  941))
-      ((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)) 
(STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL . (label_opt . 0)) (ABORT 
. (label_opt . 0)) (DELAY . (label_opt .  [...]
+      ((default . error) (ABORT .  943))
+      ((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)) 
(STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL . (label_opt . 0)) (ABORT 
. (label_opt . 0)) (DELAY . (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)) (IDENTIFIER . 
(extended_return_statement . 1)) (STRING_LITERAL . (extended_return_statement . 
1)) (CHARACTER_LITERAL . (extended_return_statement . 1)) (ACCEPT . 
(extended_return_statement . 1)) (ABORT . (extended_ [...]
       ((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)) (IDENTIFIER . 
(simple_return_statement . 1)) (STRING_LITERAL . (simple_return_statement . 1)) 
(CHARACTER_LITERAL . (simple_return_statement . 1)) (ACCEPT . 
(simple_return_statement . 1)) (ABORT . (simple_return_statement . 1)) [...]
-      ((default . error) (CONSTANT . (aliased_opt . 0)) (IDENTIFIER . 
(aliased_opt . 0)) (STRING_LITERAL . (aliased_opt . 0)) (CHARACTER_LITERAL . 
(aliased_opt . 0)) (ACCESS . (aliased_opt . 0)) (NOT . (aliased_opt . 0)) 
(ALIASED .  507))
-      ((default . error) (ABORT .  938))
-      ((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)) (STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL . 
(label_opt . 0)) (ABORT . (label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . 
(label_opt . 0)) (GOTO . (label_opt [...]
-      ((default . error) (SELECT .  936))
-      ((default . error) (WHEN .  663) (TERMINATE .  662) (ACCEPT .  606) 
(DELAY .  611))
+      ((default . error) (CONSTANT . (aliased_opt . 0)) (IDENTIFIER . 
(aliased_opt . 0)) (STRING_LITERAL . (aliased_opt . 0)) (CHARACTER_LITERAL . 
(aliased_opt . 0)) (ACCESS . (aliased_opt . 0)) (NOT . (aliased_opt . 0)) 
(ALIASED .  509))
+      ((default . error) (ABORT .  940))
+      ((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)) (STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL . 
(label_opt . 0)) (ABORT . (label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . 
(label_opt . 0)) (GOTO . (label_opt [...]
+      ((default . error) (SELECT .  938))
+      ((default . error) (WHEN .  666) (TERMINATE .  665) (ACCEPT .  609) 
(DELAY .  614))
       ((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)) (STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL . 
(label_opt . 0)) (ABORT . (label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . 
(label_opt . 0)) (GOTO . (label_opt [...]
-      ((default . error) (DELAY .  611))
+      ((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)) (STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL . 
(label_opt . 0)) (ABORT . (label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . 
(label_opt . 0)) (GOTO . (label_opt [...]
+      ((default . error) (DELAY .  614))
       ((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 .  931))
+      ((default . error) (EQUAL_GREATER .  933))
       ((default . error) (END . (select_alternative . 5)) (OR . 
(select_alternative . 5)) (ELSE . (select_alternative . 5)))
+      ((default . error) (SEMICOLON .  932))
+      ((default . error) (END .  931))
       ((default . error) (SEMICOLON .  930))
-      ((default . error) (END .  929))
-      ((default . error) (SEMICOLON .  928))
-      ((default . error) (OTHERS .  924) (IDENTIFIER .  923) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48))
+      ((default . error) (OTHERS .  926) (IDENTIFIER .  925) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48))
       ((default . error) (END . (exception_handler_list . 0)) (WHEN . 
(exception_handler_list . 0)))
-      ((default . error) (END . (exception_handler_list_opt . 1)) (WHEN .  
918))
+      ((default . error) (END . (exception_handler_list_opt . 1)) (WHEN .  
920))
       ((default . error) (END . (handled_sequence_of_statements . 0)))
       ((default . error) (WHEN . (exception_handler_list . 1)) (END . 
(exception_handler_list . 1)))
-      ((default . error) (COLON .  1151) (EQUAL_GREATER . (name . 0)) (BAR . 
(name . 0)) (LEFT_PAREN . (name . 0)) (DOT . (name . 0)) (TICK . (name . 0)))
+      ((default . error) (COLON .  1153) (EQUAL_GREATER . (name . 0)) (BAR . 
(name . 0)) (LEFT_PAREN . (name . 0)) (DOT . (name . 0)) (TICK . (name . 0)))
       ((default . error) (BAR . (exception_choice . 1)) (EQUAL_GREATER . 
(exception_choice . 1)))
       ((default . error) (EQUAL_GREATER . (exception_choice_list . 0)) (BAR . 
(exception_choice_list . 0)))
-      ((default . error) (BAR .  1149) (EQUAL_GREATER .  1150))
+      ((default . error) (BAR .  1151) (EQUAL_GREATER .  1152))
       ((default . error) (DOT .  86) (BAR . (exception_choice . 0)) 
(EQUAL_GREATER . (exception_choice . 0)) (TICK .  87) (LEFT_PAREN .  105))
       ((default . error) (WHEN . (assignment_statement . 0)) (THEN . 
(assignment_statement . 0)) (OR . (assignment_statement . 0)) (ELSIF . 
(assignment_statement . 0)) (ELSE . (assignment_statement . 0)) (WHILE . 
(assignment_statement . 0)) (SELECT . (assignment_statement . 0)) (RETURN . 
(assignment_statement . 0)) (REQUEUE . (assignment_statement . 0)) (RAISE . 
(assignment_statement . 0)) (PRAGMA . (assignment_statement . 0)) (NULL . 
(assignment_statement . 0)) (LOOP . (assignment_state [...]
-      ((default . error) (LOOP .  1148))
+      ((default . error) (LOOP .  1150))
       ((default . error) (TYPE . (subprogram_body . 0)) (TASK . 
(subprogram_body . 0)) (SUBTYPE . (subprogram_body . 0)) (PROTECTED . 
(subprogram_body . 0)) (FOR . (subprogram_body . 0)) (ENTRY . (subprogram_body 
. 0)) (IDENTIFIER . (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 .  1145) (ACCEPT .  606) (DELAY .  611))
+      ((default . error) (TERMINATE .  1147) (ACCEPT .  609) (DELAY .  614))
+      ((default . error) (END .  1146))
+      ((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)) (STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL 
. (label_opt . 0)) (ABORT . (lab [...]
       ((default . error) (END .  1144))
-      ((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)) (STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL 
. (label_opt . 0)) (ABORT . (lab [...]
-      ((default . error) (END .  1142))
       ((default . error) (ELSE . (select_alternative_list . 1)) (END . 
(select_alternative_list . 1)) (OR . (select_alternative_list . 1)))
-      ((default . error) (SEMICOLON .  1141))
-      ((default . error) (END .  1140))
-      ((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)) (STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL . 
(label_opt . 0)) (ABORT . (label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . 
(label_opt . 0)) (GOTO . (label_opt [...]
-      ((default . error) (IDENTIFIER . (constant_opt . 0)) (STRING_LITERAL . 
(constant_opt . 0)) (CHARACTER_LITERAL . (constant_opt . 0)) (ACCESS . 
(constant_opt . 0)) (NOT . (constant_opt . 0)) (CONSTANT .  718))
-      ((default . error) (END .  1137))
-      ((default . error) (SEMICOLON .  1136))
-      ((default . error) (SEMICOLON .  1135))
-      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
688))
-      ((default . error) (ELSE .  1129) (END .  1131) (ELSIF .  1130))
-      ((default . error) (SEMICOLON .  1128))
+      ((default . error) (SEMICOLON .  1143))
+      ((default . error) (END .  1142))
+      ((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)) (STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL . 
(label_opt . 0)) (ABORT . (label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . 
(label_opt . 0)) (GOTO . (label_opt [...]
+      ((default . error) (IDENTIFIER . (constant_opt . 0)) (STRING_LITERAL . 
(constant_opt . 0)) (CHARACTER_LITERAL . (constant_opt . 0)) (ACCESS . 
(constant_opt . 0)) (NOT . (constant_opt . 0)) (CONSTANT .  720))
+      ((default . error) (END .  1139))
+      ((default . error) (SEMICOLON .  1138))
+      ((default . error) (SEMICOLON .  1137))
+      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
691))
+      ((default . error) (ELSE .  1131) (END .  1133) (ELSIF .  1132))
+      ((default . error) (SEMICOLON .  1130))
       ((default . error) (WHEN . (delay_statement . 0)) (ELSIF . 
(delay_statement . 0)) (EXCEPTION . (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 . 
(delay_statement . 0)) (LOOP . (delay_statement . 0)) (IF . (delay_statement . 
0)) (GOTO . (delay_statement . 0)) (FOR . (delay_statement . 0)) (EXIT . 
(delay_stat [...]
-      ((default . error) (END .  1127))
-      ((default . error) (EQUAL_GREATER . (discrete_choice_list . 0)) (BAR . 
(discrete_choice_list . 0)) (OTHERS .  170) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (PLUS .  142) (MINUS .  141) 
(ABS .  144) (NOT .  169) (NULL .  148) (NEW .  146) (LEFT_PAREN .  145))
+      ((default . error) (END .  1129))
+      ((default . error) (EQUAL_GREATER . (discrete_choice_list . 0)) (BAR . 
(discrete_choice_list . 0)) (OTHERS .  171) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (PLUS .  143) (MINUS .  142) 
(ABS .  145) (NOT .  170) (NULL .  149) (NEW .  147) (LEFT_PAREN .  146))
       ((default . error) (END . (case_statement_alternative_list . 1)) (WHEN . 
(case_statement_alternative_list . 1)))
-      ((default . error) (END .  1124) (WHEN .  948))
-      ((default . error) (SEMICOLON .  1123))
-      ((default . error) (DO .  1122) (SEMICOLON .  1121))
-      ((default . error) (BEGIN .  1120))
-      ((default . error) (IDENTIFIER .  1119))
+      ((default . error) (END .  1126) (WHEN .  950))
+      ((default . error) (SEMICOLON .  1125))
+      ((default . error) (DO .  1124) (SEMICOLON .  1123))
+      ((default . error) (BEGIN .  1122))
+      ((default . error) (IDENTIFIER .  1121))
       ((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 . 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) (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 .  954) (NOT .  4) (OVERRIDING .  5) (FUNCTION . 
(overriding_indicator_opt . 2)) (PROCEDURE . (overriding_indicator_opt . 2)) 
(FOR .  286))
-      ((default . error) (END .  1116))
+      ((default . error) (END . (protected_operation_item_list_opt . 1)) 
(ENTRY .  956) (NOT .  4) (OVERRIDING .  5) (FUNCTION . 
(overriding_indicator_opt . 2)) (PROCEDURE . (overriding_indicator_opt . 2)) 
(FOR .  288))
+      ((default . error) (END .  1118))
       ((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) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
       ((default . error) (ELSIF . (elsif_expression_list . 1)) (ELSE . 
(elsif_expression_list . 1)) (RIGHT_PAREN . (elsif_expression_list . 1)))
-      ((default . error) (THEN .  1114))
+      ((default . error) (THEN .  1116))
       ((default . error) (RIGHT_PAREN . (if_expression . 2)))
-      ((default . error) (REVERSE .  1112) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48))
+      ((default . error) (REVERSE .  1114) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48))
       ((default . error) (LOOP . (iterator_specification . 0)) (EQUAL_GREATER 
. (iterator_specification . 0)))
       ((default . error) (DOT .  86) (TICK .  87) (LOOP . 
(iterator_specification . 4)) (EQUAL_GREATER . (iterator_specification . 4)) 
(LEFT_PAREN .  105))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
       ((default . error) (RIGHT_PAREN . (case_expression_alternative_list . 
1)) (COMMA . (case_expression_alternative_list . 1)))
-      ((default . error) (SEMICOLON .  1110))
-      ((default . error) (WITH . (parameter_profile_opt . 0)) (SEMICOLON . 
(parameter_profile_opt . 0)) (LEFT_PAREN .  774))
+      ((default . error) (SEMICOLON .  1112))
+      ((default . error) (WITH . (parameter_profile_opt . 0)) (SEMICOLON . 
(parameter_profile_opt . 0)) (LEFT_PAREN .  776))
       ((default . error) (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)) (FOR . (entry_declaration . 1)) (ENTRY . ( [...]
       ((default . error) (USE . (null_procedure_declaration . 0)) (TYPE . 
(null_procedure_declaration . 0)) (TASK . (null_procedure_declaration . 0)) 
(SUBTYPE . (null_procedure_declaration . 0)) (PROTECTED . 
(null_procedure_declaration . 0)) (PROCEDURE . (null_procedure_declaration . 
0)) (PRAGMA . (null_procedure_declaration . 0)) (PACKAGE . 
(null_procedure_declaration . 0)) (OVERRIDING . (null_procedure_declaration . 
0)) (NOT . (null_procedure_declaration . 0)) (GENERIC . (null_procedur [...]
       ((default . error) (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 . 
(abstract_subprogram_declaration . 0)) (NOT . (abstract_subp [...]
       ((default . error) (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)) (FUNCTION . 
(subprogram_body_stub . 0)) (FOR . [...]
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (SEMICOLON .  1109))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
       ((default . error) (SEMICOLON .  1107))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
       ((default . error) (SEMICOLON .  1105))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (SEMICOLON .  1103))
       ((default . error) (ACCESS . (null_exclusion_opt . 1)) (IDENTIFIER .  
47) (CHARACTER_LITERAL .  49) (STRING_LITERAL .  48))
       ((default . error) (BEGIN . (declaration . 8)) (IDENTIFIER . 
(declaration . 8)) (ENTRY . (declaration . 8)) (FOR . (declaration . 8)) 
(FUNCTION . (declaration . 8)) (GENERIC . (declaration . 8)) (NOT . 
(declaration . 8)) (OVERRIDING . (declaration . 8)) (PACKAGE . (declaration . 
8)) (PRAGMA . (declaration . 8)) (PROCEDURE . (declaration . 8)) (PROTECTED . 
(declaration . 8)) (SUBTYPE . (declaration . 8)) (TASK . (declaration . 8)) 
(TYPE . (declaration . 8)) (USE . (declaration . 8)) [...]
-      ((default . error) (SEMICOLON .  1102))
+      ((default . error) (SEMICOLON .  1104))
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
107))
       ((default . error) (WITH . (record_type_definition . 0)) (SEMICOLON . 
(record_type_definition . 0)))
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
-      ((default . error) (NOT .  728) (IDENTIFIER .  47) (CHARACTER_LITERAL .  
49) (STRING_LITERAL .  48))
+      ((default . error) (NOT .  730) (IDENTIFIER .  47) (CHARACTER_LITERAL .  
49) (STRING_LITERAL .  48))
       ((default . error) (BEGIN . (incomplete_type_declaration . 0)) 
(IDENTIFIER . (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 .  [...]
-      ((default . error) (IDENTIFIER .  1096) (STRING_LITERAL .  1097))
-      ((default . error) (SEMICOLON .  1095))
+      ((default . error) (IDENTIFIER .  1098) (STRING_LITERAL .  1099))
+      ((default . error) (SEMICOLON .  1097))
       ((default . error) (WHEN . (component_item . 1)) (END . (component_item 
. 1)) (FOR . (component_item . 1)) (IDENTIFIER . (component_item . 1)) (CASE . 
(component_item . 1)))
       ((default . error) (WHEN . (component_item . 0)) (END . (component_item 
. 0)) (FOR . (component_item . 0)) (IDENTIFIER . (component_item . 0)) (CASE . 
(component_item . 0)))
       ((default . error) (WHEN . (component_list . 0)) (END . (component_list 
. 0)) (CASE . (component_list . 0)) (IDENTIFIER . (component_list . 0)) (FOR . 
(component_list . 0)))
-      ((default . error) (END . (component_list_opt . 1)) (CASE .  992) 
(IDENTIFIER .  71) (FOR .  286))
-      ((default . error) (END .  1092))
-      ((default . error) (COMMA .  94) (COLON .  1091))
+      ((default . error) (END . (component_list_opt . 1)) (CASE .  994) 
(IDENTIFIER .  71) (FOR .  288))
+      ((default . error) (END .  1094))
+      ((default . error) (COMMA .  94) (COLON .  1093))
       ((default . error) (WHEN . (component_list . 3)) (END . (component_list 
. 3)) (CASE . (component_list . 3)) (IDENTIFIER . (component_list . 3)) (FOR . 
(component_list . 3)))
-      ((default . error) (DOT_DOT .  1090))
+      ((default . error) (DOT_DOT .  1092))
       ((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 .  1088) (RIGHT_PAREN .  1089))
-      ((default . error) (WITH . (real_range_specification_opt . 0)) 
(SEMICOLON . (real_range_specification_opt . 0)) (RANGE .  1085))
-      ((default . error) (DIGITS .  1084) (WITH . 
(real_range_specification_opt . 0)) (SEMICOLON . (real_range_specification_opt 
. 0)) (RANGE .  1085))
+      ((default . error) (COMMA .  1090) (RIGHT_PAREN .  1091))
+      ((default . error) (WITH . (real_range_specification_opt . 0)) 
(SEMICOLON . (real_range_specification_opt . 0)) (RANGE .  1087))
+      ((default . error) (DIGITS .  1086) (WITH . 
(real_range_specification_opt . 0)) (SEMICOLON . (real_range_specification_opt 
. 0)) (RANGE .  1087))
       ((default . error) (NEW . ((abstract_limited_opt . 1) 
(abstract_limited_synchronized_opt . 1))))
       ((default . error) (BEGIN . (single_task_declaration . 1)) (IDENTIFIER . 
(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)) (PROTECTE [...]
-      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
688))
-      ((default . error) (END . (declarative_part_opt . 0)) (USE .  11) 
(SUBTYPE .  289) (PRAGMA .  7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . 
(overriding_indicator_opt . 2)) (PROCEDURE . (overriding_indicator_opt . 2)) 
(ENTRY . (overriding_indicator_opt . 2)) (FOR .  286) (IDENTIFIER .  285) (TYPE 
.  291) (GENERIC .  2) (PROTECTED .  288) (TASK .  290) (PACKAGE .  287))
-      ((default . error) (AND .  1045) (WITH .  1081))
-      ((default . error) (SEMICOLON .  1080))
+      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
691))
+      ((default . error) (END . (declarative_part_opt . 0)) (USE .  11) 
(SUBTYPE .  291) (PRAGMA .  7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . 
(overriding_indicator_opt . 2)) (PROCEDURE . (overriding_indicator_opt . 2)) 
(ENTRY . (overriding_indicator_opt . 2)) (FOR .  288) (IDENTIFIER .  287) (TYPE 
.  293) (GENERIC .  2) (PROTECTED .  290) (TASK .  292) (PACKAGE .  289))
+      ((default . error) (AND .  1047) (WITH .  1083))
+      ((default . error) (SEMICOLON .  1082))
       ((default . error) (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_declaration . 2)) (FUNCTION . (task_type_declaration  [...]
-      ((default . error) (NEW .  1078) (END . (declarative_part_opt . 0)) 
(PRIVATE . (declarative_part_opt . 0)) (USE .  11) (SUBTYPE .  289) (PRAGMA .  
7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) 
(PROCEDURE . (overriding_indicator_opt . 2)) (ENTRY . (overriding_indicator_opt 
. 2)) (FOR .  286) (IDENTIFIER .  285) (TYPE .  291) (GENERIC .  2) (PROTECTED 
.  288) (TASK .  290) (PACKAGE .  287))
-      ((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 .  86) (TICK .  87) (RANGE .  825) (LEFT_PAREN . 
 795))
+      ((default . error) (NEW .  1080) (END . (declarative_part_opt . 0)) 
(PRIVATE . (declarative_part_opt . 0)) (USE .  11) (SUBTYPE .  291) (PRAGMA .  
7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) 
(PROCEDURE . (overriding_indicator_opt . 2)) (ENTRY . (overriding_indicator_opt 
. 2)) (FOR .  288) (IDENTIFIER .  287) (TYPE .  293) (GENERIC .  2) (PROTECTED 
.  290) (TASK .  292) (PACKAGE .  289))
+      ((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 .  86) (TICK .  87) (RANGE .  827) (LEFT_PAREN . 
 797))
       ((default . error) (LOOP . (constraint . 0)) (EQUAL_GREATER . 
(constraint . 0)) (DO . (constraint . 0)) (OF . (constraint . 0)) (AND . 
(constraint . 0)) (SEMICOLON . (constraint . 0)) (WITH . (constraint . 0)) 
(COLON_EQUAL . (constraint . 0)) (RIGHT_PAREN . (constraint . 0)) (COMMA . 
(constraint . 0)))
       ((default . error) (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 . 
(subtype_declaration . 0)) (FOR . (subtype_de [...]
       ((default . error) (BEGIN . (single_protected_declaration . 1)) 
(IDENTIFIER . (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)) (PR [...]
-      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
688))
-      ((default . error) (END . (declarative_part_opt . 0)) (USE .  11) 
(SUBTYPE .  289) (PRAGMA .  7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . 
(overriding_indicator_opt . 2)) (PROCEDURE . (overriding_indicator_opt . 2)) 
(ENTRY . (overriding_indicator_opt . 2)) (FOR .  286) (IDENTIFIER .  285) (TYPE 
.  291) (GENERIC .  2) (PROTECTED .  288) (TASK .  290) (PACKAGE .  287))
-      ((default . error) (AND .  1045) (WITH .  1074))
-      ((default . error) (SEMICOLON .  1073))
-      ((default . error) (NEW .  1071) (END . (declarative_part_opt . 0)) 
(PRIVATE . (declarative_part_opt . 0)) (USE .  11) (SUBTYPE .  289) (PRAGMA .  
7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) 
(PROCEDURE . (overriding_indicator_opt . 2)) (ENTRY . (overriding_indicator_opt 
. 2)) (FOR .  286) (IDENTIFIER .  285) (TYPE .  291) (GENERIC .  2) (PROTECTED 
.  288) (TASK .  290) (PACKAGE .  287))
-      ((default . error) (SEMICOLON .  1070))
+      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
691))
+      ((default . error) (END . (declarative_part_opt . 0)) (USE .  11) 
(SUBTYPE .  291) (PRAGMA .  7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . 
(overriding_indicator_opt . 2)) (PROCEDURE . (overriding_indicator_opt . 2)) 
(ENTRY . (overriding_indicator_opt . 2)) (FOR .  288) (IDENTIFIER .  287) (TYPE 
.  293) (GENERIC .  2) (PROTECTED .  290) (TASK .  292) (PACKAGE .  289))
+      ((default . error) (AND .  1047) (WITH .  1076))
+      ((default . error) (SEMICOLON .  1075))
+      ((default . error) (NEW .  1073) (END . (declarative_part_opt . 0)) 
(PRIVATE . (declarative_part_opt . 0)) (USE .  11) (SUBTYPE .  291) (PRAGMA .  
7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) 
(PROCEDURE . (overriding_indicator_opt . 2)) (ENTRY . (overriding_indicator_opt 
. 2)) (FOR .  288) (IDENTIFIER .  287) (TYPE .  293) (GENERIC .  2) (PROTECTED 
.  290) (TASK .  292) (PACKAGE .  289))
+      ((default . error) (SEMICOLON .  1072))
       ((default . error) (WHEN . (at_clause . 0)) (BEGIN . (at_clause . 0)) 
(IDENTIFIER . (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)) (CASE  [...]
-      ((default . error) (AT .  1069))
+      ((default . error) (AT .  1071))
       ((default . error) (END . (component_clause_list . 0)) (IDENTIFIER . 
(component_clause_list . 0)))
-      ((default . error) (END .  1067) (IDENTIFIER .  1029))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
+      ((default . error) (END .  1069) (IDENTIFIER .  1031))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
       ((default . error) (DOT .  86) (TICK .  87) (SEMICOLON . 
(aspect_specification_opt . 0)) (WITH .  107) (LEFT_PAREN .  105))
-      ((default . error) (SEMICOLON .  1064))
-      ((default . error) (SEMICOLON .  1063))
-      ((default . error) (ALIASED .  1058) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (ACCESS . (null_exclusion_opt 
. 0)) (NOT .  854))
+      ((default . error) (SEMICOLON .  1066))
+      ((default . error) (SEMICOLON .  1065))
+      ((default . error) (ALIASED .  1060) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (ACCESS . (null_exclusion_opt 
. 0)) (NOT .  856))
       ((default . error) (RIGHT_PAREN . (discrete_subtype_definition_list . 
1)) (COMMA . (discrete_subtype_definition_list . 1)))
-      ((default . error) (ALIASED .  1058) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (ACCESS . (null_exclusion_opt 
. 0)) (NOT .  854))
+      ((default . error) (ALIASED .  1060) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (ACCESS . (null_exclusion_opt 
. 0)) (NOT .  856))
       ((default . error) (RIGHT_PAREN . (index_subtype_definition_list . 1)) 
(COMMA . (index_subtype_definition_list . 1)))
-      ((default . error) (DOT .  86) (RANGE .  1057) (TICK .  87) (LEFT_PAREN 
.  105))
+      ((default . error) (DOT .  86) (RANGE .  1059) (TICK .  87) (LEFT_PAREN 
.  105))
       ((default . error) (COMMA . (index_subtype_definition . 0)) (RIGHT_PAREN 
. (index_subtype_definition . 0)))
-      ((default . error) (NULL .  1056) (NEW .  146) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (COMMA .  801) (RIGHT_PAREN .  1055))
-      ((default . error) (COMMA . (discrete_subtype_definition . 1)) (BAR . 
(discrete_choice . 2)) (EQUAL_GREATER . (discrete_choice . 2)) (RIGHT_PAREN . 
((discrete_subtype_definition . 1)  257)))
+      ((default . error) (NULL .  1058) (NEW .  147) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (COMMA .  803) (RIGHT_PAREN .  1057))
+      ((default . error) (COMMA . (discrete_subtype_definition . 1)) (BAR . 
(discrete_choice . 2)) (EQUAL_GREATER . (discrete_choice . 2)) (RIGHT_PAREN . 
((discrete_subtype_definition . 1)  259)))
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
       ((default . error) (SEMICOLON . (formal_derived_type_definition . 1)) 
(WITH . (formal_derived_type_definition . 1)))
-      ((default . error) (SEMICOLON . (formal_derived_type_definition . 2)) 
(AND .  1045) (WITH . ((formal_derived_type_definition . 2)  1053)))
+      ((default . error) (SEMICOLON . (formal_derived_type_definition . 2)) 
(AND .  1047) (WITH . ((formal_derived_type_definition . 2)  1055)))
       ((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)) (IDENTIFIER . (formal_package_declaration . 
0)) (PRAGMA . (formal_package_declaration . 0)) (TYPE . 
(formal_package_declaration . 0)) (WITH . (formal_package_declaration . 0)))
       ((default . error) (PACKAGE . (formal_object_declaration . 0)) 
(PROCEDURE . (formal_object_declaration . 0)) (FUNCTION . 
(formal_object_declaration . 0)) (IDENTIFIER . (formal_object_declaration . 0)) 
(PRAGMA . (formal_object_declaration . 0)) (TYPE . (formal_object_declaration . 
0)) (WITH . (formal_object_declaration . 0)))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
       ((default . error) (RIGHT_PAREN . (parameter_specification . 0)) 
(SEMICOLON . (parameter_specification . 0)))
-      ((default . error) (PRIVATE .  1216))
+      ((default . error) (PRIVATE .  1218))
       ((default . error) (DOT .  86) (TICK .  87) (WITH . (interface_list . 
1)) (SEMICOLON . (interface_list . 1)) (AND . (interface_list . 1)) (LEFT_PAREN 
.  105))
       ((default . error) (LOOP . (index_constraint . 0)) (DO . 
(index_constraint . 0)) (EQUAL_GREATER . (index_constraint . 0)) (COMMA . 
(index_constraint . 0)) (RIGHT_PAREN . (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 . 0)) (MINUS . (primary . 0)) 
(AMPERSAND . (primary . 0)) (DOT_DOT . (primary . 0)) (SLASH . (primary . 0)) 
(STAR . (primary . 0)) (MOD . (primary . 0)) (REM . (primary . 0)) (XOR . 
(primary . 0)) (OR . (primary . 0)) (AND . (primary . 0)) (EQUAL_GREATER . 
(primary . 0)) (BAR . (primary . 0)) (IN . (primary . 0)) (NOT . (primary . 0)) 
(EQUAL . (primary . 0)) (GREATER . (primary . 0)) (GREATER_EQUAL . (primary . 
0)) (LESS . (primary . 0)) (LESS_EQ [...]
-      ((default . error) (BOX .  1041))
-      ((default . error) (ACCESS . (null_exclusion_opt . 0)) (NOT .  854) 
(IDENTIFIER .  47) (CHARACTER_LITERAL .  49) (STRING_LITERAL .  48))
+      ((default . error) (BOX .  1043))
+      ((default . error) (ACCESS . (null_exclusion_opt . 0)) (NOT .  856) 
(IDENTIFIER .  47) (CHARACTER_LITERAL .  49) (STRING_LITERAL .  48))
       ((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) (WITH . (array_type_definition . 1)) (SEMICOLON . 
(array_type_definition . 1)) (COLON_EQUAL . (array_type_definition . 1)))
       ((default . error) (END . (object_renaming_declaration . 2)) (PRIVATE . 
(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 . 
(object_renaming_declaration . 2)) (OVERRIDING . (obj [...]
       ((default . error) (END . (object_renaming_declaration . 1)) (PRIVATE . 
(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 . 
(object_renaming_declaration . 1)) (OVERRIDING . (obj [...]
-      ((default . error) (SEMICOLON .  1212))
-      ((default . error) (SEMICOLON .  1211))
-      ((default . error) (RECORD .  1210))
+      ((default . error) (SEMICOLON .  1214))
+      ((default . error) (SEMICOLON .  1213))
+      ((default . error) (RECORD .  1212))
       ((default . error) (IDENTIFIER . (component_clause_list . 1)) (END . 
(component_clause_list . 1)))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
       ((default . error) (PRIVATE . (package_body_stub . 0)) (END . 
(package_body_stub . 0)) (BEGIN . (package_body_stub . 0)) (IDENTIFIER . 
(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)) (PROTEC [...]
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
-      ((default . error) (SEMICOLON .  1207))
+      ((default . error) (SEMICOLON .  1209))
       ((default . error) (PRIVATE . (protected_body_stub . 0)) (END . 
(protected_body_stub . 0)) (BEGIN . (protected_body_stub . 0)) (IDENTIFIER . 
(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 . (protect [...]
-      ((default . error) (END . (declarative_part_opt . 0)) (PRIVATE . 
(declarative_part_opt . 0)) (USE .  11) (SUBTYPE .  289) (PRAGMA .  7) (NOT .  
4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) (PROCEDURE . 
(overriding_indicator_opt . 2)) (ENTRY . (overriding_indicator_opt . 2)) (FOR . 
 286) (IDENTIFIER .  285) (TYPE .  291) (GENERIC .  2) (PROTECTED .  288) (TASK 
.  290) (PACKAGE .  287))
-      ((default . error) (END .  1205))
+      ((default . error) (END . (declarative_part_opt . 0)) (PRIVATE . 
(declarative_part_opt . 0)) (USE .  11) (SUBTYPE .  291) (PRAGMA .  7) (NOT .  
4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) (PROCEDURE . 
(overriding_indicator_opt . 2)) (ENTRY . (overriding_indicator_opt . 2)) (FOR . 
 288) (IDENTIFIER .  287) (TYPE .  293) (GENERIC .  2) (PROTECTED .  290) (TASK 
.  292) (PACKAGE .  289))
+      ((default . error) (END .  1207))
       ((default . error) (SEMICOLON . (protected_definition . 1)))
       ((default . error) (LOOP . (subtype_indication . 0)) (DO . 
(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)) (COLON_EQUAL . 
(subtype_indication . 0)))
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
-      ((default . error) (SEMICOLON .  1203))
+      ((default . error) (SEMICOLON .  1205))
       ((default . error) (PRIVATE . (task_body_stub . 0)) (END . 
(task_body_stub . 0)) (BEGIN . (task_body_stub . 0)) (IDENTIFIER . 
(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 .  [...]
-      ((default . error) (END . (declarative_part_opt . 0)) (PRIVATE . 
(declarative_part_opt . 0)) (USE .  11) (SUBTYPE .  289) (PRAGMA .  7) (NOT .  
4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) (PROCEDURE . 
(overriding_indicator_opt . 2)) (ENTRY . (overriding_indicator_opt . 2)) (FOR . 
 286) (IDENTIFIER .  285) (TYPE .  291) (GENERIC .  2) (PROTECTED .  288) (TASK 
.  290) (PACKAGE .  287))
-      ((default . error) (END .  1201))
+      ((default . error) (END . (declarative_part_opt . 0)) (PRIVATE . 
(declarative_part_opt . 0)) (USE .  11) (SUBTYPE .  291) (PRAGMA .  7) (NOT .  
4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) (PROCEDURE . 
(overriding_indicator_opt . 2)) (ENTRY . (overriding_indicator_opt . 2)) (FOR . 
 288) (IDENTIFIER .  287) (TYPE .  293) (GENERIC .  2) (PROTECTED .  290) (TASK 
.  292) (PACKAGE .  289))
+      ((default . error) (END .  1203))
       ((default . error) (SEMICOLON . (task_definition . 1)))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
       ((default . error) (WITH . (type_definition . 4)) (SEMICOLON . 
(type_definition . 4)))
       ((default . error) (WITH . (type_definition . 3)) (SEMICOLON . 
(type_definition . 3)))
-      ((default . error) (IDENTIFIER .  1004) (CHARACTER_LITERAL .  1005))
+      ((default . error) (IDENTIFIER .  1006) (CHARACTER_LITERAL .  1007))
       ((default . error) (SEMICOLON . (enumeration_type_definition . 0)) (WITH 
. (enumeration_type_definition . 0)))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (ALIASED .  1058) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (ACCESS . (null_exclusion_opt 
. 0)) (NOT .  854))
-      ((default . error) (RECORD .  1195))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (ALIASED .  1060) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (ACCESS . (null_exclusion_opt 
. 0)) (NOT .  856))
+      ((default . error) (RECORD .  1197))
       ((default . error) (WHEN . (component_list . 1)) (FOR . (component_list 
. 1)) (IDENTIFIER . (component_list . 1)) (CASE . (component_list . 1)) (END . 
(component_list . 1)))
       ((default . error) (WHEN . (component_list . 2)) (FOR . (component_list 
. 2)) (IDENTIFIER . (component_list . 2)) (CASE . (component_list . 2)) (END . 
(component_list . 2)))
       ((default . error) (WHEN . (component_list . 4)) (FOR . (component_list 
. 4)) (IDENTIFIER . (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 .  1194))
-      ((default . error) (WITH . (and_interface_list_opt . 0)) (AND .  1189))
-      ((default . error) (DOT .  86) (TICK .  87) (AND .  1189) (WITH . 
((and_interface_list_opt . 0) (constraint_opt . 0))) (SEMICOLON . 
(constraint_opt . 0)) (RANGE .  825) (LEFT_PAREN .  795))
-      ((default . error) (SEMICOLON .  1188))
+      ((default . error) (IS .  1196))
+      ((default . error) (WITH . (and_interface_list_opt . 0)) (AND .  1191))
+      ((default . error) (DOT .  86) (TICK .  87) (AND .  1191) (WITH . 
((and_interface_list_opt . 0) (constraint_opt . 0))) (SEMICOLON . 
(constraint_opt . 0)) (RANGE .  827) (LEFT_PAREN .  797))
+      ((default . error) (SEMICOLON .  1190))
       ((default . error) (END . (full_type_declaration . 0)) (PRIVATE . 
(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_declaration . 0)) (NOT . (full_type_declaration . 0)) [...]
       ((default . error) (PRIVATE . (object_declaration . 3)) (END . 
(object_declaration . 3)) (BEGIN . (object_declaration . 3)) (IDENTIFIER . 
(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  [...]
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
107))
@@ -2776,201 +2777,201 @@
       ((default . error) (COMMA . (case_expression_alternative . 0)) 
(RIGHT_PAREN . (case_expression_alternative . 0)))
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
       ((default . error) (DOT .  86) (TICK .  87) (LOOP . 
(iterator_specification . 3)) (EQUAL_GREATER . (iterator_specification . 3)) 
(LEFT_PAREN .  105))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
       ((default . error) (RIGHT_PAREN . (if_expression . 0)))
-      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
688))
+      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
691))
       ((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 .  126) (IS . (aspect_specification_opt . 
0)) (WITH .  107))
-      ((default . error) (WHEN . (parameter_profile_opt . 0)) (LEFT_PAREN .  
1178))
-      ((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)) 
(STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL . (label_opt . 0)) (ABORT 
. (label_opt . 0)) (DELAY . (label_opt .  [...]
+      ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (IS . 
(aspect_specification_opt . 0)) (WITH .  107))
+      ((default . error) (WHEN . (parameter_profile_opt . 0)) (LEFT_PAREN .  
1180))
+      ((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)) 
(STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL . (label_opt . 0)) (ABORT 
. (label_opt . 0)) (DELAY . (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)) (LESS_LESS . (accept_statement . 1)) 
(IDENTIFIER . (accept_statement . 1)) (STRING_LITERAL . (accept_statement . 1)) 
(CHARACTER_LITERAL . (accept_statement . 1)) (ACCEPT . (accept_statement . 1)) 
(ABORT . (accept_statement . 1)) (BEGIN . (a [...]
-      ((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)) 
(STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL . (label_opt . 0)) (ABORT 
. (label_opt . 0)) (DELAY . (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)) 
(STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL . (label_opt . 0)) (ABORT 
. (label_opt . 0)) (DELAY . (label_opt .  [...]
       ((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)) (IDENTIFIER . 
(block_statement . 1)) (STRING_LITERAL . (block_statement . 1)) 
(CHARACTER_LITERAL . (block_statement . 1)) (ACCEPT . (block_statement . 1)) 
(ABORT . (block_statement . 1)) (BEGIN . (block_statement . 1)) (CASE . 
(block_statement . 1)) (DECLARE . (block_statem [...]
-      ((default . error) (CASE .  1175))
+      ((default . error) (CASE .  1177))
       ((default . error) (WHEN . (case_statement_alternative_list . 2)) (END . 
(case_statement_alternative_list . 2)))
-      ((default . error) (BAR .  272) (EQUAL_GREATER .  1174))
-      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
688))
+      ((default . error) (BAR .  274) (EQUAL_GREATER .  1176))
+      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
691))
       ((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)) (IDENTIFIER . 
(exit_statement . 0)) (STRING_LITERAL . (exit_statement . 0)) 
(CHARACTER_LITERAL . (exit_statement . 0)) (ACCEPT . (exit_statement . 0)) 
(ABORT . (exit_statement . 0)) (BEGIN . (exit_statement . 0)) (CASE . 
(exit_statement . 0)) (DECLARE . (exit_statement . 0)) (DEL [...]
-      ((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)) (STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL . 
(label_opt . 0)) (ABORT . (label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . 
(label_opt . 0)) (GOTO . (label_opt [...]
-      ((default . error) (THEN . (expression_opt . 0)) (PLUS .  142) (MINUS .  
141) (ABS .  144) (NOT .  147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (IF .  1170))
+      ((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)) (STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL . 
(label_opt . 0)) (ABORT . (label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . 
(label_opt . 0)) (GOTO . (label_opt [...]
+      ((default . error) (THEN . (expression_opt . 0)) (PLUS .  143) (MINUS .  
142) (ABS .  145) (NOT .  148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (IF .  1172))
       ((default . error) (END . (elsif_statement_list . 0)) (ELSE . 
(elsif_statement_list . 0)) (ELSIF . (elsif_statement_list . 0)))
-      ((default . error) (END .  1168) (ELSE .  1167) (ELSIF .  1130))
-      ((default . error) (SEMICOLON .  1166))
+      ((default . error) (END .  1170) (ELSE .  1169) (ELSIF .  1132))
+      ((default . error) (SEMICOLON .  1168))
       ((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)) (IDENTIFIER . 
(raise_statement . 1)) (STRING_LITERAL . (raise_statement . 1)) 
(CHARACTER_LITERAL . (raise_statement . 1)) (ACCEPT . (raise_statement . 1)) 
(ABORT . (raise_statement . 1)) (BEGIN . (raise_statement . 1)) (CASE . 
(raise_statement . 1)) (DECLARE . (raise_statem [...]
       ((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)) (IDENTIFIER . (requeue_statement . 0)) (STRING_LITERAL 
. (requeue_statement . 0)) (CHARACTER_LITERAL . (requeue_statement . 0)) 
(ACCEPT . (requeue_statement . 0)) (ABORT . (requeue_statement . 0)) (BEGIN . 
(requeue_statement . 0)) (CASE . (requeue_statement . 0) [...]
-      ((default . error) (RETURN .  1165))
-      ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (ACCESS . (null_exclusion_opt . 0)) (NOT .  854))
-      ((default . error) (END .  1161))
-      ((default . error) (SELECT .  1160))
+      ((default . error) (RETURN .  1167))
+      ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (ACCESS . (null_exclusion_opt . 0)) (NOT .  856))
+      ((default . error) (END .  1163))
+      ((default . error) (SELECT .  1162))
       ((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)) (IDENTIFIER . (selective_accept . 1)) (STRING_LITERAL . 
(selective_accept . 1)) (CHARACTER_LITERAL . (selective_accept . 1)) (ACCEPT . 
(selective_accept . 1)) (ABORT . (selective_accept . 1)) (BEGIN . 
(selective_accept . 1)) (CASE . (selective_accept . 1)) (DECLARE .  [...]
-      ((default . error) (SELECT .  1159))
+      ((default . error) (SELECT .  1161))
       ((default . error) (END . (delay_alternative . 0)) (OR . 
(delay_alternative . 0)) (ELSE . (delay_alternative . 0)))
-      ((default . error) (SELECT .  1158))
-      ((default . error) (SEMICOLON .  1157))
-      ((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)) (STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL 
. (label_opt . 0)) (ABORT . (lab [...]
+      ((default . error) (SELECT .  1160))
+      ((default . error) (SEMICOLON .  1159))
+      ((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)) (STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL 
. (label_opt . 0)) (ABORT . (lab [...]
       ((default . error) (END . (select_alternative . 2)) (OR . 
(select_alternative . 2)) (ELSE . (select_alternative . 2)))
-      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
688))
-      ((default . error) (OTHERS .  924) (IDENTIFIER .  47) (CHARACTER_LITERAL 
.  49) (STRING_LITERAL .  48))
-      ((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)) 
(STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL . (label_opt . 0)) (ABORT 
. (label_opt . 0)) (DELAY . (label_opt . 0)) ( [...]
-      ((default . error) (OTHERS .  924) (IDENTIFIER .  47) (CHARACTER_LITERAL 
.  49) (STRING_LITERAL .  48))
-      ((default . error) (BAR .  1149) (EQUAL_GREATER .  1258))
+      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
691))
+      ((default . error) (OTHERS .  926) (IDENTIFIER .  47) (CHARACTER_LITERAL 
.  49) (STRING_LITERAL .  48))
+      ((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)) 
(STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL . (label_opt . 0)) (ABORT 
. (label_opt . 0)) (DELAY . (label_opt . 0)) ( [...]
+      ((default . error) (OTHERS .  926) (IDENTIFIER .  47) (CHARACTER_LITERAL 
.  49) (STRING_LITERAL .  48))
+      ((default . error) (BAR .  1151) (EQUAL_GREATER .  1260))
       ((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 .  1257))
+      ((default . error) (SEMICOLON .  1259))
       ((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 .  1258))
+      ((default . error) (SEMICOLON .  1257))
       ((default . error) (SEMICOLON .  1256))
-      ((default . error) (SEMICOLON .  1255))
-      ((default . error) (SEMICOLON .  1254))
-      ((default . error) (SELECT .  1253))
+      ((default . error) (SELECT .  1255))
       ((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 .  1252))
+      ((default . error) (DO . (extended_return_object_declaration . 1)) 
(SEMICOLON . (extended_return_object_declaration . 1)) (COLON_EQUAL .  1254))
       ((default . error) (DO . (return_subtype_indication . 0)) (SEMICOLON . 
(return_subtype_indication . 0)) (COLON_EQUAL . (return_subtype_indication . 
0)))
-      ((default . error) (SEMICOLON .  1251))
+      ((default . error) (SEMICOLON .  1253))
       ((default . error) (WHEN . (loop_statement . 1)) (THEN . (loop_statement 
. 1)) (OR . (loop_statement . 1)) (ELSIF . (loop_statement . 1)) (ELSE . 
(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 . (loop_statement . 
1)) (LOOP . (loop_statement . 1)) (IF . (loop_statement . 1)) (GOTO . 
(loop_statement . 1)) (FOR . (l [...]
-      ((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)) (STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL . 
(label_opt . 0)) (ABORT . (label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . 
(label_opt . 0)) (GOTO . (label_opt [...]
-      ((default . error) (IF .  1249))
+      ((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)) (STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL . 
(label_opt . 0)) (ABORT . (label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . 
(label_opt . 0)) (GOTO . (label_opt [...]
+      ((default . error) (IF .  1251))
       ((default . error) (ELSIF . (elsif_statement_list . 1)) (ELSE . 
(elsif_statement_list . 1)) (END . (elsif_statement_list . 1)))
-      ((default . error) (SEMICOLON .  1248))
-      ((default . error) (THEN .  1247))
-      ((default . error) (END .  1246))
+      ((default . error) (SEMICOLON .  1250))
+      ((default . error) (THEN .  1249))
+      ((default . error) (END .  1248))
+      ((default . error) (SEMICOLON .  1247))
+      ((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)) 
(STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL . (label_opt . 0)) (ABORT 
. (label_opt . 0)) (DELAY . (label_opt . 0)) ( [...]
       ((default . error) (SEMICOLON .  1245))
-      ((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)) 
(STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL . (label_opt . 0)) (ABORT 
. (label_opt . 0)) (DELAY . (label_opt . 0)) ( [...]
-      ((default . error) (SEMICOLON .  1243))
-      ((default . error) (END .  1242))
-      ((default . error) (END .  1241))
-      ((default . error) (FOR .  1240) (IDENTIFIER .  71))
-      ((default . error) (WHEN .  1239))
+      ((default . error) (END .  1244))
+      ((default . error) (END .  1243))
+      ((default . error) (FOR .  1242) (IDENTIFIER .  71))
+      ((default . error) (WHEN .  1241))
       ((default . error) (WHEN . (entry_body_formal_part . 1)))
-      ((default . error) (SEMICOLON .  1238))
+      ((default . error) (SEMICOLON .  1240))
       ((default . error) (ELSE . (elsif_expression_item . 0)) (ELSIF . 
(elsif_expression_item . 0)) (RIGHT_PAREN . (elsif_expression_item . 0)))
       ((default . error) (DOT .  86) (TICK .  87) (LOOP . 
(iterator_specification . 2)) (EQUAL_GREATER . (iterator_specification . 2)) 
(LEFT_PAREN .  105))
+      ((default . error) (SEMICOLON .  1239))
+      ((default . error) (SEMICOLON .  1238))
       ((default . error) (SEMICOLON .  1237))
       ((default . error) (SEMICOLON .  1236))
-      ((default . error) (SEMICOLON .  1235))
-      ((default . error) (SEMICOLON .  1234))
       ((default . error) (BEGIN . (private_type_declaration . 0)) (IDENTIFIER 
. (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) [...]
       ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48))
-      ((default . error) (WITH .  1232))
+      ((default . error) (WITH .  1234))
       ((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 .  1231))
-      ((default . error) (WHEN .  1228))
+      ((default . error) (WITH .  1233))
+      ((default . error) (WHEN .  1230))
       ((default . error) (SEMICOLON . (record_definition . 0)) (WITH . 
(record_definition . 0)))
-      ((default . error) (COLON_EQUAL .  1226) (SEMICOLON . 
(aspect_specification_opt . 0)) (WITH .  107))
+      ((default . error) (COLON_EQUAL .  1228) (SEMICOLON . 
(aspect_specification_opt . 0)) (WITH .  107))
       ((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 .  1225))
-      ((default . error) (WITH . (real_range_specification_opt . 0)) 
(SEMICOLON . (real_range_specification_opt . 0)) (RANGE .  1085))
-      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
688))
-      ((default . error) (SEMICOLON .  1222))
+      ((default . error) (DOT_DOT .  1227))
+      ((default . error) (WITH . (real_range_specification_opt . 0)) 
(SEMICOLON . (real_range_specification_opt . 0)) (RANGE .  1087))
+      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
691))
+      ((default . error) (SEMICOLON .  1224))
       ((default . error) (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_declaration . 1)) (FUNCTION . (task_type_declaration  [...]
-      ((default . error) (AND .  1045) (WITH .  1221))
-      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
688))
-      ((default . error) (SEMICOLON .  1219))
+      ((default . error) (AND .  1047) (WITH .  1223))
+      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
691))
+      ((default . error) (SEMICOLON .  1221))
       ((default . error) (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_type_declaration . 1)) (GENERIC . (protected_typ [...]
-      ((default . error) (AND .  1045) (WITH .  1218))
-      ((default . error) (RANGE .  1217))
+      ((default . error) (AND .  1047) (WITH .  1220))
+      ((default . error) (RANGE .  1219))
       ((default . error) (SEMICOLON . (record_rep . 0)))
       ((default . error) (IDENTIFIER . (mod_clause_opt . 1)))
       ((default . error) (BEGIN . (object_renaming_declaration . 0)) 
(IDENTIFIER . (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 .  [...]
       ((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 .  86) (TICK .  87) (BAR . (discrete_choice . 
1)) (EQUAL_GREATER . (discrete_choice . 1)) (RANGE .  825) (LEFT_PAREN .  795))
+      ((default . error) (RIGHT_PAREN . (subtype_indication . 1)) (COMMA . 
(subtype_indication . 1)) (DOT .  86) (TICK .  87) (BAR . (discrete_choice . 
1)) (EQUAL_GREATER . (discrete_choice . 1)) (RANGE .  827) (LEFT_PAREN .  797))
       ((default . error) (SEMICOLON . (formal_derived_type_definition . 0)) 
(WITH . (formal_derived_type_definition . 0)))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (END . (declarative_part_opt . 0)) (PRIVATE . 
(declarative_part_opt . 0)) (USE .  11) (SUBTYPE .  289) (PRAGMA .  7) (NOT .  
4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) (PROCEDURE . 
(overriding_indicator_opt . 2)) (ENTRY . (overriding_indicator_opt . 2)) (FOR . 
 286) (IDENTIFIER .  285) (TYPE .  291) (GENERIC .  2) (PROTECTED .  288) (TASK 
.  290) (PACKAGE .  287))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (END . (declarative_part_opt . 0)) (PRIVATE . 
(declarative_part_opt . 0)) (USE .  11) (SUBTYPE .  291) (PRAGMA .  7) (NOT .  
4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) (PROCEDURE . 
(overriding_indicator_opt . 2)) (ENTRY . (overriding_indicator_opt . 2)) (FOR . 
 288) (IDENTIFIER .  287) (TYPE .  293) (GENERIC .  2) (PROTECTED .  290) (TASK 
.  292) (PACKAGE .  289))
       ((default . error) (END . (single_protected_declaration . 0)) (PRIVATE . 
(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)) (PACKAGE . (single_protected_declaration . 0)) (OVERRID [...]
       ((default . error) (SEMICOLON . (protected_definition . 0)))
-      ((default . error) (END . (declarative_part_opt . 0)) (PRIVATE . 
(declarative_part_opt . 0)) (USE .  11) (SUBTYPE .  289) (PRAGMA .  7) (NOT .  
4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) (PROCEDURE . 
(overriding_indicator_opt . 2)) (ENTRY . (overriding_indicator_opt . 2)) (FOR . 
 286) (IDENTIFIER .  285) (TYPE .  291) (GENERIC .  2) (PROTECTED .  288) (TASK 
.  290) (PACKAGE .  287))
+      ((default . error) (END . (declarative_part_opt . 0)) (PRIVATE . 
(declarative_part_opt . 0)) (USE .  11) (SUBTYPE .  291) (PRAGMA .  7) (NOT .  
4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) (PROCEDURE . 
(overriding_indicator_opt . 2)) (ENTRY . (overriding_indicator_opt . 2)) (FOR . 
 288) (IDENTIFIER .  287) (TYPE .  293) (GENERIC .  2) (PROTECTED .  290) (TASK 
.  292) (PACKAGE .  289))
       ((default . error) (END . (single_task_declaration . 0)) (PRIVATE . 
(single_task_declaration . 0)) (USE . (single_task_declaration . 0)) (TYPE . 
(single_task_declaration . 0)) (TASK . (single_task_declaration . 0)) (SUBTYPE 
. (single_task_declaration . 0)) (PROTECTED . (single_task_declaration . 0)) 
(PROCEDURE . (single_task_declaration . 0)) (PRAGMA . (single_task_declaration 
. 0)) (PACKAGE . (single_task_declaration . 0)) (OVERRIDING . 
(single_task_declaration . 0)) (NOT . (singl [...]
       ((default . error) (SEMICOLON . (task_definition . 0)))
       ((default . error) (WITH . (type_definition . 5)) (SEMICOLON . 
(type_definition . 5)))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (SEMICOLON .  1275))
-      ((default . error) (EQUAL_GREATER . (discrete_choice_list . 0)) (BAR . 
(discrete_choice_list . 0)) (OTHERS .  170) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (PLUS .  142) (MINUS .  141) 
(ABS .  144) (NOT .  169) (NULL .  148) (NEW .  146) (LEFT_PAREN .  145))
-      ((default . error) (END .  1272) (WHEN .  1228))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (SEMICOLON .  1277))
+      ((default . error) (EQUAL_GREATER . (discrete_choice_list . 0)) (BAR . 
(discrete_choice_list . 0)) (OTHERS .  171) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (PLUS .  143) (MINUS .  142) 
(ABS .  145) (NOT .  170) (NULL .  149) (NEW .  147) (LEFT_PAREN .  146))
+      ((default . error) (END .  1274) (WHEN .  1230))
       ((default . error) (END . (variant_list . 0)) (WHEN . (variant_list . 
0)))
-      ((default . error) (PRIVATE .  1271))
-      ((default . error) (RECORD .  840) (NULL .  838))
-      ((default . error) (AND .  1045) (WITH . (and_interface_list_opt . 1)))
+      ((default . error) (PRIVATE .  1273))
+      ((default . error) (RECORD .  842) (NULL .  840))
+      ((default . error) (AND .  1047) (WITH . (and_interface_list_opt . 1)))
       ((default . error) (PRIVATE . (object_declaration . 2)) (END . 
(object_declaration . 2)) (BEGIN . (object_declaration . 2)) (IDENTIFIER . 
(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  [...]
       ((default . error) (PRIVATE . (object_declaration . 4)) (END . 
(object_declaration . 4)) (BEGIN . (object_declaration . 4)) (IDENTIFIER . 
(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  [...]
       ((default . error) (PRIVATE . (object_declaration . 0)) (END . 
(object_declaration . 0)) (BEGIN . (object_declaration . 0)) (IDENTIFIER . 
(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  [...]
       ((default . error) (PRIVATE . (entry_declaration . 0)) (END . 
(entry_declaration . 0)) (BEGIN . (entry_declaration . 0)) (IDENTIFIER . 
(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)) (PROTEC [...]
       ((default . error) (PRIVATE . (protected_body . 0)) (END . 
(protected_body . 0)) (BEGIN . (protected_body . 0)) (IDENTIFIER . 
(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 .  [...]
-      ((default . error) (IS . (expression_opt . 0)) (PLUS .  142) (MINUS .  
141) (ABS .  144) (NOT .  147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (IDENTIFIER .  1268))
-      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
688))
-      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
688))
+      ((default . error) (IS . (expression_opt . 0)) (PLUS .  143) (MINUS .  
142) (ABS .  145) (NOT .  148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) 
(CHARACTER_LITERAL .  49) (STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (IDENTIFIER .  1270))
+      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
691))
+      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
691))
       ((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)) (IDENTIFIER . 
(case_statement . 0)) (STRING_LITERAL . (case_statement . 0)) 
(CHARACTER_LITERAL . (case_statement . 0)) (ACCEPT . (case_statement . 0)) 
(ABORT . (case_statement . 0)) (BEGIN . (case_statement . 0)) (CASE . 
(case_statement . 0)) (DECLARE . (case_statement . 0)) (DEL [...]
       ((default . error) (END . (case_statement_alternative . 0)) (WHEN . 
(case_statement_alternative . 0)))
       ((default . error) (OR . (block_statement . 0)) (THEN . (block_statement 
. 0)) (WHEN . (block_statement . 0)) (EXCEPTION . (block_statement . 0)) (END . 
(block_statement . 0)) (LESS_LESS . (block_statement . 0)) (IDENTIFIER . 
(block_statement . 0)) (STRING_LITERAL . (block_statement . 0)) 
(CHARACTER_LITERAL . (block_statement . 0)) (ACCEPT . (block_statement . 0)) 
(ABORT . (block_statement . 0)) (BEGIN . (block_statement . 0)) (CASE . 
(block_statement . 0)) (DECLARE . (block_statem [...]
-      ((default . error) (IF .  1265))
-      ((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)) (STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL 
. (label_opt . 0)) (ABORT . ( [...]
+      ((default . error) (IF .  1267))
+      ((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)) (STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL 
. (label_opt . 0)) (ABORT . ( [...]
       ((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)) (IDENTIFIER . 
(if_statement . 3)) (STRING_LITERAL . (if_statement . 3)) (CHARACTER_LITERAL . 
(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)) (EX [...]
-      ((default . error) (SEMICOLON .  1263))
-      ((default . error) (END .  1262))
+      ((default . error) (SEMICOLON .  1265))
+      ((default . error) (END .  1264))
       ((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)) (IDENTIFIER . 
(extended_return_statement . 0)) (STRING_LITERAL . (extended_return_statement . 
0)) (CHARACTER_LITERAL . (extended_return_statement . 0)) (ACCEPT . 
(extended_return_statement . 0)) (ABORT . (extended_ [...]
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
-      ((default . error) (SEMICOLON .  1260))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
+      ((default . error) (SEMICOLON .  1262))
       ((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)) (IDENTIFIER . (selective_accept . 0)) (STRING_LITERAL . 
(selective_accept . 0)) (CHARACTER_LITERAL . (selective_accept . 0)) (ACCEPT . 
(selective_accept . 0)) (ABORT . (selective_accept . 0)) (BEGIN . 
(selective_accept . 0)) (CASE . (selective_accept . 0)) (DECLARE .  [...]
       ((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)) (IDENTIFIER . (conditional_entry_call . 0)) 
(STRING_LITERAL . (conditional_entry_call . 0)) (CHARACTER_LITERAL . 
(conditional_entry_call . 0)) (ACCEPT . (conditional_entry_call . 0)) (ABORT . 
(conditional_entry_call . 0)) (BEGIN . ( [...]
       ((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)) (IDENTIFIER . (timed_entry_call . 0)) (STRING_LITERAL . 
(timed_entry_call . 0)) (CHARACTER_LITERAL . (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 .  [...]
       ((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)) (IDENTIFIER . 
(loop_statement . 0)) (STRING_LITERAL . (loop_statement . 0)) 
(CHARACTER_LITERAL . (loop_statement . 0)) (ACCEPT . (loop_statement . 0)) 
(ABORT . (loop_statement . 0)) (BEGIN . (loop_statement . 0)) (CASE . 
(loop_statement . 0)) (DECLARE . (loop_statement . 0)) (DEL [...]
-      ((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)) 
(STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL . (label_opt . 0)) (ABORT 
. (label_opt . 0)) (DELAY . (label_opt . 0)) ( [...]
+      ((default . error) (WHEN . (sequence_of_statements_opt . 0)) (END . 
(sequence_of_statements_opt . 0)) (ACCEPT . (label_opt . 0)) (BEGIN . 
(label_opt . 0)) (CASE . (label_opt . 0)) (DECLARE . (label_opt . 0)) (FOR . 
(label_opt . 0)) (IF . (label_opt . 0)) (LOOP . (label_opt . 0)) (RETURN . 
(label_opt . 0)) (SELECT . (label_opt . 0)) (WHILE . (label_opt . 0)) 
(STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL . (label_opt . 0)) (ABORT 
. (label_opt . 0)) (DELAY . (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)) (WHILE . 
(asynchronous_select . 0)) (SELECT . (asynchronous_select . 0)) (RETURN . 
(asynchronous_select . 0)) (REQUEUE . (asynchronous_select . 0)) (RAISE . 
(asynchronous_select . 0)) (PRAGMA . (asynchronous_select . 0)) (NULL . 
(asynchronous_select . 0)) (LOOP . (asynchronous_select . 0)) (I [...]
       ((default . error) (DO . (extended_return_object_declaration . 0)) 
(SEMICOLON . (extended_return_object_declaration . 0)))
-      ((default . error) (IF .  1293))
+      ((default . error) (IF .  1295))
       ((default . error) (WHEN . (if_statement . 1)) (THEN . (if_statement . 
1)) (OR . (if_statement . 1)) (ELSIF . (if_statement . 1)) (ELSE . 
(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 . (if_statement . 1)) (IF . (if_statement . 1)) (GOTO . (if_statement . 
1)) (FOR . (if_statement . 1)) (EXIT . (if_ [...]
       ((default . error) (ELSE . (elsif_statement_item . 0)) (ELSIF . 
(elsif_statement_item . 0)) (END . (elsif_statement_item . 0)))
+      ((default . error) (SEMICOLON .  1294))
+      ((default . error) (SEMICOLON .  1293))
       ((default . error) (SEMICOLON .  1292))
-      ((default . error) (SEMICOLON .  1291))
-      ((default . error) (SEMICOLON .  1290))
-      ((default . error) (IN .  1289))
-      ((default . error) (IS .  1288))
+      ((default . error) (IN .  1291))
+      ((default . error) (IS .  1290))
       ((default . error) (WITH . (derived_type_definition . 0)) (SEMICOLON . 
(derived_type_definition . 0)))
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
107))
-      ((default . error) (CASE .  1286))
+      ((default . error) (CASE .  1288))
       ((default . error) (WHEN . (variant_list . 1)) (END . (variant_list . 
1)))
-      ((default . error) (BAR .  272) (EQUAL_GREATER .  1285))
+      ((default . error) (BAR .  274) (EQUAL_GREATER .  1287))
       ((default . error) (WHEN . (component_declaration . 1)) (END . 
(component_declaration . 1)) (CASE . (component_declaration . 1)) (IDENTIFIER . 
(component_declaration . 1)) (FOR . (component_declaration . 1)))
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
107))
       ((default . error) (SEMICOLON . (real_range_specification_opt . 1)) 
(WITH . (real_range_specification_opt . 1)))
-      ((default . error) (SEMICOLON .  1283))
-      ((default . error) (SEMICOLON .  1282))
-      ((default . error) (DOT_DOT .  1281))
-      ((default . error) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  
147) (NULL .  148) (NEW .  146) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  145))
+      ((default . error) (SEMICOLON .  1285))
+      ((default . error) (SEMICOLON .  1284))
+      ((default . error) (DOT_DOT .  1283))
+      ((default . error) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  
148) (NULL .  149) (NEW .  147) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (LEFT_PAREN .  146))
       ((default . error) (PRIVATE . (protected_type_declaration . 0)) (END . 
(protected_type_declaration . 0)) (BEGIN . (protected_type_declaration . 0)) 
(IDENTIFIER . (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 [...]
       ((default . error) (PRIVATE . (task_type_declaration . 0)) (END . 
(task_type_declaration . 0)) (BEGIN . (task_type_declaration . 0)) (IDENTIFIER 
. (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 [...]
+      ((default . error) (SEMICOLON .  1302))
+      ((default . error) (NULL .  995) (CASE .  994) (IDENTIFIER .  71) (FOR . 
 288))
       ((default . error) (SEMICOLON .  1300))
-      ((default . error) (NULL .  993) (CASE .  992) (IDENTIFIER .  71) (FOR . 
 286))
-      ((default . error) (SEMICOLON .  1298))
-      ((default . error) (SEMICOLON .  1297))
-      ((default . error) (BEGIN . (declarative_part_opt . 0)) (USE .  11) 
(SUBTYPE .  289) (PRAGMA .  7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . 
(overriding_indicator_opt . 2)) (PROCEDURE . (overriding_indicator_opt . 2)) 
(ENTRY . (overriding_indicator_opt . 2)) (FOR .  286) (IDENTIFIER .  285) (TYPE 
.  291) (GENERIC .  2) (PROTECTED .  288) (TASK .  290) (PACKAGE .  287))
-      ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (PLUS .  142) (MINUS .  141) (ABS .  144) (NOT .  750) 
(NULL .  148) (NEW .  146) (LEFT_PAREN .  145))
+      ((default . error) (SEMICOLON .  1299))
+      ((default . error) (BEGIN . (declarative_part_opt . 0)) (USE .  11) 
(SUBTYPE .  291) (PRAGMA .  7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . 
(overriding_indicator_opt . 2)) (PROCEDURE . (overriding_indicator_opt . 2)) 
(ENTRY . (overriding_indicator_opt . 2)) (FOR .  288) (IDENTIFIER .  287) (TYPE 
.  293) (GENERIC .  2) (PROTECTED .  290) (TASK .  292) (PACKAGE .  289))
+      ((default . error) (IDENTIFIER .  47) (CHARACTER_LITERAL .  49) 
(STRING_LITERAL .  48) (PLUS .  143) (MINUS .  142) (ABS .  145) (NOT .  752) 
(NULL .  149) (NEW .  147) (LEFT_PAREN .  146))
       ((default . error) (PRIVATE . (task_body . 0)) (END . (task_body . 0)) 
(BEGIN . (task_body . 0)) (IDENTIFIER . (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)) (US [...]
       ((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)) (LESS_LESS . (accept_statement . 0)) 
(IDENTIFIER . (accept_statement . 0)) (STRING_LITERAL . (accept_statement . 0)) 
(CHARACTER_LITERAL . (accept_statement . 0)) (ACCEPT . (accept_statement . 0)) 
(ABORT . (accept_statement . 0)) (BEGIN . (a [...]
       ((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)) (IDENTIFIER . 
(if_statement . 2)) (STRING_LITERAL . (if_statement . 2)) (CHARACTER_LITERAL . 
(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)) (EX [...]
-      ((default . error) (SEMICOLON .  1294))
+      ((default . error) (SEMICOLON .  1296))
       ((default . error) (WHEN . (if_statement . 0)) (THEN . (if_statement . 
0)) (OR . (if_statement . 0)) (ELSIF . (if_statement . 0)) (ELSE . 
(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 . (if_statement . 0)) (IF . (if_statement . 0)) (GOTO . (if_statement . 
0)) (FOR . (if_statement . 0)) (EXIT . (if_ [...]
-      ((default . error) (RIGHT_PAREN .  1304))
-      ((default . error) (BEGIN .  1303))
+      ((default . error) (RIGHT_PAREN .  1306))
+      ((default . error) (BEGIN .  1305))
       ((default . error) (BEGIN . (private_extension_declaration . 0)) 
(IDENTIFIER . (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 
[...]
       ((default . error) (WHEN . (variant_part . 0)) (END . (variant_part . 
0)) (CASE . (variant_part . 0)) (IDENTIFIER . (variant_part . 0)) (FOR . 
(variant_part . 0)))
-      ((default . error) (END . (variant . 0)) (WHEN . (variant . 0)) (CASE .  
992) (IDENTIFIER .  71) (FOR .  286))
+      ((default . error) (END . (variant . 0)) (WHEN . (variant . 0)) (CASE .  
994) (IDENTIFIER .  71) (FOR .  288))
       ((default . error) (WHEN . (component_declaration . 0)) (END . 
(component_declaration . 0)) (CASE . (component_declaration . 0)) (IDENTIFIER . 
(component_declaration . 0)) (FOR . (component_declaration . 0)))
-      ((default . error) (SEMICOLON .  1302))
+      ((default . error) (SEMICOLON .  1304))
       ((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)) 
(STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL . (label_opt . 0)) (ABORT 
. (label_opt . 0)) (DELAY . (label_opt .  [...]
-      ((default . error) (WHEN . (parameter_profile_opt . 0)) (LEFT_PAREN .  
774))
+      ((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)) 
(STRING_LITERAL . (label_opt . 0)) (CHARACTER_LITERAL . (label_opt . 0)) (ABORT 
. (label_opt . 0)) (DELAY . (label_opt .  [...]
+      ((default . error) (WHEN . (parameter_profile_opt . 0)) (LEFT_PAREN .  
776))
       ((default . error) (WHEN . (entry_body_formal_part . 0)))
-      ((default . error) (END .  1307))
-      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
688))
-      ((default . error) (SEMICOLON .  1309))
+      ((default . error) (END .  1309))
+      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
691))
+      ((default . error) (SEMICOLON .  1311))
       ((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)(generic_declaration . 16)(generic_formal_part . 17)(generic_instantiation . 
18)(generic_package_declaration . 19)(generic_renaming_declaration . 
20)(generic_subprogram_declaration . 21)(library_item . 
22)(library_unit_declaration . 23)(library_unit_renaming_declaration . 
24)(overriding_indicator_opt . 25)(package_body . 26)(package_declaration . 
27)(package_renaming_declaration . 28)(package_specification . 29) [...]
       ((attribute_reference . 50)(name . 85)(qualified_expression . 
53)(selected_component . 54))
@@ -3011,9 +3012,9 @@
       nil
       nil
       nil
-      ((attribute_reference . 50)(name . 130)(qualified_expression . 
53)(selected_component . 54))
       ((attribute_reference . 50)(name . 129)(qualified_expression . 
53)(selected_component . 54))
-      ((aspect_specification_opt . 128))
+      ((attribute_reference . 50)(name . 128)(qualified_expression . 
53)(selected_component . 54))
+      ((aspect_specification_opt . 127))
       ((attribute_reference . 50)(name . 125)(qualified_expression . 
53)(selected_component . 54))
       nil
       ((aspect_specification_opt . 123))
@@ -3059,32 +3060,32 @@
       nil
       ((actual_parameter_part . 90)(formal_part . 
91)(parameter_and_result_profile . 92))
       nil
-      ((aggregate . 219)(attribute_reference . 50)(attribute_designator . 
220)(name . 221)(qualified_expression . 53)(selected_component . 54))
-      ((aggregate . 149)(association_opt . 171)(association_list . 
188)(attribute_reference . 50)(choice_expression . 
173)(choice_relation_and_list . 174)(choice_relation_or_list . 
175)(choice_relation_xor_list . 176)(choice_relation_and_then_list . 
177)(choice_relation_or_else_list . 178)(choice_relation . 179)(discrete_choice 
. 180)(discrete_choice_list . 181)(expression . 182)(expression_opt . 
183)(factor . 151)(identifier_list . 211)(name . 184)(parameter_specification . 
212)(paramet [...]
-      ((access_definition . 207)(attribute_reference . 50)(name . 
208)(null_exclusion_opt . 209)(qualified_expression . 53)(selected_component . 
54))
+      ((aggregate . 221)(attribute_reference . 50)(attribute_designator . 
222)(name . 223)(qualified_expression . 53)(selected_component . 54))
+      ((aggregate . 150)(association_opt . 172)(association_list . 
189)(attribute_reference . 50)(choice_expression . 
174)(choice_relation_and_list . 175)(choice_relation_or_list . 
176)(choice_relation_xor_list . 177)(choice_relation_and_then_list . 
178)(choice_relation_or_else_list . 179)(choice_relation . 180)(discrete_choice 
. 181)(discrete_choice_list . 182)(expression . 183)(expression_opt . 
184)(factor . 152)(identifier_list . 213)(name . 185)(parameter_specification . 
214)(paramet [...]
+      ((access_definition . 208)(attribute_reference . 50)(name . 
209)(name_opt . 210)(null_exclusion_opt . 211)(qualified_expression . 
53)(selected_component . 54))
       nil
       nil
       nil
-      ((mode_opt . 204))
+      ((mode_opt . 205))
       nil
       nil
-      ((attribute_reference . 50)(name . 200)(qualified_expression . 
53)(selected_component . 54))
-      ((aspect_specification_opt . 199))
-      ((discriminant_part_opt . 197))
+      ((attribute_reference . 50)(name . 201)(qualified_expression . 
53)(selected_component . 54))
+      ((aspect_specification_opt . 200))
+      ((discriminant_part_opt . 198))
       ((actual_parameter_part . 90))
       ((actual_parameter_part . 90))
       ((actual_parameter_part . 90))
       nil
-      ((attribute_reference . 50)(name_list . 191)(name . 
52)(qualified_expression . 53)(selected_component . 54))
+      ((attribute_reference . 50)(name_list . 192)(name . 
52)(qualified_expression . 53)(selected_component . 54))
       nil
-      ((aggregate . 149)(association_opt . 171)(association_list . 
188)(attribute_reference . 50)(choice_expression . 
173)(choice_relation_and_list . 174)(choice_relation_or_list . 
175)(choice_relation_xor_list . 176)(choice_relation_and_then_list . 
177)(choice_relation_or_else_list . 178)(choice_relation . 179)(discrete_choice 
. 180)(discrete_choice_list . 181)(expression . 182)(expression_opt . 
183)(factor . 151)(name . 184)(primary . 155)(qualified_expression . 53)(range 
. 189)(relati [...]
-      ((attribute_reference . 50)(name . 187)(qualified_expression . 
53)(selected_component . 54))
-      ((aggregate . 149)(association_opt . 171)(association_list . 
172)(attribute_reference . 50)(choice_expression . 
173)(choice_relation_and_list . 174)(choice_relation_or_list . 
175)(choice_relation_xor_list . 176)(choice_relation_and_then_list . 
177)(choice_relation_or_else_list . 178)(choice_relation . 179)(discrete_choice 
. 180)(discrete_choice_list . 181)(expression . 182)(expression_opt . 
183)(factor . 151)(name . 184)(primary . 155)(qualified_expression . 53)(range 
. 185)(relati [...]
+      ((aggregate . 150)(association_opt . 172)(association_list . 
189)(attribute_reference . 50)(choice_expression . 
174)(choice_relation_and_list . 175)(choice_relation_or_list . 
176)(choice_relation_xor_list . 177)(choice_relation_and_then_list . 
178)(choice_relation_or_else_list . 179)(choice_relation . 180)(discrete_choice 
. 181)(discrete_choice_list . 182)(expression . 183)(expression_opt . 
184)(factor . 152)(name . 185)(primary . 156)(qualified_expression . 53)(range 
. 190)(relati [...]
+      ((attribute_reference . 50)(name . 188)(qualified_expression . 
53)(selected_component . 54))
+      ((aggregate . 150)(association_opt . 172)(association_list . 
173)(attribute_reference . 50)(choice_expression . 
174)(choice_relation_and_list . 175)(choice_relation_or_list . 
176)(choice_relation_xor_list . 177)(choice_relation_and_then_list . 
178)(choice_relation_or_else_list . 179)(choice_relation . 180)(discrete_choice 
. 181)(discrete_choice_list . 182)(expression . 183)(expression_opt . 
184)(factor . 152)(name . 185)(primary . 156)(qualified_expression . 53)(range 
. 186)(relati [...]
       nil
-      ((actual_parameter_part . 90)(aspect_specification_opt . 166))
-      nil
-      ((aggregate . 149)(attribute_reference . 50)(expression . 150)(factor . 
151)(name . 152)(pragma_argument_association . 
153)(pragma_argument_association_list . 154)(primary . 
155)(qualified_expression . 53)(relation_and_list . 156)(relation_and_then_list 
. 157)(relation_or_list . 158)(relation_or_else_list . 159)(relation_xor_list . 
160)(relation . 161)(selected_component . 54)(simple_expression . 162)(term . 
163)(term_list . 164)(unary_adding_operator . 165))
+      ((actual_parameter_part . 90)(aspect_specification_opt . 167))
       nil
+      ((aggregate . 150)(attribute_reference . 50)(expression . 151)(factor . 
152)(name . 153)(pragma_argument_association . 
154)(pragma_argument_association_list . 155)(primary . 
156)(qualified_expression . 53)(relation_and_list . 157)(relation_and_then_list 
. 158)(relation_or_list . 159)(relation_or_else_list . 160)(relation_xor_list . 
161)(relation . 162)(selected_component . 54)(simple_expression . 163)(term . 
164)(term_list . 165)(unary_adding_operator . 166))
+      ((aspect_specification_opt . 141))
       nil
       ((actual_parameter_part . 90)(aspect_specification_opt . 108))
       nil
@@ -3098,28 +3099,29 @@
       nil
       nil
       ((actual_parameter_part . 90)(aspect_specification_opt . 108))
-      nil
       ((attribute_reference . 50)(name . 134)(qualified_expression . 
53)(selected_component . 54))
       nil
       ((actual_parameter_part . 90)(formal_part . 115)(parameter_profile_opt . 
116))
       ((actual_parameter_part . 90)(formal_part . 
91)(parameter_and_result_profile . 92))
       nil
       nil
-      ((abstract_subprogram_declaration . 292)(aspect_clause . 293)(at_clause 
. 294)(body . 295)(body_stub . 296)(declaration . 297)(declarations . 
298)(declarative_part_opt . 378)(entry_declaration . 
300)(enumeration_representation_clause . 301)(exception_declaration . 
302)(full_type_declaration . 303)(generic_declaration . 
304)(generic_formal_part . 17)(generic_instantiation . 
305)(generic_package_declaration . 19)(generic_renaming_declaration . 
306)(generic_subprogram_declaration . 21 [...]
-      ((actual_parameter_part . 90)(aspect_specification_opt . 377))
+      nil
+      ((abstract_subprogram_declaration . 294)(aspect_clause . 295)(at_clause 
. 296)(body . 297)(body_stub . 298)(declaration . 299)(declarations . 
300)(declarative_part_opt . 380)(entry_declaration . 
302)(enumeration_representation_clause . 303)(exception_declaration . 
304)(full_type_declaration . 305)(generic_declaration . 
306)(generic_formal_part . 17)(generic_instantiation . 
307)(generic_package_declaration . 19)(generic_renaming_declaration . 
308)(generic_subprogram_declaration . 21 [...]
+      ((actual_parameter_part . 90)(aspect_specification_opt . 379))
       nil
       nil
       nil
       ((actual_parameter_part . 90))
-      ((overriding_indicator_opt . 374)(package_body . 
313)(procedure_specification . 31)(proper_body . 375)(protected_body . 
321)(subprogram_body . 328)(task_body . 333))
+      ((overriding_indicator_opt . 376)(package_body . 
315)(procedure_specification . 31)(proper_body . 377)(protected_body . 
323)(subprogram_body . 330)(task_body . 335))
       nil
       nil
       nil
       nil
-      ((aggregate . 149)(attribute_reference . 50)(name . 152)(primary . 
368)(qualified_expression . 53)(selected_component . 54))
-      ((aggregate . 149)(association_opt . 171)(association_list . 
227)(attribute_reference . 50)(case_expression . 365)(choice_expression . 
173)(choice_relation_and_list . 174)(choice_relation_or_list . 
175)(choice_relation_xor_list . 176)(choice_relation_and_then_list . 
177)(choice_relation_or_else_list . 178)(choice_relation . 179)(discrete_choice 
. 180)(discrete_choice_list . 181)(expression . 228)(expression_opt . 
183)(factor . 151)(if_expression . 366)(name . 184)(primary . 155)(qu [...]
-      ((attribute_reference . 50)(name . 361)(qualified_expression . 
53)(selected_component . 54))
-      ((aggregate . 149)(attribute_reference . 50)(name . 152)(primary . 
283)(qualified_expression . 53)(selected_component . 54))
+      nil
+      ((aggregate . 150)(attribute_reference . 50)(name . 153)(primary . 
370)(qualified_expression . 53)(selected_component . 54))
+      ((aggregate . 150)(association_opt . 172)(association_list . 
229)(attribute_reference . 50)(case_expression . 367)(choice_expression . 
174)(choice_relation_and_list . 175)(choice_relation_or_list . 
176)(choice_relation_xor_list . 177)(choice_relation_and_then_list . 
178)(choice_relation_or_else_list . 179)(choice_relation . 180)(discrete_choice 
. 181)(discrete_choice_list . 182)(expression . 230)(expression_opt . 
184)(factor . 152)(if_expression . 368)(name . 185)(primary . 156)(qu [...]
+      ((attribute_reference . 50)(name . 363)(qualified_expression . 
53)(selected_component . 54))
+      ((aggregate . 150)(attribute_reference . 50)(name . 153)(primary . 
285)(qualified_expression . 53)(selected_component . 54))
       nil
       nil
       nil
@@ -3134,14 +3136,14 @@
       nil
       nil
       nil
-      ((relational_operator . 349))
-      ((multiplying_operator . 348))
-      ((binary_adding_operator . 343))
-      ((aggregate . 149)(attribute_reference . 50)(factor . 151)(name . 
152)(primary . 155)(qualified_expression . 53)(selected_component . 54)(term . 
163)(term_list . 339))
+      ((relational_operator . 351))
+      ((multiplying_operator . 350))
+      ((binary_adding_operator . 345))
+      ((aggregate . 150)(attribute_reference . 50)(factor . 152)(name . 
153)(primary . 156)(qualified_expression . 53)(selected_component . 54)(term . 
164)(term_list . 341))
       nil
-      ((abstract_subprogram_declaration . 292)(aspect_clause . 293)(at_clause 
. 294)(body . 295)(body_stub . 296)(declaration . 297)(declarations . 
298)(declarative_part_opt . 299)(entry_declaration . 
300)(enumeration_representation_clause . 301)(exception_declaration . 
302)(full_type_declaration . 303)(generic_declaration . 
304)(generic_formal_part . 17)(generic_instantiation . 
305)(generic_package_declaration . 19)(generic_renaming_declaration . 
306)(generic_subprogram_declaration . 21 [...]
+      ((abstract_subprogram_declaration . 294)(aspect_clause . 295)(at_clause 
. 296)(body . 297)(body_stub . 298)(declaration . 299)(declarations . 
300)(declarative_part_opt . 301)(entry_declaration . 
302)(enumeration_representation_clause . 303)(exception_declaration . 
304)(full_type_declaration . 305)(generic_declaration . 
306)(generic_formal_part . 17)(generic_instantiation . 
307)(generic_package_declaration . 19)(generic_renaming_declaration . 
308)(generic_subprogram_declaration . 21 [...]
       nil
-      ((aggregate . 149)(attribute_reference . 50)(name . 152)(primary . 
283)(qualified_expression . 53)(selected_component . 54))
+      ((aggregate . 150)(attribute_reference . 50)(name . 153)(primary . 
285)(qualified_expression . 53)(selected_component . 54))
       nil
       nil
       nil
@@ -3158,26 +3160,26 @@
       nil
       ((actual_parameter_part . 90))
       nil
-      ((relational_operator . 270))
-      ((actual_parameter_part . 90)(aspect_specification_opt . 260))
+      ((relational_operator . 272))
+      ((actual_parameter_part . 90)(aspect_specification_opt . 262))
       nil
       nil
-      ((attribute_reference . 50)(name . 256)(qualified_expression . 
53)(selected_component . 54))
+      ((attribute_reference . 50)(name . 258)(qualified_expression . 
53)(selected_component . 54))
       nil
       nil
+      ((attribute_reference . 50)(name . 256)(qualified_expression . 
53)(selected_component . 54))
+      ((attribute_reference . 50)(name . 255)(qualified_expression . 
53)(selected_component . 54))
       ((attribute_reference . 50)(name . 254)(qualified_expression . 
53)(selected_component . 54))
-      ((attribute_reference . 50)(name . 253)(qualified_expression . 
53)(selected_component . 54))
-      ((attribute_reference . 50)(name . 252)(qualified_expression . 
53)(selected_component . 54))
-      ((discriminant_specification_opt . 249)(discriminant_specification_list 
. 250)(identifier_list . 251))
-      ((aspect_specification_opt . 247))
-      ((attribute_reference . 50)(name . 244)(qualified_expression . 
53)(selected_component . 54)(subprogram_default . 245))
+      ((discriminant_specification_opt . 251)(discriminant_specification_list 
. 252)(identifier_list . 253))
+      ((aspect_specification_opt . 249))
+      ((attribute_reference . 50)(name . 246)(qualified_expression . 
53)(selected_component . 54)(subprogram_default . 247))
       nil
       ((actual_parameter_part . 90))
       nil
       nil
       nil
+      ((access_definition . 238)(null_exclusion_opt . 239))
       ((access_definition . 236)(null_exclusion_opt . 237))
-      ((access_definition . 234)(null_exclusion_opt . 235))
       nil
       nil
       ((actual_parameter_part . 90))
@@ -3189,7 +3191,8 @@
       nil
       nil
       nil
-      ((aggregate . 149)(association_opt . 171)(association_list . 
227)(attribute_reference . 50)(choice_expression . 
173)(choice_relation_and_list . 174)(choice_relation_or_list . 
175)(choice_relation_xor_list . 176)(choice_relation_and_then_list . 
177)(choice_relation_or_else_list . 178)(choice_relation . 179)(discrete_choice 
. 180)(discrete_choice_list . 181)(expression . 228)(expression_opt . 
183)(factor . 151)(name . 184)(primary . 155)(qualified_expression . 53)(range 
. 185)(relati [...]
+      nil
+      ((aggregate . 150)(association_opt . 172)(association_list . 
229)(attribute_reference . 50)(choice_expression . 
174)(choice_relation_and_list . 175)(choice_relation_or_list . 
176)(choice_relation_xor_list . 177)(choice_relation_and_then_list . 
178)(choice_relation_or_else_list . 179)(choice_relation . 180)(discrete_choice 
. 181)(discrete_choice_list . 182)(expression . 230)(expression_opt . 
184)(factor . 152)(name . 185)(primary . 156)(qualified_expression . 53)(range 
. 186)(relati [...]
       nil
       nil
       nil
@@ -3201,64 +3204,64 @@
       nil
       nil
       nil
-      ((identifier_list . 211)(parameter_specification . 510))
+      ((identifier_list . 213)(parameter_specification . 512))
       nil
-      ((access_definition . 508)(aliased_opt . 509)(null_exclusion_opt . 209))
-      ((general_access_modifier_opt . 505)(protected_opt . 506))
+      ((access_definition . 510)(aliased_opt . 511)(null_exclusion_opt . 211))
+      ((general_access_modifier_opt . 507)(protected_opt . 508))
       nil
       nil
-      ((attribute_reference . 50)(name . 501)(qualified_expression . 
53)(selected_component . 54))
-      ((aspect_specification_opt . 500))
-      ((attribute_reference . 50)(name . 498)(qualified_expression . 
53)(selected_component . 54))
+      ((attribute_reference . 50)(name . 209)(name_opt . 
503)(qualified_expression . 53)(selected_component . 54))
+      ((aspect_specification_opt . 502))
+      ((attribute_reference . 50)(name . 500)(qualified_expression . 
53)(selected_component . 54))
       nil
       nil
       nil
       nil
-      ((aspect_specification_opt . 495)(attribute_reference . 50)(name . 
244)(qualified_expression . 53)(selected_component . 54)(subprogram_default . 
496))
+      ((aspect_specification_opt . 497)(attribute_reference . 50)(name . 
246)(qualified_expression . 53)(selected_component . 54)(subprogram_default . 
498))
       nil
       ((actual_parameter_part . 90))
-      ((aspect_specification_opt . 494))
-      ((abstract_limited_synchronized_opt . 487)(abstract_tagged_limited_opt . 
488)(access_definition . 489)(array_type_definition . 
490)(formal_type_definition . 491)(formal_derived_type_definition . 
492)(interface_type_definition . 493)(null_exclusion_opt . 209))
+      ((aspect_specification_opt . 496))
+      ((abstract_limited_synchronized_opt . 489)(abstract_tagged_limited_opt . 
490)(access_definition . 491)(array_type_definition . 
492)(formal_type_definition . 493)(formal_derived_type_definition . 
494)(interface_type_definition . 495)(null_exclusion_opt . 211))
       nil
       nil
       nil
       nil
       nil
+      ((actual_parameter_part . 90)(aspect_specification_opt . 470))
+      ((actual_parameter_part . 90)(aspect_specification_opt . 469))
       ((actual_parameter_part . 90)(aspect_specification_opt . 468))
-      ((actual_parameter_part . 90)(aspect_specification_opt . 467))
-      ((actual_parameter_part . 90)(aspect_specification_opt . 466))
       nil
-      ((actual_parameter_part . 90)(aspect_specification_opt . 465))
+      ((actual_parameter_part . 90)(aspect_specification_opt . 467))
       nil
-      ((aggregate . 149)(association_opt . 464)(attribute_reference . 
50)(choice_expression . 173)(choice_relation_and_list . 
174)(choice_relation_or_list . 175)(choice_relation_xor_list . 
176)(choice_relation_and_then_list . 177)(choice_relation_or_else_list . 
178)(choice_relation . 179)(discrete_choice . 180)(discrete_choice_list . 
181)(expression . 182)(expression_opt . 183)(factor . 151)(name . 184)(primary 
. 155)(qualified_expression . 53)(range . 185)(relation_and_list . 156)(relat 
[...]
+      ((aggregate . 150)(association_opt . 466)(attribute_reference . 
50)(choice_expression . 174)(choice_relation_and_list . 
175)(choice_relation_or_list . 176)(choice_relation_xor_list . 
177)(choice_relation_and_then_list . 178)(choice_relation_or_else_list . 
179)(choice_relation . 180)(discrete_choice . 181)(discrete_choice_list . 
182)(expression . 183)(expression_opt . 184)(factor . 152)(name . 185)(primary 
. 156)(qualified_expression . 53)(range . 186)(relation_and_list . 157)(relat 
[...]
       nil
       nil
-      ((aggregate . 149)(attribute_reference . 50)(factor . 151)(name . 
152)(primary . 155)(qualified_expression . 53)(selected_component . 
54)(simple_expression . 462)(term . 163)(term_list . 164)(unary_adding_operator 
. 165))
+      ((aggregate . 150)(attribute_reference . 50)(factor . 152)(name . 
153)(primary . 156)(qualified_expression . 53)(selected_component . 
54)(simple_expression . 464)(term . 164)(term_list . 165)(unary_adding_operator 
. 166))
       nil
       nil
       nil
       nil
       nil
       nil
-      ((aggregate . 149)(attribute_reference . 50)(factor . 
151)(membership_choice_list . 458)(membership_choice . 459)(name . 184)(primary 
. 155)(qualified_expression . 53)(range . 460)(selected_component . 
54)(simple_expression . 461)(term . 163)(term_list . 164)(unary_adding_operator 
. 165))
+      ((aggregate . 150)(attribute_reference . 50)(factor . 
152)(membership_choice_list . 460)(membership_choice . 461)(name . 185)(primary 
. 156)(qualified_expression . 53)(range . 462)(selected_component . 
54)(simple_expression . 463)(term . 164)(term_list . 165)(unary_adding_operator 
. 166))
       nil
-      ((aggregate . 149)(attribute_reference . 50)(factor . 151)(name . 
152)(primary . 155)(qualified_expression . 53)(selected_component . 
54)(simple_expression . 456)(term . 163)(term_list . 164)(unary_adding_operator 
. 165))
-      ((aggregate . 219)(attribute_reference . 50)(attribute_designator . 
220)(name . 221)(qualified_expression . 53)(selected_component . 54))
-      ((aggregate . 149)(attribute_reference . 50)(choice_expression . 
173)(choice_relation_and_list . 174)(choice_relation_or_list . 
175)(choice_relation_xor_list . 176)(choice_relation_and_then_list . 
177)(choice_relation_or_else_list . 178)(choice_relation . 179)(discrete_choice 
. 453)(factor . 151)(name . 184)(primary . 155)(qualified_expression . 
53)(range . 185)(selected_component . 54)(simple_expression . 454)(term . 
163)(term_list . 164)(unary_adding_operator . 165))
-      ((aggregate . 149)(attribute_reference . 50)(expression . 452)(factor . 
151)(name . 152)(primary . 155)(qualified_expression . 53)(relation_and_list . 
156)(relation_and_then_list . 157)(relation_or_list . 
158)(relation_or_else_list . 159)(relation_xor_list . 160)(relation . 
161)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
-      ((aggregate . 149)(attribute_reference . 50)(choice_relation . 
450)(factor . 151)(name . 152)(primary . 155)(qualified_expression . 
53)(selected_component . 54)(simple_expression . 441)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
-      ((aggregate . 149)(attribute_reference . 50)(choice_relation . 
448)(factor . 151)(name . 152)(primary . 155)(qualified_expression . 
53)(selected_component . 54)(simple_expression . 441)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
-      ((aggregate . 149)(attribute_reference . 50)(choice_relation . 
446)(factor . 151)(name . 152)(primary . 155)(qualified_expression . 
53)(selected_component . 54)(simple_expression . 441)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
+      ((aggregate . 150)(attribute_reference . 50)(factor . 152)(name . 
153)(primary . 156)(qualified_expression . 53)(selected_component . 
54)(simple_expression . 458)(term . 164)(term_list . 165)(unary_adding_operator 
. 166))
+      ((aggregate . 221)(attribute_reference . 50)(attribute_designator . 
222)(name . 223)(qualified_expression . 53)(selected_component . 54))
+      ((aggregate . 150)(attribute_reference . 50)(choice_expression . 
174)(choice_relation_and_list . 175)(choice_relation_or_list . 
176)(choice_relation_xor_list . 177)(choice_relation_and_then_list . 
178)(choice_relation_or_else_list . 179)(choice_relation . 180)(discrete_choice 
. 455)(factor . 152)(name . 185)(primary . 156)(qualified_expression . 
53)(range . 186)(selected_component . 54)(simple_expression . 456)(term . 
164)(term_list . 165)(unary_adding_operator . 166))
+      ((aggregate . 150)(attribute_reference . 50)(expression . 454)(factor . 
152)(name . 153)(primary . 156)(qualified_expression . 53)(relation_and_list . 
157)(relation_and_then_list . 158)(relation_or_list . 
159)(relation_or_else_list . 160)(relation_xor_list . 161)(relation . 
162)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
+      ((aggregate . 150)(attribute_reference . 50)(choice_relation . 
452)(factor . 152)(name . 153)(primary . 156)(qualified_expression . 
53)(selected_component . 54)(simple_expression . 443)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
+      ((aggregate . 150)(attribute_reference . 50)(choice_relation . 
450)(factor . 152)(name . 153)(primary . 156)(qualified_expression . 
53)(selected_component . 54)(simple_expression . 443)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
+      ((aggregate . 150)(attribute_reference . 50)(choice_relation . 
448)(factor . 152)(name . 153)(primary . 156)(qualified_expression . 
53)(selected_component . 54)(simple_expression . 443)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
       nil
       nil
-      ((aggregate . 149)(attribute_reference . 50)(choice_relation . 
443)(factor . 151)(name . 152)(primary . 155)(qualified_expression . 
53)(selected_component . 54)(simple_expression . 441)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
-      ((aggregate . 149)(attribute_reference . 50)(choice_relation . 
442)(factor . 151)(name . 152)(primary . 155)(qualified_expression . 
53)(selected_component . 54)(simple_expression . 441)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
-      ((aggregate . 149)(attribute_reference . 50)(choice_relation . 
440)(factor . 151)(name . 152)(primary . 155)(qualified_expression . 
53)(selected_component . 54)(simple_expression . 441)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
-      ((attribute_reference . 50)(name . 439)(qualified_expression . 
53)(selected_component . 54))
+      ((aggregate . 150)(attribute_reference . 50)(choice_relation . 
445)(factor . 152)(name . 153)(primary . 156)(qualified_expression . 
53)(selected_component . 54)(simple_expression . 443)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
+      ((aggregate . 150)(attribute_reference . 50)(choice_relation . 
444)(factor . 152)(name . 153)(primary . 156)(qualified_expression . 
53)(selected_component . 54)(simple_expression . 443)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
+      ((aggregate . 150)(attribute_reference . 50)(choice_relation . 
442)(factor . 152)(name . 153)(primary . 156)(qualified_expression . 
53)(selected_component . 54)(simple_expression . 443)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
+      ((attribute_reference . 50)(name . 441)(qualified_expression . 
53)(selected_component . 54))
       nil
-      ((aggregate . 149)(attribute_reference . 50)(expression . 438)(factor . 
151)(name . 152)(primary . 155)(qualified_expression . 53)(relation_and_list . 
156)(relation_and_then_list . 157)(relation_or_list . 
158)(relation_or_else_list . 159)(relation_xor_list . 160)(relation . 
161)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
+      ((aggregate . 150)(attribute_reference . 50)(expression . 440)(factor . 
152)(name . 153)(primary . 156)(qualified_expression . 53)(relation_and_list . 
157)(relation_and_then_list . 158)(relation_or_list . 
159)(relation_or_else_list . 160)(relation_xor_list . 161)(relation . 
162)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
       nil
-      ((attribute_reference . 433)(direct_name . 434)(name . 
435)(qualified_expression . 53)(selected_component . 54))
+      ((attribute_reference . 435)(direct_name . 436)(name . 
437)(qualified_expression . 53)(selected_component . 54))
       ((attribute_reference . 50)(name . 67)(qualified_expression . 
53)(selected_component . 54))
       nil
       nil
@@ -3270,7 +3273,7 @@
       nil
       nil
       nil
-      ((abstract_subprogram_declaration . 292)(aspect_clause . 293)(at_clause 
. 294)(body . 295)(body_stub . 296)(declaration . 421)(entry_declaration . 
300)(enumeration_representation_clause . 301)(exception_declaration . 
302)(full_type_declaration . 303)(generic_declaration . 
304)(generic_formal_part . 17)(generic_instantiation . 
305)(generic_package_declaration . 19)(generic_renaming_declaration . 
306)(generic_subprogram_declaration . 21)(identifier_list . 
307)(incomplete_type_declara [...]
+      ((abstract_subprogram_declaration . 294)(aspect_clause . 295)(at_clause 
. 296)(body . 297)(body_stub . 298)(declaration . 423)(entry_declaration . 
302)(enumeration_representation_clause . 303)(exception_declaration . 
304)(full_type_declaration . 305)(generic_declaration . 
306)(generic_formal_part . 17)(generic_instantiation . 
307)(generic_package_declaration . 19)(generic_renaming_declaration . 
308)(generic_subprogram_declaration . 21)(identifier_list . 
309)(incomplete_type_declara [...]
       nil
       nil
       nil
@@ -3284,7 +3287,7 @@
       nil
       nil
       nil
-      ((procedure_specification . 416)(subprogram_specification . 417))
+      ((procedure_specification . 418)(subprogram_specification . 419))
       nil
       nil
       nil
@@ -3310,54 +3313,54 @@
       nil
       nil
       nil
-      ((abstract_subprogram_declaration . 292)(aspect_clause . 293)(at_clause 
. 294)(body . 295)(body_stub . 296)(declaration . 297)(declarations . 
298)(declarative_part_opt . 414)(entry_declaration . 
300)(enumeration_representation_clause . 301)(exception_declaration . 
302)(full_type_declaration . 303)(generic_declaration . 
304)(generic_formal_part . 17)(generic_instantiation . 
305)(generic_package_declaration . 19)(generic_renaming_declaration . 
306)(generic_subprogram_declaration . 21 [...]
-      ((binary_adding_operator . 343))
+      ((abstract_subprogram_declaration . 294)(aspect_clause . 295)(at_clause 
. 296)(body . 297)(body_stub . 298)(declaration . 299)(declarations . 
300)(declarative_part_opt . 416)(entry_declaration . 
302)(enumeration_representation_clause . 303)(exception_declaration . 
304)(full_type_declaration . 305)(generic_declaration . 
306)(generic_formal_part . 17)(generic_instantiation . 
307)(generic_package_declaration . 19)(generic_renaming_declaration . 
308)(generic_subprogram_declaration . 21 [...]
+      ((binary_adding_operator . 345))
       nil
       nil
       nil
-      ((aggregate . 149)(attribute_reference . 50)(factor . 151)(name . 
152)(primary . 155)(qualified_expression . 53)(selected_component . 54)(term . 
413))
+      ((aggregate . 150)(attribute_reference . 50)(factor . 152)(name . 
153)(primary . 156)(qualified_expression . 53)(selected_component . 54)(term . 
415))
       nil
       nil
       nil
       nil
-      ((aggregate . 149)(attribute_reference . 50)(factor . 412)(name . 
152)(primary . 155)(qualified_expression . 53)(selected_component . 54))
-      ((aggregate . 149)(attribute_reference . 50)(factor . 151)(name . 
152)(primary . 155)(qualified_expression . 53)(selected_component . 
54)(simple_expression . 411)(term . 163)(term_list . 164)(unary_adding_operator 
. 165))
-      ((aggregate . 149)(attribute_reference . 50)(factor . 151)(name . 
152)(primary . 155)(qualified_expression . 53)(relation . 
410)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
-      ((aggregate . 149)(attribute_reference . 50)(factor . 151)(name . 
152)(primary . 155)(qualified_expression . 53)(relation . 
408)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
-      ((aggregate . 149)(attribute_reference . 50)(factor . 151)(name . 
152)(primary . 155)(qualified_expression . 53)(relation . 
406)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
-      ((aggregate . 149)(attribute_reference . 50)(factor . 151)(name . 
152)(primary . 155)(qualified_expression . 53)(relation . 
405)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
+      ((aggregate . 150)(attribute_reference . 50)(factor . 414)(name . 
153)(primary . 156)(qualified_expression . 53)(selected_component . 54))
+      ((aggregate . 150)(attribute_reference . 50)(factor . 152)(name . 
153)(primary . 156)(qualified_expression . 53)(selected_component . 
54)(simple_expression . 413)(term . 164)(term_list . 165)(unary_adding_operator 
. 166))
+      ((aggregate . 150)(attribute_reference . 50)(factor . 152)(name . 
153)(primary . 156)(qualified_expression . 53)(relation . 
412)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
+      ((aggregate . 150)(attribute_reference . 50)(factor . 152)(name . 
153)(primary . 156)(qualified_expression . 53)(relation . 
410)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
+      ((aggregate . 150)(attribute_reference . 50)(factor . 152)(name . 
153)(primary . 156)(qualified_expression . 53)(relation . 
408)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
+      ((aggregate . 150)(attribute_reference . 50)(factor . 152)(name . 
153)(primary . 156)(qualified_expression . 53)(relation . 
407)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
       nil
-      ((aggregate . 149)(attribute_reference . 50)(factor . 151)(name . 
152)(primary . 155)(qualified_expression . 53)(relation . 
403)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
+      ((aggregate . 150)(attribute_reference . 50)(factor . 152)(name . 
153)(primary . 156)(qualified_expression . 53)(relation . 
405)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
       nil
-      ((aggregate . 149)(attribute_reference . 50)(factor . 151)(name . 
152)(primary . 155)(qualified_expression . 53)(relation . 
401)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
-      ((aggregate . 149)(attribute_reference . 50)(name . 152)(primary . 
400)(qualified_expression . 53)(selected_component . 54))
-      ((aggregate . 149)(attribute_reference . 50)(expression . 150)(factor . 
151)(name . 152)(pragma_argument_association . 399)(primary . 
155)(qualified_expression . 53)(relation_and_list . 156)(relation_and_then_list 
. 157)(relation_or_list . 158)(relation_or_else_list . 159)(relation_xor_list . 
160)(relation . 161)(selected_component . 54)(simple_expression . 162)(term . 
163)(term_list . 164)(unary_adding_operator . 165))
+      ((aggregate . 150)(attribute_reference . 50)(factor . 152)(name . 
153)(primary . 156)(qualified_expression . 53)(relation . 
403)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
+      ((aggregate . 150)(attribute_reference . 50)(name . 153)(primary . 
402)(qualified_expression . 53)(selected_component . 54))
+      ((aggregate . 150)(attribute_reference . 50)(expression . 151)(factor . 
152)(name . 153)(pragma_argument_association . 401)(primary . 
156)(qualified_expression . 53)(relation_and_list . 157)(relation_and_then_list 
. 158)(relation_or_list . 159)(relation_or_else_list . 160)(relation_xor_list . 
161)(relation . 162)(selected_component . 54)(simple_expression . 163)(term . 
164)(term_list . 165)(unary_adding_operator . 166))
       nil
       ((actual_parameter_part . 90))
-      ((aggregate . 149)(attribute_reference . 50)(expression . 397)(factor . 
151)(name . 152)(primary . 155)(qualified_expression . 53)(relation_and_list . 
156)(relation_and_then_list . 157)(relation_or_list . 
158)(relation_or_else_list . 159)(relation_xor_list . 160)(relation . 
161)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
-      ((quantifier . 396))
-      ((aggregate . 149)(attribute_reference . 50)(expression . 393)(factor . 
151)(name . 152)(primary . 155)(qualified_expression . 53)(relation_and_list . 
156)(relation_and_then_list . 157)(relation_or_list . 
158)(relation_or_else_list . 159)(relation_xor_list . 160)(relation . 
161)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
+      ((aggregate . 150)(attribute_reference . 50)(expression . 399)(factor . 
152)(name . 153)(primary . 156)(qualified_expression . 53)(relation_and_list . 
157)(relation_and_then_list . 158)(relation_or_list . 
159)(relation_or_else_list . 160)(relation_xor_list . 161)(relation . 
162)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
+      ((quantifier . 398))
+      ((aggregate . 150)(attribute_reference . 50)(expression . 395)(factor . 
152)(name . 153)(primary . 156)(qualified_expression . 53)(relation_and_list . 
157)(relation_and_then_list . 158)(relation_or_list . 
159)(relation_or_else_list . 160)(relation_xor_list . 161)(relation . 
162)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
       nil
       nil
       nil
       nil
-      ((aggregate . 149)(attribute_reference . 50)(expression . 389)(factor . 
151)(name . 152)(primary . 155)(qualified_expression . 53)(relation_and_list . 
156)(relation_and_then_list . 157)(relation_or_list . 
158)(relation_or_else_list . 159)(relation_xor_list . 160)(relation . 
161)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
+      ((aggregate . 150)(attribute_reference . 50)(expression . 391)(factor . 
152)(name . 153)(primary . 156)(qualified_expression . 53)(relation_and_list . 
157)(relation_and_then_list . 158)(relation_or_list . 
159)(relation_or_else_list . 160)(relation_xor_list . 161)(relation . 
162)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
       nil
       nil
       nil
       nil
-      ((procedure_specification . 31)(subprogram_specification . 385))
+      ((procedure_specification . 31)(subprogram_specification . 387))
       nil
       nil
       nil
       nil
-      ((attribute_reference . 50)(name . 382)(qualified_expression . 
53)(selected_component . 54))
-      ((attribute_reference . 50)(name . 381)(qualified_expression . 
53)(selected_component . 54))
-      ((actual_parameter_part . 90)(aspect_specification_opt . 650))
-      ((actual_parameter_part . 90)(aspect_specification_opt . 649))
-      ((accept_statement . 623)(assignment_statement . 
624)(asynchronous_select . 625)(attribute_reference . 50)(block_statement . 
626)(case_statement . 627)(conditional_entry_call . 628)(delay_statement . 
629)(exit_statement . 630)(extended_return_statement . 
631)(handled_sequence_of_statements . 632)(if_statement . 633)(iteration_scheme 
. 634)(label_opt . 635)(loop_statement . 636)(name . 637)(pragma . 
638)(procedure_call_statement . 639)(qualified_expression . 53)(raise_statement 
. 64 [...]
+      ((attribute_reference . 50)(name . 384)(qualified_expression . 
53)(selected_component . 54))
+      ((attribute_reference . 50)(name . 383)(qualified_expression . 
53)(selected_component . 54))
+      ((actual_parameter_part . 90)(aspect_specification_opt . 653))
+      ((actual_parameter_part . 90)(aspect_specification_opt . 652))
+      ((accept_statement . 626)(assignment_statement . 
627)(asynchronous_select . 628)(attribute_reference . 50)(block_statement . 
629)(case_statement . 630)(conditional_entry_call . 631)(delay_statement . 
632)(exit_statement . 633)(extended_return_statement . 
634)(handled_sequence_of_statements . 635)(if_statement . 636)(iteration_scheme 
. 637)(label_opt . 638)(loop_statement . 639)(name . 640)(pragma . 
641)(procedure_call_statement . 642)(qualified_expression . 53)(raise_statement 
. 64 [...]
       nil
-      ((aspect_specification_opt . 128))
+      ((aspect_specification_opt . 606))
       nil
       nil
       nil
@@ -3368,68 +3371,68 @@
       nil
       nil
       nil
-      ((iterator_specification . 599))
+      ((iterator_specification . 601))
       nil
       nil
       nil
       nil
       nil
-      ((aggregate . 149)(attribute_reference . 50)(factor . 151)(name . 
152)(primary . 155)(qualified_expression . 53)(relation . 
596)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
+      ((aggregate . 150)(attribute_reference . 50)(factor . 152)(name . 
153)(primary . 156)(qualified_expression . 53)(relation . 
598)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
       nil
-      ((aggregate . 149)(attribute_reference . 50)(factor . 151)(name . 
152)(primary . 155)(qualified_expression . 53)(relation . 
595)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
+      ((aggregate . 150)(attribute_reference . 50)(factor . 152)(name . 
153)(primary . 156)(qualified_expression . 53)(relation . 
597)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
       nil
       nil
-      ((aggregate . 149)(attribute_reference . 50)(factor . 151)(name . 
152)(primary . 155)(qualified_expression . 53)(relation . 
594)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
+      ((aggregate . 150)(attribute_reference . 50)(factor . 152)(name . 
153)(primary . 156)(qualified_expression . 53)(relation . 
596)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
       nil
-      ((aggregate . 149)(attribute_reference . 50)(factor . 151)(name . 
152)(primary . 155)(qualified_expression . 53)(relation . 
593)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
+      ((aggregate . 150)(attribute_reference . 50)(factor . 152)(name . 
153)(primary . 156)(qualified_expression . 53)(relation . 
595)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
       nil
       nil
       nil
-      ((multiplying_operator . 348))
+      ((multiplying_operator . 350))
       nil
       nil
       nil
-      ((aspect_specification_opt . 128))
-      ((aliased_opt . 587))
-      ((attribute_reference . 50)(name . 584)(qualified_expression . 
53)(selected_component . 54))
-      ((abstract_subprogram_declaration . 292)(aspect_clause . 293)(at_clause 
. 294)(body . 295)(body_stub . 296)(declaration . 297)(declarations . 
298)(declarative_part_opt . 583)(entry_declaration . 
300)(enumeration_representation_clause . 301)(exception_declaration . 
302)(full_type_declaration . 303)(generic_declaration . 
304)(generic_formal_part . 17)(generic_instantiation . 
305)(generic_package_declaration . 19)(generic_renaming_declaration . 
306)(generic_subprogram_declaration . 21 [...]
+      ((aspect_specification_opt . 127))
+      ((aliased_opt . 589))
+      ((attribute_reference . 50)(name . 586)(qualified_expression . 
53)(selected_component . 54))
+      ((abstract_subprogram_declaration . 294)(aspect_clause . 295)(at_clause 
. 296)(body . 297)(body_stub . 298)(declaration . 299)(declarations . 
300)(declarative_part_opt . 585)(entry_declaration . 
302)(enumeration_representation_clause . 303)(exception_declaration . 
304)(full_type_declaration . 305)(generic_declaration . 
306)(generic_formal_part . 17)(generic_instantiation . 
307)(generic_package_declaration . 19)(generic_renaming_declaration . 
308)(generic_subprogram_declaration . 21 [...]
       nil
-      ((discriminant_part_opt . 582))
-      ((aspect_specification_opt . 580))
+      ((discriminant_part_opt . 584))
+      ((aspect_specification_opt . 582))
       nil
       nil
       nil
-      ((aspect_specification_opt . 576))
+      ((aspect_specification_opt . 578))
       nil
       nil
-      ((attribute_reference . 50)(name . 573)(qualified_expression . 
53)(selected_component . 54))
+      ((attribute_reference . 50)(name . 575)(qualified_expression . 
53)(selected_component . 54))
       nil
       nil
       nil
       nil
       ((actual_parameter_part . 90))
-      ((access_definition . 568)(null_exclusion_opt . 569))
+      ((access_definition . 570)(null_exclusion_opt . 571))
       nil
       nil
       ((actual_parameter_part . 90))
       nil
-      ((relational_operator . 562))
+      ((relational_operator . 564))
       nil
       nil
-      ((aggregate . 149)(attribute_reference . 50)(choice_relation . 
566)(factor . 151)(name . 152)(primary . 155)(qualified_expression . 
53)(selected_component . 54)(simple_expression . 441)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
-      ((aggregate . 149)(attribute_reference . 50)(choice_relation . 
565)(factor . 151)(name . 152)(primary . 155)(qualified_expression . 
53)(selected_component . 54)(simple_expression . 441)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
+      ((aggregate . 150)(attribute_reference . 50)(choice_relation . 
568)(factor . 152)(name . 153)(primary . 156)(qualified_expression . 
53)(selected_component . 54)(simple_expression . 443)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
+      ((aggregate . 150)(attribute_reference . 50)(choice_relation . 
567)(factor . 152)(name . 153)(primary . 156)(qualified_expression . 
53)(selected_component . 54)(simple_expression . 443)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
       nil
-      ((aggregate . 149)(attribute_reference . 50)(choice_relation . 
564)(factor . 151)(name . 152)(primary . 155)(qualified_expression . 
53)(selected_component . 54)(simple_expression . 441)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
+      ((aggregate . 150)(attribute_reference . 50)(choice_relation . 
566)(factor . 152)(name . 153)(primary . 156)(qualified_expression . 
53)(selected_component . 54)(simple_expression . 443)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
       nil
-      ((aggregate . 149)(attribute_reference . 50)(choice_relation . 
563)(factor . 151)(name . 152)(primary . 155)(qualified_expression . 
53)(selected_component . 54)(simple_expression . 441)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
+      ((aggregate . 150)(attribute_reference . 50)(choice_relation . 
565)(factor . 152)(name . 153)(primary . 156)(qualified_expression . 
53)(selected_component . 54)(simple_expression . 443)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
       nil
       nil
       nil
       nil
-      ((relational_operator . 562))
+      ((relational_operator . 564))
       nil
       nil
-      ((aggregate . 149)(attribute_reference . 50)(factor . 
151)(membership_choice_list . 560)(membership_choice . 459)(name . 184)(primary 
. 155)(qualified_expression . 53)(range . 460)(selected_component . 
54)(simple_expression . 461)(term . 163)(term_list . 164)(unary_adding_operator 
. 165))
+      ((aggregate . 150)(attribute_reference . 50)(factor . 
152)(membership_choice_list . 562)(membership_choice . 461)(name . 185)(primary 
. 156)(qualified_expression . 53)(range . 462)(selected_component . 
54)(simple_expression . 463)(term . 164)(term_list . 165)(unary_adding_operator 
. 166))
       nil
       nil
       nil
@@ -3441,8 +3444,8 @@
       nil
       nil
       nil
-      ((access_definition . 551)(attribute_reference . 50)(name . 
552)(null_exclusion_opt . 209)(null_exclusion_opt_name . 
553)(qualified_expression . 53)(selected_component . 554))
-      ((discriminant_specification_opt . 548)(identifier_list . 251))
+      ((access_definition . 553)(attribute_reference . 50)(name . 
554)(null_exclusion_opt . 211)(null_exclusion_opt_name . 
555)(qualified_expression . 53)(selected_component . 556))
+      ((discriminant_specification_opt . 550)(identifier_list . 253))
       nil
       nil
       nil
@@ -3457,54 +3460,54 @@
       nil
       nil
       nil
-      ((aspect_specification_opt . 535))
+      ((aspect_specification_opt . 537))
       nil
       nil
       nil
       nil
       nil
-      ((aspect_specification_opt . 530))
+      ((aspect_specification_opt . 532))
       nil
       nil
       nil
       nil
-      ((aspect_specification_opt . 527))
-      ((attribute_reference . 50)(name . 526)(qualified_expression . 
53)(selected_component . 54))
-      ((actual_parameter_part . 90)(aspect_specification_opt . 525))
-      ((aggregate . 149)(attribute_reference . 50)(expression . 523)(factor . 
151)(name . 152)(primary . 155)(qualified_expression . 53)(relation_and_list . 
156)(relation_and_then_list . 157)(relation_or_list . 
158)(relation_or_else_list . 159)(relation_xor_list . 160)(relation . 
161)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
+      ((aspect_specification_opt . 529))
+      ((attribute_reference . 50)(name . 528)(qualified_expression . 
53)(selected_component . 54))
+      ((actual_parameter_part . 90)(aspect_specification_opt . 527))
+      ((aggregate . 150)(attribute_reference . 50)(expression . 525)(factor . 
152)(name . 153)(primary . 156)(qualified_expression . 53)(relation_and_list . 
157)(relation_and_then_list . 158)(relation_or_list . 
159)(relation_or_else_list . 160)(relation_xor_list . 161)(relation . 
162)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
+      nil
       nil
-      ((actual_parameter_part . 90))
       nil
       nil
       nil
-      ((attribute_reference . 50)(name . 521)(qualified_expression . 
53)(selected_component . 54))
+      ((attribute_reference . 50)(name . 523)(qualified_expression . 
53)(selected_component . 54))
       nil
       nil
       nil
-      ((mode_opt . 517))
+      ((mode_opt . 519))
       nil
-      ((aggregate . 149)(association_opt . 171)(association_list . 
516)(attribute_reference . 50)(choice_expression . 
173)(choice_relation_and_list . 174)(choice_relation_or_list . 
175)(choice_relation_xor_list . 176)(choice_relation_and_then_list . 
177)(choice_relation_or_else_list . 178)(choice_relation . 179)(discrete_choice 
. 180)(discrete_choice_list . 181)(expression . 182)(expression_opt . 
183)(factor . 151)(name . 184)(primary . 155)(qualified_expression . 53)(range 
. 185)(relati [...]
+      ((aggregate . 150)(association_opt . 172)(association_list . 
518)(attribute_reference . 50)(choice_expression . 
174)(choice_relation_and_list . 175)(choice_relation_or_list . 
176)(choice_relation_xor_list . 177)(choice_relation_and_then_list . 
178)(choice_relation_or_else_list . 179)(choice_relation . 180)(discrete_choice 
. 181)(discrete_choice_list . 182)(expression . 183)(expression_opt . 
184)(factor . 152)(name . 185)(primary . 156)(qualified_expression . 53)(range 
. 186)(relati [...]
       nil
       nil
       nil
       nil
       nil
-      ((null_exclusion_opt . 778))
-      ((aggregate . 149)(attribute_reference . 50)(expression . 777)(factor . 
151)(name . 152)(primary . 155)(qualified_expression . 53)(relation_and_list . 
156)(relation_and_then_list . 157)(relation_or_list . 
158)(relation_or_else_list . 159)(relation_xor_list . 160)(relation . 
161)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
-      ((formal_part . 91)(parameter_and_result_profile . 776))
-      ((formal_part . 115)(parameter_profile_opt . 775))
+      ((null_exclusion_opt . 780))
+      ((aggregate . 150)(attribute_reference . 50)(expression . 779)(factor . 
152)(name . 153)(primary . 156)(qualified_expression . 53)(relation_and_list . 
157)(relation_and_then_list . 158)(relation_or_list . 
159)(relation_or_else_list . 160)(relation_xor_list . 161)(relation . 
162)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
+      ((formal_part . 91)(parameter_and_result_profile . 778))
+      ((formal_part . 115)(parameter_profile_opt . 777))
       ((actual_parameter_part . 90))
       nil
-      ((aspect_specification_opt . 773))
-      ((aggregate . 149)(attribute_reference . 50)(expression . 772)(factor . 
151)(name . 152)(primary . 155)(qualified_expression . 53)(relation_and_list . 
156)(relation_and_then_list . 157)(relation_or_list . 
158)(relation_or_else_list . 159)(relation_xor_list . 160)(relation . 
161)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
+      ((aspect_specification_opt . 775))
+      ((aggregate . 150)(attribute_reference . 50)(expression . 774)(factor . 
152)(name . 153)(primary . 156)(qualified_expression . 53)(relation_and_list . 
157)(relation_and_then_list . 158)(relation_or_list . 
159)(relation_or_else_list . 160)(relation_xor_list . 161)(relation . 
162)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
       nil
-      ((actual_parameter_part . 90)(formal_package_actual_part . 770))
+      ((actual_parameter_part . 90)(formal_package_actual_part . 772))
       nil
       nil
       nil
       nil
       nil
-      ((attribute_reference . 50)(name . 766)(qualified_expression . 
53)(selected_component . 54))
+      ((attribute_reference . 50)(name . 768)(qualified_expression . 
53)(selected_component . 54))
       nil
       nil
       nil
@@ -3516,7 +3519,7 @@
       nil
       nil
       nil
-      ((aggregate . 149)(attribute_reference . 50)(discrete_subtype_definition 
. 751)(discrete_subtype_definition_list . 752)(factor . 
151)(index_subtype_definition . 753)(index_subtype_definition_list . 754)(name 
. 755)(primary . 155)(qualified_expression . 53)(range . 
756)(selected_component . 54)(simple_expression . 757)(subtype_indication . 
758)(term . 163)(term_list . 164)(unary_adding_operator . 165))
+      ((aggregate . 150)(attribute_reference . 50)(discrete_subtype_definition 
. 753)(discrete_subtype_definition_list . 754)(factor . 
152)(index_subtype_definition . 755)(index_subtype_definition_list . 756)(name 
. 757)(primary . 156)(qualified_expression . 53)(range . 
758)(selected_component . 54)(simple_expression . 759)(subtype_indication . 
760)(term . 164)(term_list . 165)(unary_adding_operator . 166))
       nil
       nil
       nil
@@ -3531,27 +3534,27 @@
       nil
       nil
       nil
-      ((aggregate . 149)(attribute_reference . 50)(factor . 
151)(membership_choice . 745)(name . 184)(primary . 155)(qualified_expression . 
53)(range . 460)(selected_component . 54)(simple_expression . 461)(term . 
163)(term_list . 164)(unary_adding_operator . 165))
+      ((aggregate . 150)(attribute_reference . 50)(factor . 
152)(membership_choice . 747)(name . 185)(primary . 156)(qualified_expression . 
53)(range . 462)(selected_component . 54)(simple_expression . 463)(term . 
164)(term_list . 165)(unary_adding_operator . 166))
       nil
-      ((aggregate . 149)(attribute_reference . 50)(expression . 744)(factor . 
151)(name . 152)(primary . 155)(qualified_expression . 53)(relation_and_list . 
156)(relation_and_then_list . 157)(relation_or_list . 
158)(relation_or_else_list . 159)(relation_xor_list . 160)(relation . 
161)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
-      ((aggregate . 149)(attribute_reference . 50)(factor . 151)(name . 
152)(primary . 155)(qualified_expression . 53)(selected_component . 
54)(simple_expression . 743)(term . 163)(term_list . 164)(unary_adding_operator 
. 165))
+      ((aggregate . 150)(attribute_reference . 50)(expression . 746)(factor . 
152)(name . 153)(primary . 156)(qualified_expression . 53)(relation_and_list . 
157)(relation_and_then_list . 158)(relation_or_list . 
159)(relation_or_else_list . 160)(relation_xor_list . 161)(relation . 
162)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
+      ((aggregate . 150)(attribute_reference . 50)(factor . 152)(name . 
153)(primary . 156)(qualified_expression . 53)(selected_component . 
54)(simple_expression . 745)(term . 164)(term_list . 165)(unary_adding_operator 
. 166))
       nil
       nil
       nil
       nil
       nil
       nil
-      ((attribute_reference . 50)(name . 740)(qualified_expression . 
53)(selected_component . 54))
-      ((aggregate . 738)(record_rep . 739))
+      ((attribute_reference . 50)(name . 742)(qualified_expression . 
53)(selected_component . 54))
+      ((aggregate . 740)(record_rep . 741))
       nil
-      ((aggregate . 149)(attribute_reference . 50)(expression . 735)(factor . 
151)(name . 152)(primary . 155)(qualified_expression . 53)(relation_and_list . 
156)(relation_and_then_list . 157)(relation_or_list . 
158)(relation_or_else_list . 159)(relation_xor_list . 160)(relation . 
161)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
-      ((actual_parameter_part . 90)(aspect_specification_opt . 166))
-      ((discriminant_part_opt . 733))
-      ((aspect_specification_opt . 700))
+      ((aggregate . 150)(attribute_reference . 50)(expression . 737)(factor . 
152)(name . 153)(primary . 156)(qualified_expression . 53)(relation_and_list . 
157)(relation_and_then_list . 158)(relation_or_list . 
159)(relation_or_else_list . 160)(relation_xor_list . 161)(relation . 
162)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
+      ((actual_parameter_part . 90)(aspect_specification_opt . 167))
+      ((discriminant_part_opt . 735))
+      ((aspect_specification_opt . 703))
       nil
-      ((attribute_reference . 50)(name . 729)(qualified_expression . 
53)(selected_component . 54)(subtype_indication . 730))
-      ((discriminant_part_opt . 727))
-      ((aspect_specification_opt . 699))
+      ((attribute_reference . 50)(name . 731)(qualified_expression . 
53)(selected_component . 54)(subtype_indication . 732))
+      ((discriminant_part_opt . 729))
+      ((aspect_specification_opt . 702))
       nil
       nil
       nil
@@ -3559,43 +3562,43 @@
       ((actual_parameter_part . 90))
       nil
       nil
-      ((constant_opt . 719))
+      ((constant_opt . 721))
       nil
       nil
-      ((formal_part . 115)(parameter_profile_opt . 714))
-      ((accept_statement . 623)(assignment_statement . 
624)(asynchronous_select . 625)(attribute_reference . 50)(block_statement . 
626)(case_statement . 627)(conditional_entry_call . 628)(delay_statement . 
629)(exit_statement . 630)(extended_return_statement . 
631)(handled_sequence_of_statements . 712)(if_statement . 633)(iteration_scheme 
. 634)(label_opt . 635)(loop_statement . 636)(name . 637)(pragma . 
638)(procedure_call_statement . 639)(qualified_expression . 53)(raise_statement 
. 64 [...]
-      ((attribute_reference . 50)(name . 710)(name_opt . 
711)(qualified_expression . 53)(selected_component . 54))
+      ((formal_part . 115)(parameter_profile_opt . 716))
+      ((accept_statement . 626)(assignment_statement . 
627)(asynchronous_select . 628)(attribute_reference . 50)(block_statement . 
629)(case_statement . 630)(conditional_entry_call . 631)(delay_statement . 
632)(exit_statement . 633)(extended_return_statement . 
634)(handled_sequence_of_statements . 714)(if_statement . 636)(iteration_scheme 
. 637)(label_opt . 638)(loop_statement . 639)(name . 640)(pragma . 
641)(procedure_call_statement . 642)(qualified_expression . 53)(raise_statement 
. 64 [...]
+      ((attribute_reference . 50)(name . 209)(name_opt . 
713)(qualified_expression . 53)(selected_component . 54))
       nil
       nil
       nil
       nil
-      ((case_expression_alternative . 708)(case_expression_alternative_list . 
709))
+      ((case_expression_alternative . 711)(case_expression_alternative_list . 
712))
       nil
       nil
-      ((aggregate . 149)(attribute_reference . 50)(expression . 702)(factor . 
151)(name . 152)(primary . 155)(qualified_expression . 53)(relation_and_list . 
156)(relation_and_then_list . 157)(relation_or_list . 
158)(relation_or_else_list . 159)(relation_xor_list . 160)(relation . 
161)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
-      ((aggregate . 149)(attribute_reference . 50)(expression . 701)(factor . 
151)(name . 152)(primary . 155)(qualified_expression . 53)(relation_and_list . 
156)(relation_and_then_list . 157)(relation_or_list . 
158)(relation_or_else_list . 159)(relation_xor_list . 160)(relation . 
161)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
-      ((aspect_specification_opt . 700))
-      ((aspect_specification_opt . 699))
+      ((aggregate . 150)(attribute_reference . 50)(expression . 705)(factor . 
152)(name . 153)(primary . 156)(qualified_expression . 53)(relation_and_list . 
157)(relation_and_then_list . 158)(relation_or_list . 
159)(relation_or_else_list . 160)(relation_xor_list . 161)(relation . 
162)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
+      ((aggregate . 150)(attribute_reference . 50)(expression . 704)(factor . 
152)(name . 153)(primary . 156)(qualified_expression . 53)(relation_and_list . 
157)(relation_and_then_list . 158)(relation_or_list . 
159)(relation_or_else_list . 160)(relation_xor_list . 161)(relation . 
162)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
+      ((aspect_specification_opt . 703))
+      ((aspect_specification_opt . 702))
       nil
       nil
       nil
-      ((attribute_reference . 50)(name . 695)(qualified_expression . 
53)(selected_component . 54))
-      ((accept_statement . 623)(assignment_statement . 
624)(asynchronous_select . 625)(attribute_reference . 50)(block_statement . 
626)(case_statement . 627)(conditional_entry_call . 628)(delay_statement . 
629)(exit_statement . 630)(extended_return_statement . 
631)(handled_sequence_of_statements . 694)(if_statement . 633)(iteration_scheme 
. 634)(label_opt . 635)(loop_statement . 636)(name . 637)(pragma . 
638)(procedure_call_statement . 639)(qualified_expression . 53)(raise_statement 
. 64 [...]
-      ((aggregate . 149)(attribute_reference . 50)(expression . 693)(factor . 
151)(name . 152)(primary . 155)(qualified_expression . 53)(relation_and_list . 
156)(relation_and_then_list . 157)(relation_or_list . 
158)(relation_or_else_list . 159)(relation_xor_list . 160)(relation . 
161)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
-      ((abstract_subprogram_declaration . 292)(aspect_clause . 293)(at_clause 
. 294)(body . 295)(body_stub . 296)(declaration . 297)(declarations . 
298)(declarative_part_opt . 692)(entry_declaration . 
300)(enumeration_representation_clause . 301)(exception_declaration . 
302)(full_type_declaration . 303)(generic_declaration . 
304)(generic_formal_part . 17)(generic_instantiation . 
305)(generic_package_declaration . 19)(generic_renaming_declaration . 
306)(generic_subprogram_declaration . 21 [...]
-      ((aggregate . 149)(attribute_reference . 50)(expression . 691)(factor . 
151)(name . 152)(primary . 155)(qualified_expression . 53)(relation_and_list . 
156)(relation_and_then_list . 157)(relation_or_list . 
158)(relation_or_else_list . 159)(relation_xor_list . 160)(relation . 
161)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
-      ((identifier_opt . 689))
-      ((iterator_specification . 686)(iterator_specification_opt . 687))
       nil
-      ((aggregate . 149)(attribute_reference . 50)(expression . 
182)(expression_opt . 684)(factor . 151)(name . 152)(primary . 
155)(qualified_expression . 53)(relation_and_list . 156)(relation_and_then_list 
. 157)(relation_or_list . 158)(relation_or_else_list . 159)(relation_xor_list . 
160)(relation . 161)(selected_component . 54)(simple_expression . 162)(term . 
163)(term_list . 164)(unary_adding_operator . 165))
-      ((accept_statement . 623)(assignment_statement . 
624)(asynchronous_select . 625)(attribute_reference . 50)(block_statement . 
626)(case_statement . 627)(conditional_entry_call . 628)(delay_statement . 
629)(exit_statement . 630)(extended_return_statement . 631)(if_statement . 
633)(iteration_scheme . 634)(label_opt . 635)(loop_statement . 636)(name . 
637)(pragma . 638)(procedure_call_statement . 639)(qualified_expression . 
53)(raise_statement . 640)(requeue_statement . 641)(selected_c [...]
+      ((attribute_reference . 50)(name . 698)(qualified_expression . 
53)(selected_component . 54))
+      ((accept_statement . 626)(assignment_statement . 
627)(asynchronous_select . 628)(attribute_reference . 50)(block_statement . 
629)(case_statement . 630)(conditional_entry_call . 631)(delay_statement . 
632)(exit_statement . 633)(extended_return_statement . 
634)(handled_sequence_of_statements . 697)(if_statement . 636)(iteration_scheme 
. 637)(label_opt . 638)(loop_statement . 639)(name . 640)(pragma . 
641)(procedure_call_statement . 642)(qualified_expression . 53)(raise_statement 
. 64 [...]
+      ((aggregate . 150)(attribute_reference . 50)(expression . 696)(factor . 
152)(name . 153)(primary . 156)(qualified_expression . 53)(relation_and_list . 
157)(relation_and_then_list . 158)(relation_or_list . 
159)(relation_or_else_list . 160)(relation_xor_list . 161)(relation . 
162)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
+      ((abstract_subprogram_declaration . 294)(aspect_clause . 295)(at_clause 
. 296)(body . 297)(body_stub . 298)(declaration . 299)(declarations . 
300)(declarative_part_opt . 695)(entry_declaration . 
302)(enumeration_representation_clause . 303)(exception_declaration . 
304)(full_type_declaration . 305)(generic_declaration . 
306)(generic_formal_part . 17)(generic_instantiation . 
307)(generic_package_declaration . 19)(generic_renaming_declaration . 
308)(generic_subprogram_declaration . 21 [...]
+      ((aggregate . 150)(attribute_reference . 50)(expression . 694)(factor . 
152)(name . 153)(primary . 156)(qualified_expression . 53)(relation_and_list . 
157)(relation_and_then_list . 158)(relation_or_list . 
159)(relation_or_else_list . 160)(relation_xor_list . 161)(relation . 
162)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
+      ((identifier_opt . 692))
+      ((iterator_specification . 689)(iterator_specification_opt . 690))
       nil
-      ((attribute_reference . 50)(name . 681)(qualified_expression . 
53)(selected_component . 54))
-      ((attribute_reference . 50)(name . 679)(qualified_expression . 
53)(selected_component . 54))
-      ((aggregate . 149)(attribute_reference . 50)(expression . 
676)(extended_return_object_declaration . 
677)(extended_return_object_declaration_opt . 678)(factor . 151)(name . 
152)(primary . 155)(qualified_expression . 53)(relation_and_list . 
156)(relation_and_then_list . 157)(relation_or_list . 
158)(relation_or_else_list . 159)(relation_xor_list . 160)(relation . 
161)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
-      ((accept_statement . 664)(attribute_reference . 50)(delay_alternative . 
665)(delay_statement . 666)(entry_call_alternative . 667)(name . 
668)(procedure_call_statement . 669)(qualified_expression . 
53)(selected_component . 54)(select_alternative . 670)(select_alternative_list 
. 671)(select_alternative_list_opt . 672)(triggering_alternative . 673))
-      ((aggregate . 149)(attribute_reference . 50)(expression . 
182)(expression_opt . 661)(factor . 151)(name . 152)(primary . 
155)(qualified_expression . 53)(relation_and_list . 156)(relation_and_then_list 
. 157)(relation_or_list . 158)(relation_or_else_list . 159)(relation_xor_list . 
160)(relation . 161)(selected_component . 54)(simple_expression . 162)(term . 
163)(term_list . 164)(unary_adding_operator . 165))
+      ((aggregate . 150)(attribute_reference . 50)(expression . 
183)(expression_opt . 687)(factor . 152)(name . 153)(primary . 
156)(qualified_expression . 53)(relation_and_list . 157)(relation_and_then_list 
. 158)(relation_or_list . 159)(relation_or_else_list . 160)(relation_xor_list . 
161)(relation . 162)(selected_component . 54)(simple_expression . 163)(term . 
164)(term_list . 165)(unary_adding_operator . 166))
+      ((accept_statement . 626)(assignment_statement . 
627)(asynchronous_select . 628)(attribute_reference . 50)(block_statement . 
629)(case_statement . 630)(conditional_entry_call . 631)(delay_statement . 
632)(exit_statement . 633)(extended_return_statement . 634)(if_statement . 
636)(iteration_scheme . 637)(label_opt . 638)(loop_statement . 639)(name . 
640)(pragma . 641)(procedure_call_statement . 642)(qualified_expression . 
53)(raise_statement . 643)(requeue_statement . 644)(selected_c [...]
       nil
+      ((attribute_reference . 50)(name . 684)(qualified_expression . 
53)(selected_component . 54))
+      ((attribute_reference . 50)(name . 682)(qualified_expression . 
53)(selected_component . 54))
+      ((aggregate . 150)(attribute_reference . 50)(expression . 
679)(extended_return_object_declaration . 
680)(extended_return_object_declaration_opt . 681)(factor . 152)(name . 
153)(primary . 156)(qualified_expression . 53)(relation_and_list . 
157)(relation_and_then_list . 158)(relation_or_list . 
159)(relation_or_else_list . 160)(relation_xor_list . 161)(relation . 
162)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
+      ((accept_statement . 667)(attribute_reference . 50)(delay_alternative . 
668)(delay_statement . 669)(entry_call_alternative . 670)(name . 
671)(procedure_call_statement . 672)(qualified_expression . 
53)(selected_component . 54)(select_alternative . 673)(select_alternative_list 
. 674)(select_alternative_list_opt . 675)(triggering_alternative . 676))
+      ((aggregate . 150)(attribute_reference . 50)(expression . 
183)(expression_opt . 664)(factor . 152)(name . 153)(primary . 
156)(qualified_expression . 53)(relation_and_list . 157)(relation_and_then_list 
. 158)(relation_or_list . 159)(relation_or_else_list . 160)(relation_xor_list . 
161)(relation . 162)(selected_component . 54)(simple_expression . 163)(term . 
164)(term_list . 165)(unary_adding_operator . 166))
       nil
       nil
       nil
@@ -3607,7 +3610,8 @@
       nil
       nil
       nil
-      ((accept_statement . 623)(assignment_statement . 
624)(asynchronous_select . 625)(attribute_reference . 50)(block_statement . 
626)(case_statement . 627)(compound_statement . 657)(conditional_entry_call . 
628)(delay_statement . 629)(exit_statement . 630)(extended_return_statement . 
631)(if_statement . 633)(iteration_scheme . 634)(loop_statement . 636)(name . 
637)(pragma . 638)(procedure_call_statement . 639)(qualified_expression . 
53)(raise_statement . 640)(requeue_statement . 641)(s [...]
+      nil
+      ((accept_statement . 626)(assignment_statement . 
627)(asynchronous_select . 628)(attribute_reference . 50)(block_statement . 
629)(case_statement . 630)(compound_statement . 660)(conditional_entry_call . 
631)(delay_statement . 632)(exit_statement . 633)(extended_return_statement . 
634)(if_statement . 636)(iteration_scheme . 637)(loop_statement . 639)(name . 
640)(pragma . 641)(procedure_call_statement . 642)(qualified_expression . 
53)(raise_statement . 643)(requeue_statement . 644)(s [...]
       nil
       ((actual_parameter_part . 90))
       nil
@@ -3616,7 +3620,7 @@
       nil
       nil
       nil
-      ((accept_statement . 623)(assignment_statement . 
624)(asynchronous_select . 625)(attribute_reference . 50)(block_statement . 
626)(case_statement . 627)(conditional_entry_call . 628)(delay_statement . 
629)(exit_statement . 630)(extended_return_statement . 631)(if_statement . 
633)(iteration_scheme . 634)(label_opt . 635)(loop_statement . 636)(name . 
637)(pragma . 638)(procedure_call_statement . 639)(qualified_expression . 
53)(raise_statement . 640)(requeue_statement . 641)(selected_c [...]
+      ((accept_statement . 626)(assignment_statement . 
627)(asynchronous_select . 628)(attribute_reference . 50)(block_statement . 
629)(case_statement . 630)(conditional_entry_call . 631)(delay_statement . 
632)(exit_statement . 633)(extended_return_statement . 634)(if_statement . 
636)(iteration_scheme . 637)(label_opt . 638)(loop_statement . 639)(name . 
640)(pragma . 641)(procedure_call_statement . 642)(qualified_expression . 
53)(raise_statement . 643)(requeue_statement . 644)(selected_c [...]
       nil
       nil
       nil
@@ -3625,23 +3629,23 @@
       nil
       nil
       nil
-      ((exception_handler . 919)(exception_handler_list . 
920)(exception_handler_list_opt . 921))
+      ((exception_handler . 921)(exception_handler_list . 
922)(exception_handler_list_opt . 923))
       nil
-      ((aggregate . 149)(attribute_reference . 50)(expression . 917)(factor . 
151)(name . 152)(primary . 155)(qualified_expression . 53)(relation_and_list . 
156)(relation_and_then_list . 157)(relation_or_list . 
158)(relation_or_else_list . 159)(relation_xor_list . 160)(relation . 
161)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
+      ((aggregate . 150)(attribute_reference . 50)(expression . 919)(factor . 
152)(name . 153)(primary . 156)(qualified_expression . 53)(relation_and_list . 
157)(relation_and_then_list . 158)(relation_or_list . 
159)(relation_or_else_list . 160)(relation_xor_list . 161)(relation . 
162)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
       nil
       nil
       nil
-      ((accept_statement . 623)(assignment_statement . 
624)(asynchronous_select . 625)(attribute_reference . 50)(block_statement . 
626)(case_statement . 627)(conditional_entry_call . 628)(delay_statement . 
629)(exit_statement . 630)(extended_return_statement . 631)(if_statement . 
633)(iteration_scheme . 634)(label_opt . 635)(loop_statement . 636)(name . 
637)(pragma . 638)(procedure_call_statement . 639)(qualified_expression . 
53)(raise_statement . 640)(requeue_statement . 641)(selected_c [...]
-      ((attribute_reference . 50)(name . 710)(name_opt . 
915)(qualified_expression . 53)(selected_component . 54))
+      ((accept_statement . 626)(assignment_statement . 
627)(asynchronous_select . 628)(attribute_reference . 50)(block_statement . 
629)(case_statement . 630)(conditional_entry_call . 631)(delay_statement . 
632)(exit_statement . 633)(extended_return_statement . 634)(if_statement . 
636)(iteration_scheme . 637)(label_opt . 638)(loop_statement . 639)(name . 
640)(pragma . 641)(procedure_call_statement . 642)(qualified_expression . 
53)(raise_statement . 643)(requeue_statement . 644)(selected_c [...]
+      ((attribute_reference . 50)(name . 209)(name_opt . 
917)(qualified_expression . 53)(selected_component . 54))
       nil
       nil
-      ((aggregate . 149)(attribute_reference . 50)(expression . 913)(factor . 
151)(name . 152)(primary . 155)(qualified_expression . 53)(relation_and_list . 
156)(relation_and_then_list . 157)(relation_or_list . 
158)(relation_or_else_list . 159)(relation_xor_list . 160)(relation . 
161)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
-      ((accept_statement . 623)(assignment_statement . 
624)(asynchronous_select . 625)(attribute_reference . 50)(block_statement . 
626)(case_statement . 627)(conditional_entry_call . 628)(delay_statement . 
629)(exit_statement . 630)(extended_return_statement . 631)(if_statement . 
633)(iteration_scheme . 634)(label_opt . 635)(loop_statement . 636)(name . 
637)(pragma . 638)(procedure_call_statement . 639)(qualified_expression . 
53)(raise_statement . 640)(requeue_statement . 641)(selected_c [...]
+      ((aggregate . 150)(attribute_reference . 50)(expression . 915)(factor . 
152)(name . 153)(primary . 156)(qualified_expression . 53)(relation_and_list . 
157)(relation_and_then_list . 158)(relation_or_list . 
159)(relation_or_else_list . 160)(relation_xor_list . 161)(relation . 
162)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
+      ((accept_statement . 626)(assignment_statement . 
627)(asynchronous_select . 628)(attribute_reference . 50)(block_statement . 
629)(case_statement . 630)(conditional_entry_call . 631)(delay_statement . 
632)(exit_statement . 633)(extended_return_statement . 634)(if_statement . 
636)(iteration_scheme . 637)(label_opt . 638)(loop_statement . 639)(name . 
640)(pragma . 641)(procedure_call_statement . 642)(qualified_expression . 
53)(raise_statement . 643)(requeue_statement . 644)(selected_c [...]
       nil
-      ((accept_statement . 623)(assignment_statement . 
624)(asynchronous_select . 625)(attribute_reference . 50)(block_statement . 
626)(case_statement . 627)(conditional_entry_call . 628)(delay_statement . 
629)(exit_statement . 630)(extended_return_statement . 631)(if_statement . 
633)(iteration_scheme . 634)(label_opt . 635)(loop_statement . 636)(name . 
637)(pragma . 638)(procedure_call_statement . 639)(qualified_expression . 
53)(raise_statement . 640)(requeue_statement . 641)(selected_c [...]
+      ((accept_statement . 626)(assignment_statement . 
627)(asynchronous_select . 628)(attribute_reference . 50)(block_statement . 
629)(case_statement . 630)(conditional_entry_call . 631)(delay_statement . 
632)(exit_statement . 633)(extended_return_statement . 634)(if_statement . 
636)(iteration_scheme . 637)(label_opt . 638)(loop_statement . 639)(name . 
640)(pragma . 641)(procedure_call_statement . 642)(qualified_expression . 
53)(raise_statement . 643)(requeue_statement . 644)(selected_c [...]
       nil
-      ((accept_statement . 623)(actual_parameter_part . 
90)(assignment_statement . 624)(asynchronous_select . 625)(attribute_reference 
. 50)(block_statement . 626)(case_statement . 627)(conditional_entry_call . 
628)(delay_statement . 629)(exit_statement . 630)(extended_return_statement . 
631)(if_statement . 633)(iteration_scheme . 634)(label_opt . 
635)(loop_statement . 636)(name . 637)(pragma . 638)(procedure_call_statement . 
639)(qualified_expression . 53)(raise_statement . 640)(requeue [...]
-      ((accept_statement . 623)(assignment_statement . 
624)(asynchronous_select . 625)(attribute_reference . 50)(block_statement . 
626)(case_statement . 627)(conditional_entry_call . 628)(delay_statement . 
629)(exit_statement . 630)(extended_return_statement . 631)(if_statement . 
633)(iteration_scheme . 634)(label_opt . 635)(loop_statement . 636)(name . 
637)(pragma . 638)(procedure_call_statement . 639)(qualified_expression . 
53)(raise_statement . 640)(requeue_statement . 641)(selected_c [...]
+      ((accept_statement . 626)(actual_parameter_part . 
90)(assignment_statement . 627)(asynchronous_select . 628)(attribute_reference 
. 50)(block_statement . 629)(case_statement . 630)(conditional_entry_call . 
631)(delay_statement . 632)(exit_statement . 633)(extended_return_statement . 
634)(if_statement . 636)(iteration_scheme . 637)(label_opt . 
638)(loop_statement . 639)(name . 640)(pragma . 641)(procedure_call_statement . 
642)(qualified_expression . 53)(raise_statement . 643)(requeue [...]
+      ((accept_statement . 626)(assignment_statement . 
627)(asynchronous_select . 628)(attribute_reference . 50)(block_statement . 
629)(case_statement . 630)(conditional_entry_call . 631)(delay_statement . 
632)(exit_statement . 633)(extended_return_statement . 634)(if_statement . 
636)(iteration_scheme . 637)(label_opt . 638)(loop_statement . 639)(name . 
640)(pragma . 641)(procedure_call_statement . 642)(qualified_expression . 
53)(raise_statement . 643)(requeue_statement . 644)(selected_c [...]
       nil
       nil
       nil
@@ -3662,95 +3666,94 @@
       nil
       nil
       nil
-      ((aggregate . 149)(attribute_reference . 50)(expression . 889)(factor . 
151)(name . 152)(primary . 155)(qualified_expression . 53)(relation_and_list . 
156)(relation_and_then_list . 157)(relation_or_list . 
158)(relation_or_else_list . 159)(relation_xor_list . 160)(relation . 
161)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
+      ((aggregate . 150)(attribute_reference . 50)(expression . 891)(factor . 
152)(name . 153)(primary . 156)(qualified_expression . 53)(relation_and_list . 
157)(relation_and_then_list . 158)(relation_or_list . 
159)(relation_or_else_list . 160)(relation_xor_list . 161)(relation . 
162)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
       nil
       nil
       nil
       nil
       ((actual_parameter_part . 90))
-      ((actual_parameter_part . 882)(actual_parameter_part_opt . 883))
+      ((actual_parameter_part . 884)(actual_parameter_part_opt . 885))
       nil
       nil
       nil
       nil
       nil
-      ((elsif_expression_item . 876)(elsif_expression_list . 877))
-      ((aggregate . 149)(attribute_reference . 50)(expression . 873)(factor . 
151)(name . 152)(primary . 155)(qualified_expression . 53)(relation_and_list . 
156)(relation_and_then_list . 157)(relation_or_list . 
158)(relation_or_else_list . 159)(relation_xor_list . 160)(relation . 
161)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
-      ((attribute_reference . 50)(name . 729)(qualified_expression . 
53)(selected_component . 54)(subtype_indication . 872))
-      ((aggregate . 149)(attribute_reference . 50)(discrete_subtype_definition 
. 871)(factor . 151)(name . 863)(primary . 155)(qualified_expression . 
53)(range . 756)(selected_component . 54)(simple_expression . 
757)(subtype_indication . 758)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
-      ((attribute_reference . 50)(name . 869)(qualified_expression . 
53)(selected_component . 54))
-      ((aggregate . 149)(attribute_reference . 50)(choice_expression . 
173)(choice_relation_and_list . 174)(choice_relation_or_list . 
175)(choice_relation_xor_list . 176)(choice_relation_and_then_list . 
177)(choice_relation_or_else_list . 178)(choice_relation . 179)(discrete_choice 
. 180)(discrete_choice_list . 867)(factor . 151)(name . 184)(primary . 
155)(qualified_expression . 53)(range . 185)(selected_component . 
54)(simple_expression . 454)(term . 163)(term_list . 164)(unary_adding_o [...]
+      ((elsif_expression_item . 878)(elsif_expression_list . 879))
+      ((aggregate . 150)(attribute_reference . 50)(expression . 875)(factor . 
152)(name . 153)(primary . 156)(qualified_expression . 53)(relation_and_list . 
157)(relation_and_then_list . 158)(relation_or_list . 
159)(relation_or_else_list . 160)(relation_xor_list . 161)(relation . 
162)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
+      ((attribute_reference . 50)(name . 731)(qualified_expression . 
53)(selected_component . 54)(subtype_indication . 874))
+      ((aggregate . 150)(attribute_reference . 50)(discrete_subtype_definition 
. 873)(factor . 152)(name . 865)(primary . 156)(qualified_expression . 
53)(range . 758)(selected_component . 54)(simple_expression . 
759)(subtype_indication . 760)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
+      ((attribute_reference . 50)(name . 871)(qualified_expression . 
53)(selected_component . 54))
+      ((aggregate . 150)(attribute_reference . 50)(choice_expression . 
174)(choice_relation_and_list . 175)(choice_relation_or_list . 
176)(choice_relation_xor_list . 177)(choice_relation_and_then_list . 
178)(choice_relation_or_else_list . 179)(choice_relation . 180)(discrete_choice 
. 181)(discrete_choice_list . 869)(factor . 152)(name . 185)(primary . 
156)(qualified_expression . 53)(range . 186)(selected_component . 
54)(simple_expression . 456)(term . 164)(term_list . 165)(unary_adding_o [...]
       nil
       nil
-      ((actual_parameter_part . 90))
       nil
       nil
-      ((aggregate . 149)(attribute_reference . 50)(discrete_subtype_definition 
. 862)(factor . 151)(identifier_list . 211)(name . 863)(parameter_specification 
. 212)(parameter_specification_list . 213)(primary . 155)(qualified_expression 
. 53)(range . 756)(selected_component . 54)(simple_expression . 
757)(subtype_indication . 758)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
+      ((aggregate . 150)(attribute_reference . 50)(discrete_subtype_definition 
. 864)(factor . 152)(identifier_list . 213)(name . 865)(parameter_specification 
. 214)(parameter_specification_list . 215)(primary . 156)(qualified_expression 
. 53)(range . 758)(selected_component . 54)(simple_expression . 
759)(subtype_indication . 760)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
+      ((aspect_specification_opt . 863))
+      ((aspect_specification_opt . 862))
       ((aspect_specification_opt . 861))
       ((aspect_specification_opt . 860))
-      ((aspect_specification_opt . 859))
-      ((aspect_specification_opt . 858))
       nil
-      ((access_definition . 855)(array_type_definition . 
856)(attribute_reference . 50)(name . 729)(null_exclusion_opt . 
209)(qualified_expression . 53)(selected_component . 54)(subtype_indication . 
857))
+      ((access_definition . 857)(array_type_definition . 
858)(attribute_reference . 50)(name . 731)(null_exclusion_opt . 
211)(qualified_expression . 53)(selected_component . 54)(subtype_indication . 
859))
       nil
-      ((aggregate . 149)(attribute_reference . 50)(expression . 853)(factor . 
151)(name . 152)(primary . 155)(qualified_expression . 53)(relation_and_list . 
156)(relation_and_then_list . 157)(relation_or_list . 
158)(relation_or_else_list . 159)(relation_xor_list . 160)(relation . 
161)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
-      ((attribute_reference . 50)(name . 710)(name_opt . 
852)(qualified_expression . 53)(selected_component . 54))
-      ((abstract_limited_synchronized_opt . 842)(abstract_limited_opt . 
843)(abstract_tagged_limited_opt . 844)(access_definition . 
845)(array_type_definition . 846)(derived_type_definition . 
847)(enumeration_type_definition . 848)(interface_type_definition . 
849)(null_exclusion_opt . 209)(record_type_definition . 850)(type_definition . 
851))
+      ((aggregate . 150)(attribute_reference . 50)(expression . 855)(factor . 
152)(name . 153)(primary . 156)(qualified_expression . 53)(relation_and_list . 
157)(relation_and_then_list . 158)(relation_or_list . 
159)(relation_or_else_list . 160)(relation_xor_list . 161)(relation . 
162)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
+      ((attribute_reference . 50)(name . 209)(name_opt . 
854)(qualified_expression . 53)(selected_component . 54))
+      ((abstract_limited_synchronized_opt . 844)(abstract_limited_opt . 
845)(abstract_tagged_limited_opt . 846)(access_definition . 
847)(array_type_definition . 848)(derived_type_definition . 
849)(enumeration_type_definition . 850)(interface_type_definition . 
851)(null_exclusion_opt . 211)(record_type_definition . 852)(type_definition . 
853))
       nil
-      ((abstract_subprogram_declaration . 292)(aspect_clause . 293)(at_clause 
. 294)(body . 295)(body_stub . 296)(declaration . 297)(declarations . 
298)(declarative_part_opt . 830)(entry_declaration . 
300)(enumeration_representation_clause . 301)(exception_declaration . 
302)(full_type_declaration . 303)(generic_declaration . 
304)(generic_formal_part . 17)(generic_instantiation . 
305)(generic_package_declaration . 19)(generic_renaming_declaration . 
306)(generic_subprogram_declaration . 21 [...]
+      ((abstract_subprogram_declaration . 294)(aspect_clause . 295)(at_clause 
. 296)(body . 297)(body_stub . 298)(declaration . 299)(declarations . 
300)(declarative_part_opt . 832)(entry_declaration . 
302)(enumeration_representation_clause . 303)(exception_declaration . 
304)(full_type_declaration . 305)(generic_declaration . 
306)(generic_formal_part . 17)(generic_instantiation . 
307)(generic_package_declaration . 19)(generic_renaming_declaration . 
308)(generic_subprogram_declaration . 21 [...]
       nil
-      ((aspect_specification_opt . 827))
+      ((aspect_specification_opt . 829))
       nil
-      ((actual_parameter_part . 90)(constraint . 797)(index_constraint . 798))
-      ((aspect_specification_opt . 824))
-      ((abstract_subprogram_declaration . 292)(aspect_clause . 293)(at_clause 
. 294)(body . 295)(body_stub . 296)(declaration . 297)(declarations . 
298)(declarative_part_opt . 822)(entry_declaration . 
300)(enumeration_representation_clause . 301)(exception_declaration . 
302)(full_type_declaration . 303)(generic_declaration . 
304)(generic_formal_part . 17)(generic_instantiation . 
305)(generic_package_declaration . 19)(generic_renaming_declaration . 
306)(generic_subprogram_declaration . 21 [...]
+      ((actual_parameter_part . 90)(constraint . 799)(index_constraint . 800))
+      ((aspect_specification_opt . 826))
+      ((abstract_subprogram_declaration . 294)(aspect_clause . 295)(at_clause 
. 296)(body . 297)(body_stub . 298)(declaration . 299)(declarations . 
300)(declarative_part_opt . 824)(entry_declaration . 
302)(enumeration_representation_clause . 303)(exception_declaration . 
304)(full_type_declaration . 305)(generic_declaration . 
306)(generic_formal_part . 17)(generic_instantiation . 
307)(generic_package_declaration . 19)(generic_renaming_declaration . 
308)(generic_subprogram_declaration . 21 [...]
       nil
-      ((aspect_specification_opt . 819))
+      ((aspect_specification_opt . 821))
       nil
       nil
-      ((aggregate . 149)(attribute_reference . 50)(expression . 816)(factor . 
151)(name . 152)(primary . 155)(qualified_expression . 53)(relation_and_list . 
156)(relation_and_then_list . 157)(relation_or_list . 
158)(relation_or_else_list . 159)(relation_xor_list . 160)(relation . 
161)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
-      ((mod_clause_opt . 815))
+      ((aggregate . 150)(attribute_reference . 50)(expression . 818)(factor . 
152)(name . 153)(primary . 156)(qualified_expression . 53)(relation_and_list . 
157)(relation_and_then_list . 158)(relation_or_list . 
159)(relation_or_else_list . 160)(relation_xor_list . 161)(relation . 
162)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
+      ((mod_clause_opt . 817))
       nil
       nil
       ((actual_parameter_part . 90))
-      ((attribute_reference . 50)(name . 810)(qualified_expression . 
53)(selected_component . 54))
-      ((attribute_reference . 50)(name . 809)(qualified_expression . 
53)(selected_component . 54))
+      ((attribute_reference . 50)(name . 812)(qualified_expression . 
53)(selected_component . 54))
+      ((attribute_reference . 50)(name . 811)(qualified_expression . 
53)(selected_component . 54))
       nil
       nil
       nil
-      ((aggregate . 149)(attribute_reference . 50)(expression . 807)(factor . 
151)(name . 152)(primary . 155)(qualified_expression . 53)(relation_and_list . 
156)(relation_and_then_list . 157)(relation_or_list . 
158)(relation_or_else_list . 159)(relation_xor_list . 160)(relation . 
161)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
-      ((aggregate . 149)(attribute_reference . 50)(expression . 806)(factor . 
151)(name . 152)(primary . 155)(qualified_expression . 53)(relation_and_list . 
156)(relation_and_then_list . 157)(relation_or_list . 
158)(relation_or_else_list . 159)(relation_xor_list . 160)(relation . 
161)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
-      ((attribute_reference . 50)(name . 552)(qualified_expression . 
53)(selected_component . 805))
+      ((aggregate . 150)(attribute_reference . 50)(expression . 809)(factor . 
152)(name . 153)(primary . 156)(qualified_expression . 53)(relation_and_list . 
157)(relation_and_then_list . 158)(relation_or_list . 
159)(relation_or_else_list . 160)(relation_xor_list . 161)(relation . 
162)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
+      ((aggregate . 150)(attribute_reference . 50)(expression . 808)(factor . 
152)(name . 153)(primary . 156)(qualified_expression . 53)(relation_and_list . 
157)(relation_and_then_list . 158)(relation_or_list . 
159)(relation_or_else_list . 160)(relation_xor_list . 161)(relation . 
162)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
+      ((attribute_reference . 50)(name . 554)(qualified_expression . 
53)(selected_component . 807))
       nil
-      ((aggregate . 149)(attribute_reference . 50)(name . 152)(primary . 
283)(qualified_expression . 53)(selected_component . 54))
+      ((aggregate . 150)(attribute_reference . 50)(name . 153)(primary . 
285)(qualified_expression . 53)(selected_component . 54))
       nil
       nil
       nil
       nil
-      ((actual_parameter_part . 90)(constraint . 797)(index_constraint . 798))
+      ((actual_parameter_part . 90)(constraint . 799)(index_constraint . 800))
       nil
       nil
       nil
       nil
       nil
-      ((attribute_reference . 50)(interface_list . 793)(name . 
790)(qualified_expression . 53)(selected_component . 54))
-      ((attribute_reference . 50)(interface_list . 792)(name . 
790)(qualified_expression . 53)(selected_component . 54))
-      ((attribute_reference . 50)(interface_list . 791)(name . 
790)(qualified_expression . 53)(selected_component . 54))
+      ((attribute_reference . 50)(interface_list . 795)(name . 
792)(qualified_expression . 53)(selected_component . 54))
+      ((attribute_reference . 50)(interface_list . 794)(name . 
792)(qualified_expression . 53)(selected_component . 54))
+      ((attribute_reference . 50)(interface_list . 793)(name . 
792)(qualified_expression . 53)(selected_component . 54))
       nil
-      ((attribute_reference . 50)(interface_list . 789)(name . 
790)(qualified_expression . 53)(selected_component . 54))
+      ((attribute_reference . 50)(interface_list . 791)(name . 
792)(qualified_expression . 53)(selected_component . 54))
       ((actual_parameter_part . 90))
       nil
       nil
-      ((aggregate . 149)(association_opt . 171)(association_list . 
188)(attribute_reference . 50)(choice_expression . 
173)(choice_relation_and_list . 174)(choice_relation_or_list . 
175)(choice_relation_xor_list . 176)(choice_relation_and_then_list . 
177)(choice_relation_or_else_list . 178)(choice_relation . 179)(discrete_choice 
. 180)(discrete_choice_list . 181)(expression . 182)(expression_opt . 
183)(factor . 151)(name . 184)(primary . 155)(qualified_expression . 53)(range 
. 189)(relati [...]
-      ((aspect_specification_opt . 785))
+      ((aggregate . 150)(association_opt . 172)(association_list . 
189)(attribute_reference . 50)(choice_expression . 
174)(choice_relation_and_list . 175)(choice_relation_or_list . 
176)(choice_relation_xor_list . 177)(choice_relation_and_then_list . 
178)(choice_relation_or_else_list . 179)(choice_relation . 180)(discrete_choice 
. 181)(discrete_choice_list . 182)(expression . 183)(expression_opt . 
184)(factor . 152)(name . 185)(primary . 156)(qualified_expression . 53)(range 
. 190)(relati [...]
+      ((aspect_specification_opt . 787))
       nil
-      ((aspect_specification_opt . 784))
+      ((aspect_specification_opt . 786))
       nil
-      ((identifier_list . 211)(parameter_specification . 
212)(parameter_specification_list . 213))
+      ((identifier_list . 213)(parameter_specification . 
214)(parameter_specification_list . 215))
       nil
       nil
       nil
-      ((attribute_reference . 50)(name . 782)(qualified_expression . 
53)(selected_component . 54))
+      ((attribute_reference . 50)(name . 784)(qualified_expression . 
53)(selected_component . 54))
       nil
       nil
       nil
@@ -3759,7 +3762,7 @@
       nil
       nil
       nil
-      ((attribute_reference . 50)(interface_list . 1047)(name . 
790)(qualified_expression . 53)(selected_component . 54))
+      ((attribute_reference . 50)(interface_list . 1049)(name . 
792)(qualified_expression . 53)(selected_component . 54))
       nil
       nil
       ((actual_parameter_part . 90))
@@ -3767,122 +3770,122 @@
       nil
       nil
       nil
-      ((aggregate . 149)(association_opt . 171)(association_list . 
188)(attribute_reference . 50)(choice_expression . 
173)(choice_relation_and_list . 174)(choice_relation_or_list . 
175)(choice_relation_xor_list . 176)(choice_relation_and_then_list . 
177)(choice_relation_or_else_list . 178)(choice_relation . 179)(discrete_choice 
. 180)(discrete_choice_list . 181)(discrete_subtype_definition . 
751)(discrete_subtype_definition_list . 1043)(expression . 182)(expression_opt 
. 183)(factor . 15 [...]
-      ((aggregate . 149)(attribute_reference . 50)(factor . 151)(name . 
184)(primary . 155)(qualified_expression . 53)(range . 1019)(selected_component 
. 54)(simple_expression . 757)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
+      ((aggregate . 150)(association_opt . 172)(association_list . 
189)(attribute_reference . 50)(choice_expression . 
174)(choice_relation_and_list . 175)(choice_relation_or_list . 
176)(choice_relation_xor_list . 177)(choice_relation_and_then_list . 
178)(choice_relation_or_else_list . 179)(choice_relation . 180)(discrete_choice 
. 181)(discrete_choice_list . 182)(discrete_subtype_definition . 
753)(discrete_subtype_definition_list . 1045)(expression . 183)(expression_opt 
. 184)(factor . 15 [...]
+      ((aggregate . 150)(attribute_reference . 50)(factor . 152)(name . 
185)(primary . 156)(qualified_expression . 53)(range . 1021)(selected_component 
. 54)(simple_expression . 759)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
       nil
       nil
-      ((attribute_reference . 50)(index_subtype_definition . 1039)(name . 
1040)(qualified_expression . 53)(selected_component . 54))
+      ((attribute_reference . 50)(index_subtype_definition . 1041)(name . 
1042)(qualified_expression . 53)(selected_component . 54))
       nil
-      ((aggregate . 149)(attribute_reference . 50)(discrete_subtype_definition 
. 1037)(factor . 151)(name . 863)(primary . 155)(qualified_expression . 
53)(range . 756)(selected_component . 54)(simple_expression . 
757)(subtype_indication . 758)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
+      ((aggregate . 150)(attribute_reference . 50)(discrete_subtype_definition 
. 1039)(factor . 152)(name . 865)(primary . 156)(qualified_expression . 
53)(range . 758)(selected_component . 54)(simple_expression . 
759)(subtype_indication . 760)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
       nil
-      ((attribute_reference . 50)(name . 1018)(qualified_expression . 
53)(selected_component . 54))
+      ((attribute_reference . 50)(name . 1020)(qualified_expression . 
53)(selected_component . 54))
       nil
       nil
       nil
       nil
       nil
-      ((actual_parameter_part . 90)(aspect_specification_opt . 1035))
-      ((actual_parameter_part . 90)(aspect_specification_opt . 1034))
-      ((attribute_reference . 50)(name . 1033)(qualified_expression . 
53)(selected_component . 54))
+      ((actual_parameter_part . 90)(aspect_specification_opt . 1037))
+      ((actual_parameter_part . 90)(aspect_specification_opt . 1036))
+      ((attribute_reference . 50)(name . 1035)(qualified_expression . 
53)(selected_component . 54))
       nil
       nil
       nil
-      ((component_clause . 1030)(component_clause_list . 1031))
+      ((component_clause . 1032)(component_clause_list . 1033))
       nil
       nil
-      ((aspect_specification_opt . 1027))
+      ((aspect_specification_opt . 1029))
       nil
-      ((aspect_specification_opt . 1025))
-      ((attribute_reference . 50)(interface_list . 1024)(name . 
790)(qualified_expression . 53)(selected_component . 54))
+      ((aspect_specification_opt . 1027))
+      ((attribute_reference . 50)(interface_list . 1026)(name . 
792)(qualified_expression . 53)(selected_component . 54))
       nil
       nil
       nil
-      ((aggregate . 149)(attribute_reference . 50)(factor . 151)(name . 
184)(primary . 155)(qualified_expression . 53)(range . 1019)(selected_component 
. 54)(simple_expression . 757)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
-      ((attribute_reference . 50)(name . 1018)(qualified_expression . 
53)(selected_component . 54))
+      ((aggregate . 150)(attribute_reference . 50)(factor . 152)(name . 
185)(primary . 156)(qualified_expression . 53)(range . 1021)(selected_component 
. 54)(simple_expression . 759)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
+      ((attribute_reference . 50)(name . 1020)(qualified_expression . 
53)(selected_component . 54))
       nil
-      ((aspect_specification_opt . 1015))
-      ((attribute_reference . 50)(interface_list . 1014)(name . 
790)(qualified_expression . 53)(selected_component . 54))
+      ((aspect_specification_opt . 1017))
+      ((attribute_reference . 50)(interface_list . 1016)(name . 
792)(qualified_expression . 53)(selected_component . 54))
       nil
       nil
       nil
-      ((aggregate . 149)(attribute_reference . 50)(expression . 1009)(factor . 
151)(name . 152)(primary . 155)(qualified_expression . 53)(relation_and_list . 
156)(relation_and_then_list . 157)(relation_or_list . 
158)(relation_or_else_list . 159)(relation_xor_list . 160)(relation . 
161)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
-      ((aggregate . 149)(attribute_reference . 50)(expression . 1008)(factor . 
151)(name . 152)(primary . 155)(qualified_expression . 53)(relation_and_list . 
156)(relation_and_then_list . 157)(relation_or_list . 
158)(relation_or_else_list . 159)(relation_xor_list . 160)(relation . 
161)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
-      ((enumeration_literal . 1006)(enumeration_literal_list . 1007))
+      ((aggregate . 150)(attribute_reference . 50)(expression . 1011)(factor . 
152)(name . 153)(primary . 156)(qualified_expression . 53)(relation_and_list . 
157)(relation_and_then_list . 158)(relation_or_list . 
159)(relation_or_else_list . 160)(relation_xor_list . 161)(relation . 
162)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
+      ((aggregate . 150)(attribute_reference . 50)(expression . 1010)(factor . 
152)(name . 153)(primary . 156)(qualified_expression . 53)(relation_and_list . 
157)(relation_and_then_list . 158)(relation_or_list . 
159)(relation_or_else_list . 160)(relation_xor_list . 161)(relation . 
162)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
+      ((enumeration_literal . 1008)(enumeration_literal_list . 1009))
       nil
-      ((aggregate . 149)(attribute_reference . 50)(expression . 1003)(factor . 
151)(name . 152)(primary . 155)(qualified_expression . 53)(relation_and_list . 
156)(relation_and_then_list . 157)(relation_or_list . 
158)(relation_or_else_list . 159)(relation_xor_list . 160)(relation . 
161)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
+      ((aggregate . 150)(attribute_reference . 50)(expression . 1005)(factor . 
152)(name . 153)(primary . 156)(qualified_expression . 53)(relation_and_list . 
157)(relation_and_then_list . 158)(relation_or_list . 
159)(relation_or_else_list . 160)(relation_xor_list . 161)(relation . 
162)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
       nil
-      ((aggregate . 149)(attribute_reference . 50)(factor . 151)(name . 
152)(primary . 155)(qualified_expression . 53)(selected_component . 
54)(simple_expression . 1001)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
-      ((aspect_clause . 994)(at_clause . 294)(component_declaration . 
995)(component_item . 996)(component_list . 997)(component_list_opt . 
998)(enumeration_representation_clause . 301)(identifier_list . 
999)(record_representation_clause . 324)(variant_part . 1000))
+      ((aggregate . 150)(attribute_reference . 50)(factor . 152)(name . 
153)(primary . 156)(qualified_expression . 53)(selected_component . 
54)(simple_expression . 1003)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
+      ((aspect_clause . 996)(at_clause . 296)(component_declaration . 
997)(component_item . 998)(component_list . 999)(component_list_opt . 
1000)(enumeration_representation_clause . 303)(identifier_list . 
1001)(record_representation_clause . 326)(variant_part . 1002))
       nil
       nil
       nil
-      ((record_definition . 988))
+      ((record_definition . 990))
       nil
       nil
       nil
       nil
       nil
       nil
-      ((aspect_specification_opt . 986))
+      ((aspect_specification_opt . 988))
       nil
       nil
       nil
+      ((aspect_specification_opt . 985))
       ((aspect_specification_opt . 983))
       ((aspect_specification_opt . 981))
-      ((aspect_specification_opt . 979))
       nil
       nil
       nil
       nil
       nil
-      ((actual_parameter_part . 90)(constraint . 797)(index_constraint . 798))
-      ((attribute_reference . 50)(name . 710)(name_opt . 
972)(qualified_expression . 53)(selected_component . 54))
+      ((actual_parameter_part . 90)(constraint . 799)(index_constraint . 800))
+      ((attribute_reference . 50)(name . 209)(name_opt . 
974)(qualified_expression . 53)(selected_component . 54))
       nil
-      ((case_expression_alternative . 971))
+      ((case_expression_alternative . 973))
       nil
-      ((attribute_reference . 50)(name . 969)(qualified_expression . 
53)(selected_component . 54))
+      ((attribute_reference . 50)(name . 971)(qualified_expression . 
53)(selected_component . 54))
       ((actual_parameter_part . 90))
-      ((aggregate . 149)(attribute_reference . 50)(discrete_subtype_definition 
. 968)(factor . 151)(name . 863)(primary . 155)(qualified_expression . 
53)(range . 756)(selected_component . 54)(simple_expression . 
757)(subtype_indication . 758)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
+      ((aggregate . 150)(attribute_reference . 50)(discrete_subtype_definition 
. 970)(factor . 152)(name . 865)(primary . 156)(qualified_expression . 
53)(range . 758)(selected_component . 54)(simple_expression . 
759)(subtype_indication . 760)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
       nil
       nil
       nil
-      ((aggregate . 149)(attribute_reference . 50)(expression . 966)(factor . 
151)(name . 152)(primary . 155)(qualified_expression . 53)(relation_and_list . 
156)(relation_and_then_list . 157)(relation_or_list . 
158)(relation_or_else_list . 159)(relation_xor_list . 160)(relation . 
161)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
-      ((aggregate . 149)(attribute_reference . 50)(expression . 965)(factor . 
151)(name . 152)(primary . 155)(qualified_expression . 53)(relation_and_list . 
156)(relation_and_then_list . 157)(relation_or_list . 
158)(relation_or_else_list . 159)(relation_xor_list . 160)(relation . 
161)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
+      ((aggregate . 150)(attribute_reference . 50)(expression . 968)(factor . 
152)(name . 153)(primary . 156)(qualified_expression . 53)(relation_and_list . 
157)(relation_and_then_list . 158)(relation_or_list . 
159)(relation_or_else_list . 160)(relation_xor_list . 161)(relation . 
162)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
+      ((aggregate . 150)(attribute_reference . 50)(expression . 967)(factor . 
152)(name . 153)(primary . 156)(qualified_expression . 53)(relation_and_list . 
157)(relation_and_then_list . 158)(relation_or_list . 
159)(relation_or_else_list . 160)(relation_xor_list . 161)(relation . 
162)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
       nil
-      ((elsif_expression_item . 964))
-      ((aspect_clause . 955)(at_clause . 294)(entry_body . 
956)(enumeration_representation_clause . 301)(overriding_indicator_opt . 
957)(procedure_specification . 31)(protected_operation_item . 
958)(protected_operation_item_list . 959)(protected_operation_item_list_opt . 
960)(record_representation_clause . 324)(subprogram_body . 
961)(subprogram_declaration . 962))
-      ((abstract_subprogram_declaration . 292)(aspect_clause . 293)(at_clause 
. 294)(body . 295)(body_stub . 296)(declaration . 297)(declarations . 
298)(declarative_part_opt . 953)(entry_declaration . 
300)(enumeration_representation_clause . 301)(exception_declaration . 
302)(full_type_declaration . 303)(generic_declaration . 
304)(generic_formal_part . 17)(generic_instantiation . 
305)(generic_package_declaration . 19)(generic_renaming_declaration . 
306)(generic_subprogram_declaration . 21 [...]
+      ((elsif_expression_item . 966))
+      ((aspect_clause . 957)(at_clause . 296)(entry_body . 
958)(enumeration_representation_clause . 303)(overriding_indicator_opt . 
959)(procedure_specification . 31)(protected_operation_item . 
960)(protected_operation_item_list . 961)(protected_operation_item_list_opt . 
962)(record_representation_clause . 326)(subprogram_body . 
963)(subprogram_declaration . 964))
+      ((abstract_subprogram_declaration . 294)(aspect_clause . 295)(at_clause 
. 296)(body . 297)(body_stub . 298)(declaration . 299)(declarations . 
300)(declarative_part_opt . 955)(entry_declaration . 
302)(enumeration_representation_clause . 303)(exception_declaration . 
304)(full_type_declaration . 305)(generic_declaration . 
306)(generic_formal_part . 17)(generic_instantiation . 
307)(generic_package_declaration . 19)(generic_renaming_declaration . 
308)(generic_subprogram_declaration . 21 [...]
       nil
-      ((aggregate . 149)(association_opt . 171)(association_list . 
188)(attribute_reference . 50)(choice_expression . 
173)(choice_relation_and_list . 174)(choice_relation_or_list . 
175)(choice_relation_xor_list . 176)(choice_relation_and_then_list . 
177)(choice_relation_or_else_list . 178)(choice_relation . 179)(discrete_choice 
. 180)(discrete_choice_list . 181)(expression . 182)(expression_opt . 
183)(factor . 151)(name . 184)(primary . 155)(qualified_expression . 53)(range 
. 185)(relati [...]
+      ((aggregate . 150)(association_opt . 172)(association_list . 
189)(attribute_reference . 50)(choice_expression . 
174)(choice_relation_and_list . 175)(choice_relation_or_list . 
176)(choice_relation_xor_list . 177)(choice_relation_and_then_list . 
178)(choice_relation_or_else_list . 179)(choice_relation . 180)(discrete_choice 
. 181)(discrete_choice_list . 182)(expression . 183)(expression_opt . 
184)(factor . 152)(name . 185)(primary . 156)(qualified_expression . 53)(range 
. 186)(relati [...]
       nil
-      ((formal_part . 115)(parameter_profile_opt . 952))
+      ((formal_part . 115)(parameter_profile_opt . 954))
       nil
-      ((identifier_opt . 951))
-      ((case_statement_alternative . 949)(case_statement_alternative_list . 
950))
-      ((accept_statement . 623)(assignment_statement . 
624)(asynchronous_select . 625)(attribute_reference . 50)(block_statement . 
626)(case_statement . 627)(conditional_entry_call . 628)(delay_statement . 
629)(exit_statement . 630)(extended_return_statement . 
631)(handled_sequence_of_statements . 947)(if_statement . 633)(iteration_scheme 
. 634)(label_opt . 635)(loop_statement . 636)(name . 637)(pragma . 
638)(procedure_call_statement . 639)(qualified_expression . 53)(raise_statement 
. 64 [...]
+      ((identifier_opt . 953))
+      ((case_statement_alternative . 951)(case_statement_alternative_list . 
952))
+      ((accept_statement . 626)(assignment_statement . 
627)(asynchronous_select . 628)(attribute_reference . 50)(block_statement . 
629)(case_statement . 630)(conditional_entry_call . 631)(delay_statement . 
632)(exit_statement . 633)(extended_return_statement . 
634)(handled_sequence_of_statements . 949)(if_statement . 636)(iteration_scheme 
. 637)(label_opt . 638)(loop_statement . 639)(name . 640)(pragma . 
641)(procedure_call_statement . 642)(qualified_expression . 53)(raise_statement 
. 64 [...]
       nil
       nil
       nil
-      ((aggregate . 149)(attribute_reference . 50)(expression . 
182)(expression_opt . 945)(factor . 151)(name . 152)(primary . 
155)(qualified_expression . 53)(relation_and_list . 156)(relation_and_then_list 
. 157)(relation_or_list . 158)(relation_or_else_list . 159)(relation_xor_list . 
160)(relation . 161)(selected_component . 54)(simple_expression . 162)(term . 
163)(term_list . 164)(unary_adding_operator . 165))
+      ((aggregate . 150)(attribute_reference . 50)(expression . 
183)(expression_opt . 947)(factor . 152)(name . 153)(primary . 
156)(qualified_expression . 53)(relation_and_list . 157)(relation_and_then_list 
. 158)(relation_or_list . 159)(relation_or_else_list . 160)(relation_xor_list . 
161)(relation . 162)(selected_component . 54)(simple_expression . 163)(term . 
164)(term_list . 165)(unary_adding_operator . 166))
       nil
-      ((accept_statement . 623)(assignment_statement . 
624)(asynchronous_select . 625)(attribute_reference . 50)(block_statement . 
626)(case_statement . 627)(conditional_entry_call . 628)(delay_statement . 
629)(exit_statement . 630)(extended_return_statement . 631)(if_statement . 
633)(iteration_scheme . 634)(label_opt . 635)(loop_statement . 636)(name . 
637)(pragma . 638)(procedure_call_statement . 639)(qualified_expression . 
53)(raise_statement . 640)(requeue_statement . 641)(selected_c [...]
+      ((accept_statement . 626)(assignment_statement . 
627)(asynchronous_select . 628)(attribute_reference . 50)(block_statement . 
629)(case_statement . 630)(conditional_entry_call . 631)(delay_statement . 
632)(exit_statement . 633)(extended_return_statement . 634)(if_statement . 
636)(iteration_scheme . 637)(label_opt . 638)(loop_statement . 639)(name . 
640)(pragma . 641)(procedure_call_statement . 642)(qualified_expression . 
53)(raise_statement . 643)(requeue_statement . 644)(selected_c [...]
       nil
       nil
-      ((aggregate . 149)(attribute_reference . 50)(expression . 942)(factor . 
151)(name . 152)(primary . 155)(qualified_expression . 53)(relation_and_list . 
156)(relation_and_then_list . 157)(relation_or_list . 
158)(relation_or_else_list . 159)(relation_xor_list . 160)(relation . 
161)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
+      ((aggregate . 150)(attribute_reference . 50)(expression . 944)(factor . 
152)(name . 153)(primary . 156)(qualified_expression . 53)(relation_and_list . 
157)(relation_and_then_list . 158)(relation_or_list . 
159)(relation_or_else_list . 160)(relation_xor_list . 161)(relation . 
162)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
       nil
       nil
-      ((accept_statement . 623)(assignment_statement . 
624)(asynchronous_select . 625)(attribute_reference . 50)(block_statement . 
626)(case_statement . 627)(conditional_entry_call . 628)(delay_statement . 
629)(exit_statement . 630)(extended_return_statement . 
631)(handled_sequence_of_statements . 940)(if_statement . 633)(iteration_scheme 
. 634)(label_opt . 635)(loop_statement . 636)(name . 637)(pragma . 
638)(procedure_call_statement . 639)(qualified_expression . 53)(raise_statement 
. 64 [...]
+      ((accept_statement . 626)(assignment_statement . 
627)(asynchronous_select . 628)(attribute_reference . 50)(block_statement . 
629)(case_statement . 630)(conditional_entry_call . 631)(delay_statement . 
632)(exit_statement . 633)(extended_return_statement . 
634)(handled_sequence_of_statements . 942)(if_statement . 636)(iteration_scheme 
. 637)(label_opt . 638)(loop_statement . 639)(name . 640)(pragma . 
641)(procedure_call_statement . 642)(qualified_expression . 53)(raise_statement 
. 64 [...]
       nil
       nil
-      ((aliased_opt . 939))
+      ((aliased_opt . 941))
       nil
-      ((accept_statement . 623)(assignment_statement . 
624)(asynchronous_select . 625)(attribute_reference . 50)(block_statement . 
626)(case_statement . 627)(conditional_entry_call . 628)(delay_statement . 
629)(exit_statement . 630)(extended_return_statement . 631)(if_statement . 
633)(iteration_scheme . 634)(label_opt . 635)(loop_statement . 636)(name . 
637)(pragma . 638)(procedure_call_statement . 639)(qualified_expression . 
53)(raise_statement . 640)(requeue_statement . 641)(selected_c [...]
+      ((accept_statement . 626)(assignment_statement . 
627)(asynchronous_select . 628)(attribute_reference . 50)(block_statement . 
629)(case_statement . 630)(conditional_entry_call . 631)(delay_statement . 
632)(exit_statement . 633)(extended_return_statement . 634)(if_statement . 
636)(iteration_scheme . 637)(label_opt . 638)(loop_statement . 639)(name . 
640)(pragma . 641)(procedure_call_statement . 642)(qualified_expression . 
53)(raise_statement . 643)(requeue_statement . 644)(selected_c [...]
       nil
-      ((accept_statement . 664)(delay_alternative . 665)(delay_statement . 
933)(select_alternative . 935))
+      ((accept_statement . 667)(delay_alternative . 668)(delay_statement . 
935)(select_alternative . 937))
       nil
       nil
-      ((accept_statement . 623)(assignment_statement . 
624)(asynchronous_select . 625)(attribute_reference . 50)(block_statement . 
626)(case_statement . 627)(conditional_entry_call . 628)(delay_statement . 
629)(exit_statement . 630)(extended_return_statement . 631)(if_statement . 
633)(iteration_scheme . 634)(label_opt . 635)(loop_statement . 636)(name . 
637)(pragma . 638)(procedure_call_statement . 639)(qualified_expression . 
53)(raise_statement . 640)(requeue_statement . 641)(selected_c [...]
-      ((delay_alternative . 932)(delay_statement . 933))
+      ((accept_statement . 626)(assignment_statement . 
627)(asynchronous_select . 628)(attribute_reference . 50)(block_statement . 
629)(case_statement . 630)(conditional_entry_call . 631)(delay_statement . 
632)(exit_statement . 633)(extended_return_statement . 634)(if_statement . 
636)(iteration_scheme . 637)(label_opt . 638)(loop_statement . 639)(name . 
640)(pragma . 641)(procedure_call_statement . 642)(qualified_expression . 
53)(raise_statement . 643)(requeue_statement . 644)(selected_c [...]
+      ((delay_alternative . 934)(delay_statement . 935))
       nil
       nil
       nil
@@ -3890,9 +3893,9 @@
       nil
       nil
       nil
-      ((attribute_reference . 50)(exception_choice . 
925)(exception_choice_list . 926)(name . 927)(qualified_expression . 
53)(selected_component . 54))
+      ((attribute_reference . 50)(exception_choice . 
927)(exception_choice_list . 928)(name . 929)(qualified_expression . 
53)(selected_component . 54))
       nil
-      ((exception_handler . 922))
+      ((exception_handler . 924))
       nil
       nil
       nil
@@ -3903,73 +3906,73 @@
       nil
       nil
       nil
-      ((accept_statement . 1146)(delay_alternative . 1147)(delay_statement . 
933))
+      ((accept_statement . 1148)(delay_alternative . 1149)(delay_statement . 
935))
       nil
-      ((accept_statement . 623)(assignment_statement . 
624)(asynchronous_select . 625)(attribute_reference . 50)(block_statement . 
626)(case_statement . 627)(conditional_entry_call . 628)(delay_statement . 
629)(exit_statement . 630)(extended_return_statement . 631)(if_statement . 
633)(iteration_scheme . 634)(label_opt . 635)(loop_statement . 636)(name . 
637)(pragma . 638)(procedure_call_statement . 639)(qualified_expression . 
53)(raise_statement . 640)(requeue_statement . 641)(selected_c [...]
+      ((accept_statement . 626)(assignment_statement . 
627)(asynchronous_select . 628)(attribute_reference . 50)(block_statement . 
629)(case_statement . 630)(conditional_entry_call . 631)(delay_statement . 
632)(exit_statement . 633)(extended_return_statement . 634)(if_statement . 
636)(iteration_scheme . 637)(label_opt . 638)(loop_statement . 639)(name . 
640)(pragma . 641)(procedure_call_statement . 642)(qualified_expression . 
53)(raise_statement . 643)(requeue_statement . 644)(selected_c [...]
       nil
       nil
       nil
       nil
-      ((accept_statement . 623)(assignment_statement . 
624)(asynchronous_select . 625)(attribute_reference . 50)(block_statement . 
626)(case_statement . 627)(conditional_entry_call . 628)(delay_statement . 
629)(exit_statement . 630)(extended_return_statement . 631)(if_statement . 
633)(iteration_scheme . 634)(label_opt . 635)(loop_statement . 636)(name . 
637)(pragma . 638)(procedure_call_statement . 639)(qualified_expression . 
53)(raise_statement . 640)(requeue_statement . 641)(selected_c [...]
-      ((constant_opt . 1138))
+      ((accept_statement . 626)(assignment_statement . 
627)(asynchronous_select . 628)(attribute_reference . 50)(block_statement . 
629)(case_statement . 630)(conditional_entry_call . 631)(delay_statement . 
632)(exit_statement . 633)(extended_return_statement . 634)(if_statement . 
636)(iteration_scheme . 637)(label_opt . 638)(loop_statement . 639)(name . 
640)(pragma . 641)(procedure_call_statement . 642)(qualified_expression . 
53)(raise_statement . 643)(requeue_statement . 644)(selected_c [...]
+      ((constant_opt . 1140))
       nil
       nil
       nil
-      ((identifier_opt . 1134))
-      ((elsif_statement_item . 1132)(elsif_statement_list . 1133))
+      ((identifier_opt . 1136))
+      ((elsif_statement_item . 1134)(elsif_statement_list . 1135))
       nil
       nil
       nil
-      ((aggregate . 149)(attribute_reference . 50)(choice_expression . 
173)(choice_relation_and_list . 174)(choice_relation_or_list . 
175)(choice_relation_xor_list . 176)(choice_relation_and_then_list . 
177)(choice_relation_or_else_list . 178)(choice_relation . 179)(discrete_choice 
. 180)(discrete_choice_list . 1126)(factor . 151)(name . 184)(primary . 
155)(qualified_expression . 53)(range . 185)(selected_component . 
54)(simple_expression . 454)(term . 163)(term_list . 164)(unary_adding_ [...]
+      ((aggregate . 150)(attribute_reference . 50)(choice_expression . 
174)(choice_relation_and_list . 175)(choice_relation_or_list . 
176)(choice_relation_xor_list . 177)(choice_relation_and_then_list . 
178)(choice_relation_or_else_list . 179)(choice_relation . 180)(discrete_choice 
. 181)(discrete_choice_list . 1128)(factor . 152)(name . 185)(primary . 
156)(qualified_expression . 53)(range . 186)(selected_component . 
54)(simple_expression . 456)(term . 164)(term_list . 165)(unary_adding_ [...]
       nil
-      ((case_statement_alternative . 1125))
+      ((case_statement_alternative . 1127))
       nil
       nil
       nil
       nil
       nil
       nil
-      ((procedure_specification . 31)(subprogram_specification . 1118))
+      ((procedure_specification . 31)(subprogram_specification . 1120))
       nil
-      ((aspect_clause . 955)(at_clause . 294)(entry_body . 
956)(enumeration_representation_clause . 301)(overriding_indicator_opt . 
957)(procedure_specification . 31)(protected_operation_item . 
1117)(record_representation_clause . 324)(subprogram_body . 
961)(subprogram_declaration . 962))
+      ((aspect_clause . 957)(at_clause . 296)(entry_body . 
958)(enumeration_representation_clause . 303)(overriding_indicator_opt . 
959)(procedure_specification . 31)(protected_operation_item . 
1119)(record_representation_clause . 326)(subprogram_body . 
963)(subprogram_declaration . 964))
       nil
       nil
       nil
-      ((aggregate . 149)(attribute_reference . 50)(expression . 1115)(factor . 
151)(name . 152)(primary . 155)(qualified_expression . 53)(relation_and_list . 
156)(relation_and_then_list . 157)(relation_or_list . 
158)(relation_or_else_list . 159)(relation_xor_list . 160)(relation . 
161)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
+      ((aggregate . 150)(attribute_reference . 50)(expression . 1117)(factor . 
152)(name . 153)(primary . 156)(qualified_expression . 53)(relation_and_list . 
157)(relation_and_then_list . 158)(relation_or_list . 
159)(relation_or_else_list . 160)(relation_xor_list . 161)(relation . 
162)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
       nil
       nil
       nil
-      ((attribute_reference . 50)(name . 1113)(qualified_expression . 
53)(selected_component . 54))
+      ((attribute_reference . 50)(name . 1115)(qualified_expression . 
53)(selected_component . 54))
       nil
       ((actual_parameter_part . 90))
-      ((aggregate . 149)(attribute_reference . 50)(expression . 1111)(factor . 
151)(name . 152)(primary . 155)(qualified_expression . 53)(relation_and_list . 
156)(relation_and_then_list . 157)(relation_or_list . 
158)(relation_or_else_list . 159)(relation_xor_list . 160)(relation . 
161)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
+      ((aggregate . 150)(attribute_reference . 50)(expression . 1113)(factor . 
152)(name . 153)(primary . 156)(qualified_expression . 53)(relation_and_list . 
157)(relation_and_then_list . 158)(relation_or_list . 
159)(relation_or_else_list . 160)(relation_xor_list . 161)(relation . 
162)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
       nil
       nil
-      ((formal_part . 115)(parameter_profile_opt . 1109))
+      ((formal_part . 115)(parameter_profile_opt . 1111))
       nil
       nil
       nil
       nil
-      ((aggregate . 149)(attribute_reference . 50)(expression . 1108)(factor . 
151)(name . 152)(primary . 155)(qualified_expression . 53)(relation_and_list . 
156)(relation_and_then_list . 157)(relation_or_list . 
158)(relation_or_else_list . 159)(relation_xor_list . 160)(relation . 
161)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
+      ((aggregate . 150)(attribute_reference . 50)(expression . 1110)(factor . 
152)(name . 153)(primary . 156)(qualified_expression . 53)(relation_and_list . 
157)(relation_and_then_list . 158)(relation_or_list . 
159)(relation_or_else_list . 160)(relation_xor_list . 161)(relation . 
162)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
       nil
-      ((aggregate . 149)(attribute_reference . 50)(expression . 1106)(factor . 
151)(name . 152)(primary . 155)(qualified_expression . 53)(relation_and_list . 
156)(relation_and_then_list . 157)(relation_or_list . 
158)(relation_or_else_list . 159)(relation_xor_list . 160)(relation . 
161)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
+      ((aggregate . 150)(attribute_reference . 50)(expression . 1108)(factor . 
152)(name . 153)(primary . 156)(qualified_expression . 53)(relation_and_list . 
157)(relation_and_then_list . 158)(relation_or_list . 
159)(relation_or_else_list . 160)(relation_xor_list . 161)(relation . 
162)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
       nil
-      ((aggregate . 149)(attribute_reference . 50)(expression . 1104)(factor . 
151)(name . 152)(primary . 155)(qualified_expression . 53)(relation_and_list . 
156)(relation_and_then_list . 157)(relation_or_list . 
158)(relation_or_else_list . 159)(relation_xor_list . 160)(relation . 
161)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
+      ((aggregate . 150)(attribute_reference . 50)(expression . 1106)(factor . 
152)(name . 153)(primary . 156)(qualified_expression . 53)(relation_and_list . 
157)(relation_and_then_list . 158)(relation_or_list . 
159)(relation_or_else_list . 160)(relation_xor_list . 161)(relation . 
162)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
       nil
-      ((attribute_reference . 50)(name . 1018)(qualified_expression . 
53)(selected_component . 54))
+      ((attribute_reference . 50)(name . 1020)(qualified_expression . 
53)(selected_component . 54))
       nil
       nil
-      ((aspect_specification_opt . 1101))
+      ((aspect_specification_opt . 1103))
       nil
-      ((attribute_reference . 50)(name . 1100)(qualified_expression . 
53)(selected_component . 54))
-      ((attribute_reference . 50)(name . 729)(qualified_expression . 
53)(selected_component . 54)(subtype_indication . 1099))
+      ((attribute_reference . 50)(name . 1102)(qualified_expression . 
53)(selected_component . 54))
+      ((attribute_reference . 50)(name . 731)(qualified_expression . 
53)(selected_component . 54)(subtype_indication . 1101))
       nil
-      ((direct_name . 1098))
+      ((direct_name . 1100))
       nil
       nil
       nil
       nil
-      ((aspect_clause . 994)(at_clause . 294)(component_declaration . 
995)(component_item . 1093)(enumeration_representation_clause . 
301)(identifier_list . 999)(record_representation_clause . 324)(variant_part . 
1094))
+      ((aspect_clause . 996)(at_clause . 296)(component_declaration . 
997)(component_item . 1095)(enumeration_representation_clause . 
303)(identifier_list . 1001)(record_representation_clause . 326)(variant_part . 
1096))
       nil
       nil
       nil
@@ -3980,57 +3983,57 @@
       nil
       nil
       nil
-      ((real_range_specification_opt . 1087))
-      ((real_range_specification_opt . 1086))
+      ((real_range_specification_opt . 1089))
+      ((real_range_specification_opt . 1088))
       nil
       nil
-      ((identifier_opt . 1083))
-      ((abstract_subprogram_declaration . 292)(aspect_clause . 293)(at_clause 
. 294)(body . 295)(body_stub . 296)(declaration . 297)(declarations . 
298)(declarative_part_opt . 1082)(entry_declaration . 
300)(enumeration_representation_clause . 301)(exception_declaration . 
302)(full_type_declaration . 303)(generic_declaration . 
304)(generic_formal_part . 17)(generic_instantiation . 
305)(generic_package_declaration . 19)(generic_renaming_declaration . 
306)(generic_subprogram_declaration . 2 [...]
+      ((identifier_opt . 1085))
+      ((abstract_subprogram_declaration . 294)(aspect_clause . 295)(at_clause 
. 296)(body . 297)(body_stub . 298)(declaration . 299)(declarations . 
300)(declarative_part_opt . 1084)(entry_declaration . 
302)(enumeration_representation_clause . 303)(exception_declaration . 
304)(full_type_declaration . 305)(generic_declaration . 
306)(generic_formal_part . 17)(generic_instantiation . 
307)(generic_package_declaration . 19)(generic_renaming_declaration . 
308)(generic_subprogram_declaration . 2 [...]
       nil
       nil
       nil
-      ((abstract_subprogram_declaration . 292)(aspect_clause . 293)(at_clause 
. 294)(body . 295)(body_stub . 296)(declaration . 297)(declarations . 
298)(declarative_part_opt . 830)(entry_declaration . 
300)(enumeration_representation_clause . 301)(exception_declaration . 
302)(full_type_declaration . 303)(generic_declaration . 
304)(generic_formal_part . 17)(generic_instantiation . 
305)(generic_package_declaration . 19)(generic_renaming_declaration . 
306)(generic_subprogram_declaration . 21 [...]
-      ((actual_parameter_part . 90)(constraint . 1077)(index_constraint . 798))
+      ((abstract_subprogram_declaration . 294)(aspect_clause . 295)(at_clause 
. 296)(body . 297)(body_stub . 298)(declaration . 299)(declarations . 
300)(declarative_part_opt . 832)(entry_declaration . 
302)(enumeration_representation_clause . 303)(exception_declaration . 
304)(full_type_declaration . 305)(generic_declaration . 
306)(generic_formal_part . 17)(generic_instantiation . 
307)(generic_package_declaration . 19)(generic_renaming_declaration . 
308)(generic_subprogram_declaration . 21 [...]
+      ((actual_parameter_part . 90)(constraint . 1079)(index_constraint . 800))
       nil
       nil
       nil
-      ((identifier_opt . 1076))
-      ((abstract_subprogram_declaration . 292)(aspect_clause . 293)(at_clause 
. 294)(body . 295)(body_stub . 296)(declaration . 297)(declarations . 
298)(declarative_part_opt . 1075)(entry_declaration . 
300)(enumeration_representation_clause . 301)(exception_declaration . 
302)(full_type_declaration . 303)(generic_declaration . 
304)(generic_formal_part . 17)(generic_instantiation . 
305)(generic_package_declaration . 19)(generic_renaming_declaration . 
306)(generic_subprogram_declaration . 2 [...]
+      ((identifier_opt . 1078))
+      ((abstract_subprogram_declaration . 294)(aspect_clause . 295)(at_clause 
. 296)(body . 297)(body_stub . 298)(declaration . 299)(declarations . 
300)(declarative_part_opt . 1077)(entry_declaration . 
302)(enumeration_representation_clause . 303)(exception_declaration . 
304)(full_type_declaration . 305)(generic_declaration . 
306)(generic_formal_part . 17)(generic_instantiation . 
307)(generic_package_declaration . 19)(generic_renaming_declaration . 
308)(generic_subprogram_declaration . 2 [...]
       nil
       nil
-      ((abstract_subprogram_declaration . 292)(aspect_clause . 293)(at_clause 
. 294)(body . 295)(body_stub . 296)(declaration . 297)(declarations . 
298)(declarative_part_opt . 822)(entry_declaration . 
300)(enumeration_representation_clause . 301)(exception_declaration . 
302)(full_type_declaration . 303)(generic_declaration . 
304)(generic_formal_part . 17)(generic_instantiation . 
305)(generic_package_declaration . 19)(generic_renaming_declaration . 
306)(generic_subprogram_declaration . 21 [...]
+      ((abstract_subprogram_declaration . 294)(aspect_clause . 295)(at_clause 
. 296)(body . 297)(body_stub . 298)(declaration . 299)(declarations . 
300)(declarative_part_opt . 824)(entry_declaration . 
302)(enumeration_representation_clause . 303)(exception_declaration . 
304)(full_type_declaration . 305)(generic_declaration . 
306)(generic_formal_part . 17)(generic_instantiation . 
307)(generic_package_declaration . 19)(generic_renaming_declaration . 
308)(generic_subprogram_declaration . 21 [...]
       nil
       nil
       nil
       nil
-      ((component_clause . 1068))
-      ((aggregate . 149)(attribute_reference . 50)(expression . 1066)(factor . 
151)(name . 152)(primary . 155)(qualified_expression . 53)(relation_and_list . 
156)(relation_and_then_list . 157)(relation_or_list . 
158)(relation_or_else_list . 159)(relation_xor_list . 160)(relation . 
161)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
-      ((actual_parameter_part . 90)(aspect_specification_opt . 1065))
+      ((component_clause . 1070))
+      ((aggregate . 150)(attribute_reference . 50)(expression . 1068)(factor . 
152)(name . 153)(primary . 156)(qualified_expression . 53)(relation_and_list . 
157)(relation_and_then_list . 158)(relation_or_list . 
159)(relation_or_else_list . 160)(relation_xor_list . 161)(relation . 
162)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
+      ((actual_parameter_part . 90)(aspect_specification_opt . 1067))
       nil
       nil
-      ((access_definition . 1059)(attribute_reference . 
50)(component_definition . 1062)(name . 729)(null_exclusion_opt . 
209)(qualified_expression . 53)(selected_component . 54)(subtype_indication . 
1061))
+      ((access_definition . 1061)(attribute_reference . 
50)(component_definition . 1064)(name . 731)(null_exclusion_opt . 
211)(qualified_expression . 53)(selected_component . 54)(subtype_indication . 
1063))
       nil
-      ((access_definition . 1059)(attribute_reference . 
50)(component_definition . 1060)(name . 729)(null_exclusion_opt . 
209)(qualified_expression . 53)(selected_component . 54)(subtype_indication . 
1061))
+      ((access_definition . 1061)(attribute_reference . 
50)(component_definition . 1062)(name . 731)(null_exclusion_opt . 
211)(qualified_expression . 53)(selected_component . 54)(subtype_indication . 
1063))
       nil
       ((actual_parameter_part . 90))
       nil
-      ((aggregate . 149)(attribute_reference . 50)(name . 152)(primary . 
283)(qualified_expression . 53)(selected_component . 54))
+      ((aggregate . 150)(attribute_reference . 50)(name . 153)(primary . 
285)(qualified_expression . 53)(selected_component . 54))
       nil
       nil
-      ((attribute_reference . 50)(name . 1054)(qualified_expression . 
53)(selected_component . 54))
+      ((attribute_reference . 50)(name . 1056)(qualified_expression . 
53)(selected_component . 54))
       nil
       nil
       nil
       nil
       nil
-      ((aggregate . 149)(attribute_reference . 50)(expression . 1052)(factor . 
151)(name . 152)(primary . 155)(qualified_expression . 53)(relation_and_list . 
156)(relation_and_then_list . 157)(relation_or_list . 
158)(relation_or_else_list . 159)(relation_xor_list . 160)(relation . 
161)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
+      ((aggregate . 150)(attribute_reference . 50)(expression . 1054)(factor . 
152)(name . 153)(primary . 156)(qualified_expression . 53)(relation_and_list . 
157)(relation_and_then_list . 158)(relation_or_list . 
159)(relation_or_else_list . 160)(relation_xor_list . 161)(relation . 
162)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
       nil
       nil
       ((actual_parameter_part . 90))
       nil
-      ((attribute_reference . 50)(name . 1215)(qualified_expression . 
53)(selected_component . 54))
+      ((attribute_reference . 50)(name . 1217)(qualified_expression . 
53)(selected_component . 54))
       nil
-      ((access_definition . 1213)(attribute_reference . 50)(name . 
729)(null_exclusion_opt . 209)(qualified_expression . 53)(selected_component . 
54)(subtype_indication . 1214))
+      ((access_definition . 1215)(attribute_reference . 50)(name . 
731)(null_exclusion_opt . 211)(qualified_expression . 53)(selected_component . 
54)(subtype_indication . 1216))
       nil
       nil
       nil
@@ -4041,29 +4044,29 @@
       nil
       nil
       nil
-      ((aggregate . 149)(attribute_reference . 50)(factor . 151)(name . 
152)(primary . 155)(qualified_expression . 53)(selected_component . 
54)(simple_expression . 1209)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
+      ((aggregate . 150)(attribute_reference . 50)(factor . 152)(name . 
153)(primary . 156)(qualified_expression . 53)(selected_component . 
54)(simple_expression . 1211)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
       nil
-      ((attribute_reference . 50)(interface_list . 1208)(name . 
790)(qualified_expression . 53)(selected_component . 54))
+      ((attribute_reference . 50)(interface_list . 1210)(name . 
792)(qualified_expression . 53)(selected_component . 54))
       nil
       nil
-      ((abstract_subprogram_declaration . 292)(aspect_clause . 293)(at_clause 
. 294)(body . 295)(body_stub . 296)(declaration . 297)(declarations . 
298)(declarative_part_opt . 822)(entry_declaration . 
300)(enumeration_representation_clause . 301)(exception_declaration . 
302)(full_type_declaration . 303)(generic_declaration . 
304)(generic_formal_part . 17)(generic_instantiation . 
305)(generic_package_declaration . 19)(generic_renaming_declaration . 
306)(generic_subprogram_declaration . 21 [...]
+      ((abstract_subprogram_declaration . 294)(aspect_clause . 295)(at_clause 
. 296)(body . 297)(body_stub . 298)(declaration . 299)(declarations . 
300)(declarative_part_opt . 824)(entry_declaration . 
302)(enumeration_representation_clause . 303)(exception_declaration . 
304)(full_type_declaration . 305)(generic_declaration . 
306)(generic_formal_part . 17)(generic_instantiation . 
307)(generic_package_declaration . 19)(generic_renaming_declaration . 
308)(generic_subprogram_declaration . 21 [...]
       nil
       nil
       nil
-      ((attribute_reference . 50)(interface_list . 1204)(name . 
790)(qualified_expression . 53)(selected_component . 54))
+      ((attribute_reference . 50)(interface_list . 1206)(name . 
792)(qualified_expression . 53)(selected_component . 54))
       nil
       nil
-      ((abstract_subprogram_declaration . 292)(aspect_clause . 293)(at_clause 
. 294)(body . 295)(body_stub . 296)(declaration . 297)(declarations . 
298)(declarative_part_opt . 830)(entry_declaration . 
300)(enumeration_representation_clause . 301)(exception_declaration . 
302)(full_type_declaration . 303)(generic_declaration . 
304)(generic_formal_part . 17)(generic_instantiation . 
305)(generic_package_declaration . 19)(generic_renaming_declaration . 
306)(generic_subprogram_declaration . 21 [...]
+      ((abstract_subprogram_declaration . 294)(aspect_clause . 295)(at_clause 
. 296)(body . 297)(body_stub . 298)(declaration . 299)(declarations . 
300)(declarative_part_opt . 832)(entry_declaration . 
302)(enumeration_representation_clause . 303)(exception_declaration . 
304)(full_type_declaration . 305)(generic_declaration . 
306)(generic_formal_part . 17)(generic_instantiation . 
307)(generic_package_declaration . 19)(generic_renaming_declaration . 
308)(generic_subprogram_declaration . 21 [...]
       nil
       nil
-      ((aggregate . 149)(attribute_reference . 50)(expression . 1200)(factor . 
151)(name . 152)(primary . 155)(qualified_expression . 53)(relation_and_list . 
156)(relation_and_then_list . 157)(relation_or_list . 
158)(relation_or_else_list . 159)(relation_xor_list . 160)(relation . 
161)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
-      ((aggregate . 149)(attribute_reference . 50)(factor . 151)(name . 
152)(primary . 155)(qualified_expression . 53)(selected_component . 
54)(simple_expression . 1199)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
+      ((aggregate . 150)(attribute_reference . 50)(expression . 1202)(factor . 
152)(name . 153)(primary . 156)(qualified_expression . 53)(relation_and_list . 
157)(relation_and_then_list . 158)(relation_or_list . 
159)(relation_or_else_list . 160)(relation_xor_list . 161)(relation . 
162)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
+      ((aggregate . 150)(attribute_reference . 50)(factor . 152)(name . 
153)(primary . 156)(qualified_expression . 53)(selected_component . 
54)(simple_expression . 1201)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
       nil
       nil
-      ((enumeration_literal . 1198))
+      ((enumeration_literal . 1200))
       nil
-      ((aggregate . 149)(attribute_reference . 50)(factor . 151)(name . 
152)(primary . 155)(qualified_expression . 53)(selected_component . 
54)(simple_expression . 1197)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
-      ((access_definition . 1059)(attribute_reference . 
50)(component_definition . 1196)(name . 729)(null_exclusion_opt . 
209)(qualified_expression . 53)(selected_component . 54)(subtype_indication . 
1061))
+      ((aggregate . 150)(attribute_reference . 50)(factor . 152)(name . 
153)(primary . 156)(qualified_expression . 53)(selected_component . 
54)(simple_expression . 1199)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
+      ((access_definition . 1061)(attribute_reference . 
50)(component_definition . 1198)(name . 731)(null_exclusion_opt . 
211)(qualified_expression . 53)(selected_component . 54)(subtype_indication . 
1063))
       nil
       nil
       nil
@@ -4071,46 +4074,46 @@
       nil
       nil
       nil
-      ((and_interface_list_opt . 1193))
-      ((actual_parameter_part . 90)(and_interface_list_opt . 1190)(constraint 
. 1191)(constraint_opt . 1192)(index_constraint . 798))
+      ((and_interface_list_opt . 1195))
+      ((actual_parameter_part . 90)(and_interface_list_opt . 1192)(constraint 
. 1193)(constraint_opt . 1194)(index_constraint . 800))
       nil
       nil
       nil
-      ((aspect_specification_opt . 1187))
+      ((aspect_specification_opt . 1189))
       nil
-      ((aspect_specification_opt . 1186))
+      ((aspect_specification_opt . 1188))
       nil
-      ((aspect_specification_opt . 1185))
-      ((aspect_specification_opt . 1184))
+      ((aspect_specification_opt . 1187))
+      ((aspect_specification_opt . 1186))
       nil
       nil
-      ((attribute_reference . 50)(name . 1183)(qualified_expression . 
53)(selected_component . 54))
+      ((attribute_reference . 50)(name . 1185)(qualified_expression . 
53)(selected_component . 54))
       ((actual_parameter_part . 90))
-      ((aggregate . 149)(attribute_reference . 50)(expression . 1182)(factor . 
151)(name . 152)(primary . 155)(qualified_expression . 53)(relation_and_list . 
156)(relation_and_then_list . 157)(relation_or_list . 
158)(relation_or_else_list . 159)(relation_xor_list . 160)(relation . 
161)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
+      ((aggregate . 150)(attribute_reference . 50)(expression . 1184)(factor . 
152)(name . 153)(primary . 156)(qualified_expression . 53)(relation_and_list . 
157)(relation_and_then_list . 158)(relation_or_list . 
159)(relation_or_else_list . 160)(relation_xor_list . 161)(relation . 
162)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
       nil
-      ((identifier_opt . 1181))
+      ((identifier_opt . 1183))
       nil
-      ((aspect_specification_opt . 128))
-      ((entry_body_formal_part . 1179)(formal_part . 
115)(parameter_profile_opt . 1180))
-      ((accept_statement . 623)(assignment_statement . 
624)(asynchronous_select . 625)(attribute_reference . 50)(block_statement . 
626)(case_statement . 627)(conditional_entry_call . 628)(delay_statement . 
629)(exit_statement . 630)(extended_return_statement . 
631)(handled_sequence_of_statements . 1177)(if_statement . 
633)(iteration_scheme . 634)(label_opt . 635)(loop_statement . 636)(name . 
637)(pragma . 638)(procedure_call_statement . 639)(qualified_expression . 
53)(raise_statement . 6 [...]
+      ((aspect_specification_opt . 127))
+      ((entry_body_formal_part . 1181)(formal_part . 
115)(parameter_profile_opt . 1182))
+      ((accept_statement . 626)(assignment_statement . 
627)(asynchronous_select . 628)(attribute_reference . 50)(block_statement . 
629)(case_statement . 630)(conditional_entry_call . 631)(delay_statement . 
632)(exit_statement . 633)(extended_return_statement . 
634)(handled_sequence_of_statements . 1179)(if_statement . 
636)(iteration_scheme . 637)(label_opt . 638)(loop_statement . 639)(name . 
640)(pragma . 641)(procedure_call_statement . 642)(qualified_expression . 
53)(raise_statement . 6 [...]
       nil
-      ((accept_statement . 623)(assignment_statement . 
624)(asynchronous_select . 625)(attribute_reference . 50)(block_statement . 
626)(case_statement . 627)(conditional_entry_call . 628)(delay_statement . 
629)(exit_statement . 630)(extended_return_statement . 
631)(handled_sequence_of_statements . 1176)(if_statement . 
633)(iteration_scheme . 634)(label_opt . 635)(loop_statement . 636)(name . 
637)(pragma . 638)(procedure_call_statement . 639)(qualified_expression . 
53)(raise_statement . 6 [...]
+      ((accept_statement . 626)(assignment_statement . 
627)(asynchronous_select . 628)(attribute_reference . 50)(block_statement . 
629)(case_statement . 630)(conditional_entry_call . 631)(delay_statement . 
632)(exit_statement . 633)(extended_return_statement . 
634)(handled_sequence_of_statements . 1178)(if_statement . 
636)(iteration_scheme . 637)(label_opt . 638)(loop_statement . 639)(name . 
640)(pragma . 641)(procedure_call_statement . 642)(qualified_expression . 
53)(raise_statement . 6 [...]
       nil
       nil
       nil
       nil
-      ((identifier_opt . 1173))
+      ((identifier_opt . 1175))
       nil
-      ((accept_statement . 623)(assignment_statement . 
624)(asynchronous_select . 625)(attribute_reference . 50)(block_statement . 
626)(case_statement . 627)(conditional_entry_call . 628)(delay_statement . 
629)(exit_statement . 630)(extended_return_statement . 631)(if_statement . 
633)(iteration_scheme . 634)(label_opt . 635)(loop_statement . 636)(name . 
637)(pragma . 638)(procedure_call_statement . 639)(qualified_expression . 
53)(raise_statement . 640)(requeue_statement . 641)(selected_c [...]
-      ((aggregate . 149)(attribute_reference . 50)(expression . 
182)(expression_opt . 1171)(factor . 151)(name . 152)(primary . 
155)(qualified_expression . 53)(relation_and_list . 156)(relation_and_then_list 
. 157)(relation_or_list . 158)(relation_or_else_list . 159)(relation_xor_list . 
160)(relation . 161)(selected_component . 54)(simple_expression . 162)(term . 
163)(term_list . 164)(unary_adding_operator . 165))
+      ((accept_statement . 626)(assignment_statement . 
627)(asynchronous_select . 628)(attribute_reference . 50)(block_statement . 
629)(case_statement . 630)(conditional_entry_call . 631)(delay_statement . 
632)(exit_statement . 633)(extended_return_statement . 634)(if_statement . 
636)(iteration_scheme . 637)(label_opt . 638)(loop_statement . 639)(name . 
640)(pragma . 641)(procedure_call_statement . 642)(qualified_expression . 
53)(raise_statement . 643)(requeue_statement . 644)(selected_c [...]
+      ((aggregate . 150)(attribute_reference . 50)(expression . 
183)(expression_opt . 1173)(factor . 152)(name . 153)(primary . 
156)(qualified_expression . 53)(relation_and_list . 157)(relation_and_then_list 
. 158)(relation_or_list . 159)(relation_or_else_list . 160)(relation_xor_list . 
161)(relation . 162)(selected_component . 54)(simple_expression . 163)(term . 
164)(term_list . 165)(unary_adding_operator . 166))
       nil
       nil
-      ((elsif_statement_item . 1169))
+      ((elsif_statement_item . 1171))
       nil
       nil
       nil
       nil
-      ((access_definition . 1162)(attribute_reference . 50)(name . 
729)(null_exclusion_opt . 209)(qualified_expression . 
53)(return_subtype_indication . 1163)(selected_component . 
54)(subtype_indication . 1164))
+      ((access_definition . 1164)(attribute_reference . 50)(name . 
731)(null_exclusion_opt . 211)(qualified_expression . 
53)(return_subtype_indication . 1165)(selected_component . 
54)(subtype_indication . 1166))
       nil
       nil
       nil
@@ -4118,12 +4121,12 @@
       nil
       nil
       nil
-      ((accept_statement . 623)(assignment_statement . 
624)(asynchronous_select . 625)(attribute_reference . 50)(block_statement . 
626)(case_statement . 627)(conditional_entry_call . 628)(delay_statement . 
629)(exit_statement . 630)(extended_return_statement . 631)(if_statement . 
633)(iteration_scheme . 634)(label_opt . 635)(loop_statement . 636)(name . 
637)(pragma . 638)(procedure_call_statement . 639)(qualified_expression . 
53)(raise_statement . 640)(requeue_statement . 641)(selected_c [...]
+      ((accept_statement . 626)(assignment_statement . 
627)(asynchronous_select . 628)(attribute_reference . 50)(block_statement . 
629)(case_statement . 630)(conditional_entry_call . 631)(delay_statement . 
632)(exit_statement . 633)(extended_return_statement . 634)(if_statement . 
636)(iteration_scheme . 637)(label_opt . 638)(loop_statement . 639)(name . 
640)(pragma . 641)(procedure_call_statement . 642)(qualified_expression . 
53)(raise_statement . 643)(requeue_statement . 644)(selected_c [...]
       nil
-      ((identifier_opt . 1155))
-      ((attribute_reference . 50)(exception_choice . 1154)(name . 
927)(qualified_expression . 53)(selected_component . 54))
-      ((accept_statement . 623)(assignment_statement . 
624)(asynchronous_select . 625)(attribute_reference . 50)(block_statement . 
626)(case_statement . 627)(conditional_entry_call . 628)(delay_statement . 
629)(exit_statement . 630)(extended_return_statement . 631)(if_statement . 
633)(iteration_scheme . 634)(label_opt . 635)(loop_statement . 636)(name . 
637)(pragma . 638)(procedure_call_statement . 639)(qualified_expression . 
53)(raise_statement . 640)(requeue_statement . 641)(selected_c [...]
-      ((attribute_reference . 50)(exception_choice . 
925)(exception_choice_list . 1152)(name . 927)(qualified_expression . 
53)(selected_component . 54))
+      ((identifier_opt . 1157))
+      ((attribute_reference . 50)(exception_choice . 1156)(name . 
929)(qualified_expression . 53)(selected_component . 54))
+      ((accept_statement . 626)(assignment_statement . 
627)(asynchronous_select . 628)(attribute_reference . 50)(block_statement . 
629)(case_statement . 630)(conditional_entry_call . 631)(delay_statement . 
632)(exit_statement . 633)(extended_return_statement . 634)(if_statement . 
636)(iteration_scheme . 637)(label_opt . 638)(loop_statement . 639)(name . 
640)(pragma . 641)(procedure_call_statement . 642)(qualified_expression . 
53)(raise_statement . 643)(requeue_statement . 644)(selected_c [...]
+      ((attribute_reference . 50)(exception_choice . 
927)(exception_choice_list . 1154)(name . 929)(qualified_expression . 
53)(selected_component . 54))
       nil
       nil
       nil
@@ -4139,18 +4142,18 @@
       nil
       nil
       nil
-      ((accept_statement . 623)(assignment_statement . 
624)(asynchronous_select . 625)(attribute_reference . 50)(block_statement . 
626)(case_statement . 627)(conditional_entry_call . 628)(delay_statement . 
629)(exit_statement . 630)(extended_return_statement . 631)(if_statement . 
633)(iteration_scheme . 634)(label_opt . 635)(loop_statement . 636)(name . 
637)(pragma . 638)(procedure_call_statement . 639)(qualified_expression . 
53)(raise_statement . 640)(requeue_statement . 641)(selected_c [...]
+      ((accept_statement . 626)(assignment_statement . 
627)(asynchronous_select . 628)(attribute_reference . 50)(block_statement . 
629)(case_statement . 630)(conditional_entry_call . 631)(delay_statement . 
632)(exit_statement . 633)(extended_return_statement . 634)(if_statement . 
636)(iteration_scheme . 637)(label_opt . 638)(loop_statement . 639)(name . 
640)(pragma . 641)(procedure_call_statement . 642)(qualified_expression . 
53)(raise_statement . 643)(requeue_statement . 644)(selected_c [...]
       nil
       nil
       nil
       nil
       nil
       nil
-      ((accept_statement . 623)(assignment_statement . 
624)(asynchronous_select . 625)(attribute_reference . 50)(block_statement . 
626)(case_statement . 627)(conditional_entry_call . 628)(delay_statement . 
629)(exit_statement . 630)(extended_return_statement . 631)(if_statement . 
633)(iteration_scheme . 634)(label_opt . 635)(loop_statement . 636)(name . 
637)(pragma . 638)(procedure_call_statement . 639)(qualified_expression . 
53)(raise_statement . 640)(requeue_statement . 641)(selected_c [...]
+      ((accept_statement . 626)(assignment_statement . 
627)(asynchronous_select . 628)(attribute_reference . 50)(block_statement . 
629)(case_statement . 630)(conditional_entry_call . 631)(delay_statement . 
632)(exit_statement . 633)(extended_return_statement . 634)(if_statement . 
636)(iteration_scheme . 637)(label_opt . 638)(loop_statement . 639)(name . 
640)(pragma . 641)(procedure_call_statement . 642)(qualified_expression . 
53)(raise_statement . 643)(requeue_statement . 644)(selected_c [...]
       nil
       nil
       nil
-      ((identifier_list . 211)(parameter_specification . 
212)(parameter_specification_list . 213))
+      ((identifier_list . 213)(parameter_specification . 
214)(parameter_specification_list . 215))
       nil
       nil
       nil
@@ -4161,23 +4164,23 @@
       nil
       nil
       nil
-      ((attribute_reference . 50)(interface_list . 1233)(name . 
790)(qualified_expression . 53)(selected_component . 54))
+      ((attribute_reference . 50)(interface_list . 1235)(name . 
792)(qualified_expression . 53)(selected_component . 54))
       nil
       nil
       nil
       nil
-      ((variant_list . 1229)(variant . 1230))
+      ((variant_list . 1231)(variant . 1232))
       nil
-      ((aspect_specification_opt . 1227))
+      ((aspect_specification_opt . 1229))
       nil
       nil
       nil
-      ((real_range_specification_opt . 1224))
-      ((identifier_opt . 1223))
+      ((real_range_specification_opt . 1226))
+      ((identifier_opt . 1225))
       nil
       nil
       nil
-      ((identifier_opt . 1220))
+      ((identifier_opt . 1222))
       nil
       nil
       nil
@@ -4187,50 +4190,50 @@
       nil
       nil
       nil
-      ((actual_parameter_part . 90)(constraint . 1077)(index_constraint . 798))
+      ((actual_parameter_part . 90)(constraint . 1079)(index_constraint . 800))
       nil
-      ((aggregate . 149)(attribute_reference . 50)(factor . 151)(name . 
152)(primary . 155)(qualified_expression . 53)(selected_component . 
54)(simple_expression . 1280)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
-      ((abstract_subprogram_declaration . 292)(aspect_clause . 293)(at_clause 
. 294)(body . 295)(body_stub . 296)(declaration . 297)(declarations . 
298)(declarative_part_opt . 822)(entry_declaration . 
300)(enumeration_representation_clause . 301)(exception_declaration . 
302)(full_type_declaration . 303)(generic_declaration . 
304)(generic_formal_part . 17)(generic_instantiation . 
305)(generic_package_declaration . 19)(generic_renaming_declaration . 
306)(generic_subprogram_declaration . 21 [...]
+      ((aggregate . 150)(attribute_reference . 50)(factor . 152)(name . 
153)(primary . 156)(qualified_expression . 53)(selected_component . 
54)(simple_expression . 1282)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
+      ((abstract_subprogram_declaration . 294)(aspect_clause . 295)(at_clause 
. 296)(body . 297)(body_stub . 298)(declaration . 299)(declarations . 
300)(declarative_part_opt . 824)(entry_declaration . 
302)(enumeration_representation_clause . 303)(exception_declaration . 
304)(full_type_declaration . 305)(generic_declaration . 
306)(generic_formal_part . 17)(generic_instantiation . 
307)(generic_package_declaration . 19)(generic_renaming_declaration . 
308)(generic_subprogram_declaration . 21 [...]
       nil
       nil
-      ((abstract_subprogram_declaration . 292)(aspect_clause . 293)(at_clause 
. 294)(body . 295)(body_stub . 296)(declaration . 297)(declarations . 
298)(declarative_part_opt . 830)(entry_declaration . 
300)(enumeration_representation_clause . 301)(exception_declaration . 
302)(full_type_declaration . 303)(generic_declaration . 
304)(generic_formal_part . 17)(generic_instantiation . 
305)(generic_package_declaration . 19)(generic_renaming_declaration . 
306)(generic_subprogram_declaration . 21 [...]
+      ((abstract_subprogram_declaration . 294)(aspect_clause . 295)(at_clause 
. 296)(body . 297)(body_stub . 298)(declaration . 299)(declarations . 
300)(declarative_part_opt . 832)(entry_declaration . 
302)(enumeration_representation_clause . 303)(exception_declaration . 
304)(full_type_declaration . 305)(generic_declaration . 
306)(generic_formal_part . 17)(generic_instantiation . 
307)(generic_package_declaration . 19)(generic_renaming_declaration . 
308)(generic_subprogram_declaration . 21 [...]
       nil
       nil
       nil
-      ((aggregate . 149)(attribute_reference . 50)(factor . 151)(name . 
152)(primary . 155)(qualified_expression . 53)(selected_component . 
54)(simple_expression . 1277)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
-      ((aggregate . 149)(attribute_reference . 50)(expression . 1276)(factor . 
151)(name . 152)(primary . 155)(qualified_expression . 53)(relation_and_list . 
156)(relation_and_then_list . 157)(relation_or_list . 
158)(relation_or_else_list . 159)(relation_xor_list . 160)(relation . 
161)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
+      ((aggregate . 150)(attribute_reference . 50)(factor . 152)(name . 
153)(primary . 156)(qualified_expression . 53)(selected_component . 
54)(simple_expression . 1279)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
+      ((aggregate . 150)(attribute_reference . 50)(expression . 1278)(factor . 
152)(name . 153)(primary . 156)(qualified_expression . 53)(relation_and_list . 
157)(relation_and_then_list . 158)(relation_or_list . 
159)(relation_or_else_list . 160)(relation_xor_list . 161)(relation . 
162)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
       nil
-      ((aggregate . 149)(attribute_reference . 50)(choice_expression . 
173)(choice_relation_and_list . 174)(choice_relation_or_list . 
175)(choice_relation_xor_list . 176)(choice_relation_and_then_list . 
177)(choice_relation_or_else_list . 178)(choice_relation . 179)(discrete_choice 
. 180)(discrete_choice_list . 1274)(factor . 151)(name . 184)(primary . 
155)(qualified_expression . 53)(range . 185)(selected_component . 
54)(simple_expression . 454)(term . 163)(term_list . 164)(unary_adding_ [...]
-      ((variant . 1273))
+      ((aggregate . 150)(attribute_reference . 50)(choice_expression . 
174)(choice_relation_and_list . 175)(choice_relation_or_list . 
176)(choice_relation_xor_list . 177)(choice_relation_and_then_list . 
178)(choice_relation_or_else_list . 179)(choice_relation . 180)(discrete_choice 
. 181)(discrete_choice_list . 1276)(factor . 152)(name . 185)(primary . 
156)(qualified_expression . 53)(range . 186)(selected_component . 
54)(simple_expression . 456)(term . 164)(term_list . 165)(unary_adding_ [...]
+      ((variant . 1275))
       nil
       nil
-      ((record_definition . 1270))
+      ((record_definition . 1272))
       nil
       nil
       nil
       nil
       nil
       nil
-      ((aggregate . 149)(attribute_reference . 50)(expression . 
182)(expression_opt . 1269)(factor . 151)(name . 152)(primary . 
155)(qualified_expression . 53)(relation_and_list . 156)(relation_and_then_list 
. 157)(relation_or_list . 158)(relation_or_else_list . 159)(relation_xor_list . 
160)(relation . 161)(selected_component . 54)(simple_expression . 162)(term . 
163)(term_list . 164)(unary_adding_operator . 165))
+      ((aggregate . 150)(attribute_reference . 50)(expression . 
183)(expression_opt . 1271)(factor . 152)(name . 153)(primary . 
156)(qualified_expression . 53)(relation_and_list . 157)(relation_and_then_list 
. 158)(relation_or_list . 159)(relation_or_else_list . 160)(relation_xor_list . 
161)(relation . 162)(selected_component . 54)(simple_expression . 163)(term . 
164)(term_list . 165)(unary_adding_operator . 166))
       nil
-      ((identifier_opt . 1267))
-      ((identifier_opt . 1266))
+      ((identifier_opt . 1269))
+      ((identifier_opt . 1268))
       nil
       nil
       nil
       nil
-      ((accept_statement . 623)(assignment_statement . 
624)(asynchronous_select . 625)(attribute_reference . 50)(block_statement . 
626)(case_statement . 627)(conditional_entry_call . 628)(delay_statement . 
629)(exit_statement . 630)(extended_return_statement . 631)(if_statement . 
633)(iteration_scheme . 634)(label_opt . 635)(loop_statement . 636)(name . 
637)(pragma . 638)(procedure_call_statement . 639)(qualified_expression . 
53)(raise_statement . 640)(requeue_statement . 641)(selected_c [...]
+      ((accept_statement . 626)(assignment_statement . 
627)(asynchronous_select . 628)(attribute_reference . 50)(block_statement . 
629)(case_statement . 630)(conditional_entry_call . 631)(delay_statement . 
632)(exit_statement . 633)(extended_return_statement . 634)(if_statement . 
636)(iteration_scheme . 637)(label_opt . 638)(loop_statement . 639)(name . 
640)(pragma . 641)(procedure_call_statement . 642)(qualified_expression . 
53)(raise_statement . 643)(requeue_statement . 644)(selected_c [...]
       nil
       nil
       nil
       nil
-      ((aggregate . 149)(attribute_reference . 50)(expression . 1261)(factor . 
151)(name . 152)(primary . 155)(qualified_expression . 53)(relation_and_list . 
156)(relation_and_then_list . 157)(relation_or_list . 
158)(relation_or_else_list . 159)(relation_xor_list . 160)(relation . 
161)(selected_component . 54)(simple_expression . 162)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
+      ((aggregate . 150)(attribute_reference . 50)(expression . 1263)(factor . 
152)(name . 153)(primary . 156)(qualified_expression . 53)(relation_and_list . 
157)(relation_and_then_list . 158)(relation_or_list . 
159)(relation_or_else_list . 160)(relation_xor_list . 161)(relation . 
162)(selected_component . 54)(simple_expression . 163)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
       nil
       nil
       nil
       nil
       nil
-      ((accept_statement . 623)(assignment_statement . 
624)(asynchronous_select . 625)(attribute_reference . 50)(block_statement . 
626)(case_statement . 627)(conditional_entry_call . 628)(delay_statement . 
629)(exit_statement . 630)(extended_return_statement . 631)(if_statement . 
633)(iteration_scheme . 634)(label_opt . 635)(loop_statement . 636)(name . 
637)(pragma . 638)(procedure_call_statement . 639)(qualified_expression . 
53)(raise_statement . 640)(requeue_statement . 641)(selected_c [...]
+      ((accept_statement . 626)(assignment_statement . 
627)(asynchronous_select . 628)(attribute_reference . 50)(block_statement . 
629)(case_statement . 630)(conditional_entry_call . 631)(delay_statement . 
632)(exit_statement . 633)(extended_return_statement . 634)(if_statement . 
636)(iteration_scheme . 637)(label_opt . 638)(loop_statement . 639)(name . 
640)(pragma . 641)(procedure_call_statement . 642)(qualified_expression . 
53)(raise_statement . 643)(requeue_statement . 644)(selected_c [...]
       nil
       nil
       nil
@@ -4243,25 +4246,25 @@
       nil
       nil
       nil
-      ((aspect_specification_opt . 1287))
+      ((aspect_specification_opt . 1289))
       nil
       nil
       nil
       nil
-      ((aspect_specification_opt . 1284))
+      ((aspect_specification_opt . 1286))
       nil
       nil
       nil
       nil
-      ((aggregate . 149)(attribute_reference . 50)(factor . 151)(name . 
152)(primary . 155)(qualified_expression . 53)(selected_component . 
54)(simple_expression . 1301)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
+      ((aggregate . 150)(attribute_reference . 50)(factor . 152)(name . 
153)(primary . 156)(qualified_expression . 53)(selected_component . 
54)(simple_expression . 1303)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
       nil
       nil
       nil
-      ((aspect_clause . 994)(at_clause . 294)(component_declaration . 
995)(component_item . 996)(component_list . 
1299)(enumeration_representation_clause . 301)(identifier_list . 
999)(record_representation_clause . 324)(variant_part . 1000))
+      ((aspect_clause . 996)(at_clause . 296)(component_declaration . 
997)(component_item . 998)(component_list . 
1301)(enumeration_representation_clause . 303)(identifier_list . 
1001)(record_representation_clause . 326)(variant_part . 1002))
       nil
       nil
-      ((abstract_subprogram_declaration . 292)(aspect_clause . 293)(at_clause 
. 294)(body . 295)(body_stub . 296)(declaration . 297)(declarations . 
298)(declarative_part_opt . 1296)(entry_declaration . 
300)(enumeration_representation_clause . 301)(exception_declaration . 
302)(full_type_declaration . 303)(generic_declaration . 
304)(generic_formal_part . 17)(generic_instantiation . 
305)(generic_package_declaration . 19)(generic_renaming_declaration . 
306)(generic_subprogram_declaration . 2 [...]
-      ((aggregate . 149)(attribute_reference . 50)(discrete_subtype_definition 
. 1295)(factor . 151)(name . 863)(primary . 155)(qualified_expression . 
53)(range . 756)(selected_component . 54)(simple_expression . 
757)(subtype_indication . 758)(term . 163)(term_list . 
164)(unary_adding_operator . 165))
+      ((abstract_subprogram_declaration . 294)(aspect_clause . 295)(at_clause 
. 296)(body . 297)(body_stub . 298)(declaration . 299)(declarations . 
300)(declarative_part_opt . 1298)(entry_declaration . 
302)(enumeration_representation_clause . 303)(exception_declaration . 
304)(full_type_declaration . 305)(generic_declaration . 
306)(generic_formal_part . 17)(generic_instantiation . 
307)(generic_package_declaration . 19)(generic_renaming_declaration . 
308)(generic_subprogram_declaration . 2 [...]
+      ((aggregate . 150)(attribute_reference . 50)(discrete_subtype_definition 
. 1297)(factor . 152)(name . 865)(primary . 156)(qualified_expression . 
53)(range . 758)(selected_component . 54)(simple_expression . 
759)(subtype_indication . 760)(term . 164)(term_list . 
165)(unary_adding_operator . 166))
       nil
       nil
       nil
@@ -4271,15 +4274,15 @@
       nil
       nil
       nil
-      ((aspect_clause . 994)(at_clause . 294)(component_declaration . 
995)(component_item . 1093)(enumeration_representation_clause . 
301)(identifier_list . 999)(record_representation_clause . 324)(variant_part . 
1094))
+      ((aspect_clause . 996)(at_clause . 296)(component_declaration . 
997)(component_item . 1095)(enumeration_representation_clause . 
303)(identifier_list . 1001)(record_representation_clause . 326)(variant_part . 
1096))
       nil
       nil
       nil
-      ((accept_statement . 623)(assignment_statement . 
624)(asynchronous_select . 625)(attribute_reference . 50)(block_statement . 
626)(case_statement . 627)(conditional_entry_call . 628)(delay_statement . 
629)(exit_statement . 630)(extended_return_statement . 
631)(handled_sequence_of_statements . 1306)(if_statement . 
633)(iteration_scheme . 634)(label_opt . 635)(loop_statement . 636)(name . 
637)(pragma . 638)(procedure_call_statement . 639)(qualified_expression . 
53)(raise_statement . 6 [...]
-      ((formal_part . 115)(parameter_profile_opt . 1305))
+      ((accept_statement . 626)(assignment_statement . 
627)(asynchronous_select . 628)(attribute_reference . 50)(block_statement . 
629)(case_statement . 630)(conditional_entry_call . 631)(delay_statement . 
632)(exit_statement . 633)(extended_return_statement . 
634)(handled_sequence_of_statements . 1308)(if_statement . 
636)(iteration_scheme . 637)(label_opt . 638)(loop_statement . 639)(name . 
640)(pragma . 641)(procedure_call_statement . 642)(qualified_expression . 
53)(raise_statement . 6 [...]
+      ((formal_part . 115)(parameter_profile_opt . 1307))
       nil
       nil
-      ((identifier_opt . 1308))
+      ((identifier_opt . 1310))
       nil
       nil]))
   "Parser table.")
diff --git a/ada-mode.el b/ada-mode.el
index 4d6a71b..52f0fa6 100755
--- a/ada-mode.el
+++ b/ada-mode.el
@@ -5,8 +5,8 @@
 ;; Author: Stephen Leake <stephen_leake@member.fsf.org>
 ;; Maintainer: Stephen Leake <stephen_leake@member.fsf.org>
 ;; Keywords FIXME: languages, ada ELPA broken for multiple keywords
-;; Version: 5.1.2
-;; package-requires: ((wisi "1.0.3") (cl-lib "0.4") (emacs "24.2"))
+;; Version: 5.1.3
+;; package-requires: ((wisi "1.0.4") (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)
@@ -167,7 +167,7 @@
 (defun ada-mode-version ()
   "Return Ada mode version."
   (interactive)
-  (let ((version-string "5.1.2"))
+  (let ((version-string "5.1.3"))
     ;; must match:
     ;; ada-mode.texi
     ;; README
@@ -233,8 +233,8 @@ Function to call to adjust the case of Ada keywords."
 Global value is default for project variable `case_keyword'.
 Function to call to adjust the case of Ada keywords."
   :type '(choice (const ada-mixed-case)
-                (const downcase-word)
-                (const upcase-word))
+                (const downcase-region)
+                (const upcase-region))
   :group 'ada
   :safe  'functionp)
 (make-variable-buffer-local 'ada-case-identifier)
@@ -952,9 +952,17 @@ list."
            (car casing))
 
           (t
-           (error
-            "No exception file specified. See variable 
`ada-case-exception-file'")))
-         ))
+           (if ada-prj-current-file
+               (error "No exception file specified; set `casing' in project 
file.")
+             ;; IMPROVEME: could prompt, but then need to write to actual 
project file
+             ;;        (let ((temp
+             ;;               (read-file-name
+             ;;                "No exception file specified; adding to 
project. file: ")))
+             ;;          (message "remember to add %s to project file" temp)
+             ;;          (ada-prj-put 'casing temp)
+             ;;          temp)
+             (error "No exception file specified, and no project active. See 
variable `ada-case-exception-file'.")))
+          )))
 
   (unless word
     (if (use-region-p)
@@ -1099,25 +1107,30 @@ If IN-COMMENT is non-nil, adjust case of words in 
comments."
                 (not (ada-in-numeric-literal-p))
                 ))
 
-      (cond
-       ;; Some attributes are also keywords, but captialized as
-       ;; attributes. So check for attribute first.
-       ((and
-        (not in-comment)
-        (save-excursion
-          (skip-syntax-backward "w_")
-          (eq (char-before) ?')))
-       (ada-case-adjust-identifier))
-
-       ((and
-        (not in-comment)
-        (not (eq typed-char ?_))
-        (ada-after-keyword-p))
-       (funcall ada-case-keyword -1))
-
-       (t (ada-case-adjust-identifier))
-       ))
-    ))
+      ;; The indentation engine may trigger a reparse on
+      ;; non-whitespace changes, but we know we don't need to reparse
+      ;; for this change (assuming the user has not abused case
+      ;; exceptions!).
+      (let ((inhibit-modification-hooks t))
+       (cond
+        ;; Some attributes are also keywords, but captialized as
+        ;; attributes. So check for attribute first.
+        ((and
+          (not in-comment)
+          (save-excursion
+            (skip-syntax-backward "w_")
+            (eq (char-before) ?')))
+         (ada-case-adjust-identifier))
+
+        ((and
+          (not in-comment)
+          (not (eq typed-char ?_))
+          (ada-after-keyword-p))
+         (funcall ada-case-keyword -1))
+
+        (t (ada-case-adjust-identifier))
+        ))
+      )))
 
 (defun ada-case-adjust-at-point (&optional in-comment)
   "Adjust case of word at point, move to end of word.
@@ -1125,7 +1138,10 @@ With prefix arg, adjust case even if in comment."
   (interactive "P")
   (when
       (and (not (eobp))
-          (memq (char-syntax (char-after)) '(?w ?_)))
+          ;; we use '(syntax-after (point))' here, not '(char-syntax
+          ;; (char-after))', because the latter does not respect
+          ;; ada-syntax-propertize.
+          (memq (syntax-class (syntax-after (point))) '(2 3)))
     (skip-syntax-forward "w_"))
   (ada-case-adjust nil in-comment))
 
@@ -1612,41 +1628,40 @@ race conditions with the grammar parser.")
   "Assign `syntax-table' properties in accessible part of buffer.
 In particular, character constants are set to have string syntax."
   ;; (info "(elisp)Syntax Properties")
-  (let ((modified (buffer-modified-p))
-       (buffer-undo-list t)
-       (inhibit-read-only t)
-       (inhibit-point-motion-hooks t)
-       (inhibit-modification-hooks t))
+  ;;
+  ;; called from `syntax-propertize', inside save-excursion 
with-silent-modifications
+  (let ((inhibit-read-only t)
+       (inhibit-point-motion-hooks t))
     (goto-char start)
-    (while (re-search-forward
-           (concat
-            "[^a-zA-Z0-9)]\\('\\)[^'\n]\\('\\)"; 1, 2: character constants, 
not attributes
-            "\\|[^a-zA-Z0-9)]\\('''\\)"; 3: character constant '''
-            "\\|\\(--\\)"; 4: comment start
-            )
-           end t)
-      ;; The help for syntax-propertize-extend-region-functions
-      ;; implies that 'start end' will always include whole lines, in
-      ;; which case we don't need
-      ;; syntax-propertize-extend-region-functions
-      (cond
-       ((match-beginning 1)
-       (put-text-property
-        (match-beginning 1) (match-end 1) 'syntax-table '(7 . ?'))
-       (put-text-property
-        (match-beginning 2) (match-end 2) 'syntax-table '(7 . ?')))
-       ((match-beginning 3)
-       (put-text-property
-        (match-beginning 3) (1+ (match-beginning 3)) 'syntax-table '(7 . ?'))
-       (put-text-property
-        (1- (match-end 3)) (match-end 3) 'syntax-table '(7 . ?')))
-       ((match-beginning 4)
-       (put-text-property
-        (match-beginning 4) (match-end 4) 'syntax-table '(11 . nil)))
-       ))
-    (run-hook-with-args 'ada-syntax-propertize-hook start end)
-    (unless modified
-      (restore-buffer-modified-p nil))))
+    (save-match-data
+      (while (re-search-forward
+             (concat
+              "[^a-zA-Z0-9)]\\('\\)[^'\n]\\('\\)"; 1, 2: character literal, 
not attribute
+              "\\|[^a-zA-Z0-9)]\\('''\\)"; 3: character literal '''
+              "\\|\\(--\\)"; 4: comment start
+              )
+             end t)
+       ;; The help for syntax-propertize-extend-region-functions
+       ;; implies that 'start end' will always include whole lines, in
+       ;; which case we don't need
+       ;; syntax-propertize-extend-region-functions
+       (cond
+        ((match-beginning 1)
+         (put-text-property
+          (match-beginning 1) (match-end 1) 'syntax-table '(7 . ?'))
+         (put-text-property
+          (match-beginning 2) (match-end 2) 'syntax-table '(7 . ?')))
+        ((match-beginning 3)
+         (put-text-property
+          (match-beginning 3) (1+ (match-beginning 3)) 'syntax-table '(7 . ?'))
+         (put-text-property
+          (1- (match-end 3)) (match-end 3) 'syntax-table '(7 . ?')))
+        ((match-beginning 4)
+         (put-text-property
+          (match-beginning 4) (match-end 4) 'syntax-table '(11 . nil)))
+        )))
+    (run-hook-with-args 'ada-syntax-propertize-hook start end))
+  )
 
 (defun ada-in-comment-p (&optional parse-result)
   "Return t if inside a comment.
@@ -1822,8 +1837,10 @@ previously set by a file navigation command."
       ;; This will still be confused by multiple references; we need
       ;; to use compiler cross reference info for more precision.
       (while (not done)
-       (when (search-forward-regexp ff-function-name nil t)
-         (setq found (match-beginning 0)))
+       (if (search-forward-regexp ff-function-name nil t)
+           (setq found (match-beginning 0))
+         ;; not in remainder of buffer
+         (setq done t))
        (if (ada-in-string-or-comment-p)
            (setq found nil)
          (setq done t)))
@@ -1938,8 +1955,14 @@ identifier.  May be an Ada identifier or operator 
function name."
 FILE may be absolute, or on `compilation-search-path'.
 
 If OTHER-WINDOW is non-nil, show the buffer in another window."
-  (or (file-name-absolute-p file)
-      (setq file (ff-get-file-name compilation-search-path file)))
+  (let ((file-1
+        (if (file-name-absolute-p file) file
+          (ff-get-file-name compilation-search-path file))))
+    (if file-1
+       (setq file file-1)
+      (error "File %s not found; installed library, or set project?" file))
+    )
+
   (let ((buffer (get-file-buffer file)))
     (cond
      ((bufferp buffer)
@@ -1989,7 +2012,7 @@ If OTHER-WINDOW is non-nil, show the buffer in another 
window."
   "Function that returns cross reference information.
 Function is called with four arguments:
 - an Ada identifier or operator_symbol
-- filename containing the identifier
+- filename containing the identifier (full path)
 - line number containing the identifier
 - column of the start of the identifier
 Returns a list '(file line column) giving the corresponding location.
@@ -2011,7 +2034,7 @@ buffer in another window."
     (let ((target
           (funcall ada-xref-other-function
                    (ada-identifier-at-point)
-                   (file-name-nondirectory (buffer-file-name))
+                   (buffer-file-name)
                    (line-number-at-pos)
                    (1+ (current-column))
                    )))
@@ -2067,9 +2090,7 @@ identifier is declared or referenced.")
           (ada-identifier-at-point)
           (file-name-nondirectory (buffer-file-name))
           (line-number-at-pos)
-          (cl-case (char-after)
-            (?\" (+ 2 (current-column))) ;; FIXME: work around bug in gnat find
-            (t (1+ (current-column)))))
+          (1+ (current-column)))
   )
 
 (defvar ada-xref-overriding-function nil
@@ -2281,30 +2302,33 @@ into a subprogram body stub, by calling 
`ada-make-subprogram-body'."
     (error "`ada-make-subprogram-body' not set")))
 
 (defvar ada-make-package-body nil
-  ;; Supplied by compiler
+  ;; Supplied by xref tool
   "Function to create a package body from a package spec.
 Called with one argument; the absolute path to the body
 file. Current buffer is the package spec.  Should create the
 package body file, containing skeleton code that will compile.")
 
 (defun ada-make-package-body (body-file-name)
-  (if ada-make-package-body
-      (funcall ada-make-package-body body-file-name)
-    (error "`ada-make-package-body' not set")))
+  ;; no error if not set; let ada-skel do its thing.
+  (when ada-make-package-body
+      (funcall ada-make-package-body body-file-name)))
 
 (defun ada-ff-create-body ()
-  ;; ff-find-other-file calls us with point in an empty buffer for the
-  ;; body file; ada-make-package-body expects to be in the spec. So go
-  ;; back.
-  (let ((body-file-name (buffer-file-name)))
-    (ff-find-the-other-file)
-    (ada-make-package-body body-file-name)
-    ;; FIXME (later): if 'ada-make-package-body' fails, delete the body buffer
-    ;; so it doesn't get written to disk, and we can try again.
-
-    ;; back to the body, read in from the disk.
-    (ff-find-the-other-file)
-    (revert-buffer t t)
+  ;; no error if not set; let ada-skel do its thing.
+  (when ada-make-package-body
+    ;; ff-find-other-file calls us with point in an empty buffer for the
+    ;; body file; ada-make-package-body expects to be in the spec. So go
+    ;; back.
+    (let ((body-file-name (buffer-file-name)))
+      (ff-find-the-other-file)
+
+      (ada-make-package-body body-file-name)
+      ;; FIXME (later): if 'ada-make-package-body' fails, delete the body 
buffer
+      ;; so it doesn't get written to disk, and we can try again.
+
+      ;; back to the body, read in from the disk.
+      (ff-find-the-other-file)
+      (revert-buffer t t))
     ))
 
 ;;;; fill-comment
@@ -2613,6 +2637,9 @@ The paragraph is indented on the first line."
        ff-file-created-hook 'ada-ff-create-body)
   (add-hook 'ff-pre-load-hook 'ada-which-function)
   (setq ff-search-directories 'compilation-search-path)
+  (when (null (car compilation-search-path))
+    ;; find-file doesn't handle nil in search path
+    (setq compilation-search-path (list (file-name-directory 
(buffer-file-name)))))
   (ada-set-ff-special-constructs)
 
   (set (make-local-variable 'add-log-current-defun-function)
@@ -2700,15 +2727,16 @@ The paragraph is indented on the first line."
 (unless (featurep 'ada-indent-engine)
   (require 'ada-wisi))
 
-(unless (featurep 'ada-compiler)
-  (require 'ada-gnat-compile))
-
 (unless (featurep 'ada-xref-tool)
   (cl-case ada-xref-tool
     ((nil 'gnat) (require 'ada-gnat-xref))
     ('gnat_inspect (require 'gnat-inspect))
+    ('gpr_query (require 'gpr-query))
     ))
 
+(unless (featurep 'ada-compiler)
+  (require 'ada-gnat-compile))
+
 (unless (featurep 'ada-skeletons)
   (require 'ada-skel))
 
diff --git a/ada-mode.info b/ada-mode.info
index ec4d58e..91db9d0 100644
--- a/ada-mode.info
+++ b/ada-mode.info
@@ -46,8 +46,8 @@ Copyright (C) 1999 - 2014 Free Software Foundation, Inc.
 * Moving Through Ada Code::     Moving easily through Ada sources
 * Identifier completion::       Finishing words automatically
 * Indentation::                 Indenting your code automatically as you type
-* Statement skeletons::
-* Aligning code::
+* Statement skeletons::         Some code is written for you
+* Aligning code::               Making it pretty
 * Automatic casing::            Adjusting the case of words automatically
 * Comment Handling::            Reformatting comments easily
 * Key summary::
@@ -129,18 +129,23 @@ tool 'gnatinspect', which supports Ada, C, C++, and any 
other language
 for which gcc provices the '-fdump-xref'.
 
    'gnatinspect' is distributed as part of 'gnatcoll'.  Ada mode
-requires the very latest version, in 'gnatcoll 1.7w' distributed with
-GNATPro 7.2.
+requires the very latest version, in 'gnatcoll 1.6' distributed with
+GNATPro 7.2.  'gnatcoll 1.6' must be compiled with GNATPro 7.2.
 
    To build 'gnatinspect', assuming gnat-7.2 is installed in
-'/usr/gnat-7.2':
+'/usr/gnat-7.2', and gnat-7.2 is in PATH:
 
-     tar xf ~/Downloads/gnatcoll-1.7w-src.tgz
-     cd gnatcoll-1.7w-src
+     tar xf ~/Downloads/gnatcoll-1.6-src.tgz
+     cd gnatcoll-1.6-src
      ./configure --prefix=/usr/gnat-7.2
      make Gnatcoll_Build=Debug
      sudo make Gnatcoll_Build=Debug install
 
+   To build an sqlite3 executable that is compatible with the database
+created by gnatinspect:
+
+     gcc -O2 -o sqlite3 shell.c sqlite3.c -ldl -lpthread
+
 
 File: ada-mode.info,  Node: Upgrading,  Prev: gnatinspect,  Up: Installation
 
@@ -1339,10 +1344,12 @@ this is a convenient way to insert statements with 
correct indentation.
 
    For named statements (packages, loops, etc), the name is taken from
 the word before point, and the name of the statement from the word
-before that.  Some expansions prompt for more information, such as
-whether a spec or body is desired.  For example, 'package A_Package C-c
-C-e' first prompts for "body" or "spec".  If "spec" is selected, the
-following code is inserted:
+before that.
+
+   Some expansions prompt for more information, such as whether a spec
+or body is desired.  For example, 'package A_Package C-c C-e' first
+prompts for "body" or "spec".  If "spec" is selected, the following code
+is inserted:
 
      package A_Package is
      private
@@ -1359,6 +1366,16 @@ following code is inserted:
 
    Note that the order of the keyword 'declare' and the name 'A_Block'
 are reversed in the expansion; this may take some getting used to.
+Alternately, if no name is present in the buffer, you are prompted for a
+name: 'declare C-c C-e' first prompts for a name, then expands to the
+above.
+
+   The variable 'ada-skel-initial-string' defines what to insert in a
+newly created empty buffer.  It defaults to '{header}', which is a
+placeholder defined by 'ada-skel-header', which inserts a typical header
+with a copyright license (choice of GPL or restricted).  Users will
+typically want to override the definition of 'ada-skel-initial-string'
+and/or 'ada-skel-header', or provide more choices of copyright license.
 
 
 File: ada-mode.info,  Node: Aligning code,  Next: Automatic casing,  Prev: 
Statement skeletons,  Up: Top
@@ -2395,46 +2412,46 @@ Index
 
 Tag Table:
 Node: Top945
-Node: Overview2508
-Node: Installation3719
-Node: gnatinspect4533
-Node: Upgrading5267
-Node: Customization5841
-Node: Non-standard file names6323
-Node: Other compiler8164
-Node: Other cross-reference8743
-Node: Other customization9462
-Node: Compiling Executing11932
-Node: Compile commands12667
-Node: Compiling Examples15405
-Node: No project files16237
-Node: Set compiler options21603
-Node: Set source search path23565
-Node: Use GNAT project file26018
-Node: Use multiple GNAT project files28792
-Node: Use a Makefile31512
-Node: Compiler errors32827
-Node: Project files33644
-Node: Project file overview34671
-Node: Project file variables36199
-Node: Moving Through Ada Code39829
-Node: Identifier completion42528
-Node: Indentation43490
-Node: Statement skeletons47542
-Node: Aligning code48752
-Node: Automatic casing49697
-Node: Comment Handling52401
-Node: Key summary52920
-Node: Developer overview55547
-Node: Directory structure55887
-Node: Package organization59373
-Node: Ada mode59608
-Node: gpr mode61804
-Node: GNAT core62087
-Node: Wisi63033
-Node: OpenToken64000
-Node: ELPA64602
-Node: GNU Free Documentation License65212
-Node: Index90373
+Node: Overview2576
+Node: Installation3787
+Node: gnatinspect4601
+Node: Upgrading5562
+Node: Customization6136
+Node: Non-standard file names6618
+Node: Other compiler8459
+Node: Other cross-reference9038
+Node: Other customization9757
+Node: Compiling Executing12227
+Node: Compile commands12962
+Node: Compiling Examples15700
+Node: No project files16532
+Node: Set compiler options21898
+Node: Set source search path23860
+Node: Use GNAT project file26313
+Node: Use multiple GNAT project files29087
+Node: Use a Makefile31807
+Node: Compiler errors33122
+Node: Project files33939
+Node: Project file overview34966
+Node: Project file variables36494
+Node: Moving Through Ada Code40124
+Node: Identifier completion42823
+Node: Indentation43785
+Node: Statement skeletons47837
+Node: Aligning code49622
+Node: Automatic casing50567
+Node: Comment Handling53271
+Node: Key summary53790
+Node: Developer overview56417
+Node: Directory structure56757
+Node: Package organization60243
+Node: Ada mode60478
+Node: gpr mode62674
+Node: GNAT core62957
+Node: Wisi63903
+Node: OpenToken64870
+Node: ELPA65472
+Node: GNU Free Documentation License66082
+Node: Index91243
 
 End Tag Table
diff --git a/ada-skel.el b/ada-skel.el
index 82e6678..a6216c1 100755
--- a/ada-skel.el
+++ b/ada-skel.el
@@ -67,7 +67,13 @@
 
 ;;;;; user variables, example skeletons intended to be overwritten
 
-(defcustom ada-skel-initial-string "{header}"
+(defcustom ada-skel-initial-string
+  "{header}
+--  Emacs note: Type C-c C-e with point after the above placeholder
+--
+--  This text was inserted by ada-skel-initial-string;
+--  M-x customize-variable <RET> ada-skel-initial-string <RET>
+--  (info \"(ada-mode)Statement skeletons\")"
   "*String to insert in empty buffer.
 This could end in a token recognized by `ada-skel-expand'."
   :type 'string
@@ -150,7 +156,7 @@ This could end in a token recognized by `ada-skel-expand'."
   "is\n"
   "begin\n"
   _
-  "end " str ";")
+  "end " str ";" >)
 
 (define-skeleton ada-skel-function-spec
   "Insert a function type specification with name from `str'."
@@ -404,20 +410,27 @@ it is a name, and use the word before that as the token."
   (if old
       ;; hippie is asking us to try the "next" completion; we don't have one
       nil
-    (let ((pos (point)))
+    (let ((pos (point))
+         (undo-len (if (eq 't pending-undo-list)
+                       0
+                     (length pending-undo-list))))
       (undo-boundary)
       (condition-case nil
          (progn
            (ada-skel-expand)
            t)
        ('error
-        ;; undo ada-case-adjust, motion
-        (undo)
+        ;; undo hook action if any
+        (unless (or (eq 't pending-undo-list)
+                    (= undo-len (length pending-undo-list)))
+          (undo))
+
+        ;; undo motion
         (goto-char pos)
         nil)))))
 
 (defun ada-skel-setup ()
-  "Setup a buffer ada-skel."
+  "Setup a buffer for ada-skel."
   (add-hook 'skeleton-end-hook 'ada-indent-statement nil t)
   (when (and ada-skel-initial-string
             (= (buffer-size) 0))
diff --git a/ada-wisi.el b/ada-wisi.el
index 0a00cff..bb57492 100755
--- a/ada-wisi.el
+++ b/ada-wisi.el
@@ -229,9 +229,9 @@ point must be on CACHE. PREV-TOKEN is the token before the 
one being indented."
         (aspect_specification_opt
          ;; test/aspects.ads:
          ;; type Vector is tagged private
-         ;;   with
-         ;;     Constant_Indexing => Constant_Reference,
-         ;;     Variable_Indexing => Reference,
+         ;; with
+         ;;   Constant_Indexing => Constant_Reference,
+         ;;   Variable_Indexing => Reference,
          ;; indenting 'Variable_Indexing'
          (+ (current-indentation) ada-indent-broken))
         ))
@@ -296,42 +296,28 @@ point must be on CACHE. PREV-TOKEN is the token before 
the one being indented."
        (close-paren (wisi-indent-paren 0))
 
        (name
-        (ada-wisi-indent-containing ada-indent-broken cache t))
+        (cl-case (wisi-cache-nonterm cache)
+          ((procedure_specification subprogram_specification)
+           ;; test/ada_mode-nominal.ads
+           ;; not
+           ;; overriding
+           ;; procedure
+           ;;   Procedure_1c (Item  : in out Parent_Type_1);
+           ;; indenting 'Procedure_1c'
+           ;;
+           ;; not overriding function
+           ;;   Function_2e (Param : in Parent_Type_1) return Float;
+           ;; indenting 'Function_2e'
+           (ada-wisi-indent-containing ada-indent-broken cache t))
 
-       (name-paren
-        (let ((containing (wisi-goto-containing cache)))
-          (cl-case (wisi-cache-class containing)
-            (open-paren
-             ;; test/ada_mode-slices.adb
-             ;; Put_Line(Day'Image(D1) & " - " & Day'Image(D2) & " = " &
-             ;;            Integer'Image(N));
-             ;;
-             ;; test/ada_mode-parens.adb
-             ;; return Float (
-             ;;               Integer'Value
-             ;; indenting 'Integer'
-             ;;
-             ;; We distinguish the two cases by going to the first token,
-             ;; and comparing point to pos-0.
-             (let ((paren-column (current-column)))
-               (wisi-forward-token t); "("
-               (forward-comment (point-max))
-               (if (= (point) pos-0)
-                   ;; 2)
-                   (1+ paren-column)
-                 ;; 1)
-                 (+ paren-column 1 ada-indent-broken))))
-
-            (list-break
-             (ada-wisi-indent-list-break containing prev-token))
+          (t
+           ;; defer to ada-wisi-after-cache, for consistency
+           nil)
+          ))
 
-            (t
-             ;; test/ada_mode-generic_instantiation.ads
-             ;;   procedure Procedure_6 is new
-             ;;     Instance.Generic_Procedure (Integer, Function_1);
-             ;; indenting 'Instance'; containing is 'new'
-             (ada-wisi-indent-cache ada-indent-broken containing))
-            )))
+       (name-paren
+        ;; defer to ada-wisi-after-cache, for consistency
+        nil)
 
        (open-paren
         (let ((containing (wisi-goto-containing cache)))
@@ -617,7 +603,7 @@ point must be on CACHE. PREV-TOKEN is the token before the 
one being indented."
                 ;; type Vector is tagged private
                 ;; with
                 ;; indenting 'with'
-                (+ (current-indentation) ada-indent-broken))
+                (current-indentation))
 
                (qualified_expression
                 ;; test/ada_mode-nominal-child.ads
@@ -650,6 +636,15 @@ point must be on CACHE. PREV-TOKEN is the token before the 
one being indented."
                   ((PROCEDURE FUNCTION)
                    ;; indenting 'procedure' or 'function following 'overriding'
                    (current-column))
+
+                  (WITH
+                   ;; indenting aspect specification on subprogram declaration
+                   ;; test/aspects.ads
+                   ;; procedure Foo (X : Integer;
+                   ;;                Y : out Integer)
+                   ;; with Pre => X > 10 and
+                   ;; indenting 'with'
+                   (current-column))
                   ))
 
                (subtype_declaration
@@ -684,28 +679,8 @@ point must be on CACHE. PREV-TOKEN is the token before the 
one being indented."
                  (ada-wisi-indent-list-break cache prev-token))
 
                 (statement-other
-                 (cl-case (wisi-cache-token containing-cache)
-                   (LEFT_PAREN
-                    ;; test/ada_mode-parens.adb
-                    ;; return Float (
-                    ;;               Integer'Value
-                    ;;   indenting 'Integer'
-                    (wisi-indent-paren 1))
-
-                   (EQUAL_GREATER
-                    ;; test/ada_mode-nested_packages.adb
-                    ;; exception
-                    ;;    when Io.Name_Error =>
-                    ;;       null;
-                    (ada-wisi-indent-containing ada-indent containing-cache t))
-
-                   (t
-                    ;; test/ada_mode-generic_instantiation.ads
-                    ;; procedure Procedure_6 is new
-                    ;;   Instance.Generic_Procedure (Integer, Function_1);
-                    ;;   indenting 'Instance'
-                    (ada-wisi-indent-containing ada-indent-broken cache t))
-                   ))
+                 ;; defer to ada-wisi-after-cache
+                 nil)
                 ))))
             ))
 
@@ -792,6 +767,11 @@ cached token, return new indentation for point."
         ;; raise Constraint_Error with Count'Image (Line (File)) &
         ;;    "foo";
         ;; indenting '"foo"'; relative to raise
+        ;;
+        ;; test/ada_mode-slices.adb
+        ;; Put_Line(Day'Image(D1) & " - " & Day'Image(D2) & " = " &
+        ;;            Integer'Image(N));
+        ;; indenting 'Integer'
         (when (memq (wisi-cache-nonterm cache)
                     '(actual_parameter_part attribute_designator))
           (setq cache (wisi-goto-containing cache)))
@@ -828,6 +808,10 @@ cached token, return new indentation for point."
         ;;    -- a comment between paren and first association
         ;;    1 =>
         ;;
+        ;; test/ada_mode-parens.adb
+        ;; return Float (
+        ;;               Integer'Value
+        ;; indenting 'Integer'
         (let ((paren-column (current-column))
               (start-is-comment (save-excursion (goto-char start) (looking-at 
comment-start-skip))))
           (wisi-forward-token t); point is now after paren
@@ -893,43 +877,91 @@ cached token, return new indentation for point."
            (ada-wisi-indent-cache ada-indent-broken cache))
 
           (EQUAL_GREATER
-           (cl-ecase (wisi-cache-nonterm (wisi-goto-containing cache nil))
-             ((actual_parameter_part aggregate)
-              ;; ada_mode-generic_package.ads
-              ;; with package A_Package_2 is new Ada.Text_IO.Integer_IO (Num =>
-              ;;                                                           
Formal_Signed_Integer_Type);
-              ;;  indenting 'Formal_Signed_...', point on '(Num'
-              ;;
-              ;; test/ada_mode-parens.adb
-              ;; (1      =>
-              ;;    1,
-              ;; indenting '1,'; point on '(1'
-              (+ (current-column) 1 ada-indent-broken))
-
-             (association_list
-              ;; test/ada_mode-parens.adb
-              ;; (1      =>
-              ;;    1,
-              ;;  2      =>
-              ;;    1 + 2 * 3,
-              ;; indending 1 +; point is on ',' after 1
-              (wisi-indent-paren (1+ ada-indent-broken)))
-
-             ((case_expression_alternative case_statement_alternative 
exception_handler)
-              ;; containing is 'when'
-              (+ (current-column) ada-indent))
-
-             (generic_renaming_declaration
-              ;; not indenting keyword following 'generic'
-              (+ (current-column) ada-indent-broken))
+           (let ((cache-col (current-column))
+                 (cache-pos (point))
+                 (line-end-pos (line-end-position))
+                 (containing (wisi-goto-containing cache nil)))
+             (while (eq (wisi-cache-nonterm containing) 'association_list)
+               (setq containing (wisi-goto-containing containing nil)))
 
-             (primary
-              ;; test/ada_mode-quantified_expressions.adb
-              ;; if (for some J in 1 .. 10 =>
-              ;;       J/2 = 0)
-              (ada-wisi-indent-containing ada-indent-broken cache))
+             (cl-ecase (wisi-cache-nonterm containing)
+               ((actual_parameter_part aggregate)
+                ;; ada_mode-generic_package.ads
+                ;; with package A_Package_2 is new Ada.Text_IO.Integer_IO (Num 
=>
+                ;;                                                           
Formal_Signed_Integer_Type);
+                ;;  indenting 'Formal_Signed_...', point on '(Num'
+                ;;
+                ;; test/ada_mode-parens.adb
+                ;; (1      =>
+                ;;    1,
+                ;;  2      =>
+                ;;    1 + 2 * 3,
+                ;; indenting '1,' or '1 +'; point on '(1'
+                (+ (current-column) 1 ada-indent-broken))
+
+               (aspect_specification_opt
+                ;; test/aspects.ads
+                ;; with Pre => X > 10 and
+                ;;             X < 50 and
+                ;;             F (X),
+                ;;   Post =>
+                ;;     Y >= X and
+                ;; indenting 'X < 50' or 'Y >= X'; cache is '=>', point is on 
'=>'
+                ;; or indenting 'Post =>'; cache is ',', point is on 'with'
+                (cl-ecase (wisi-cache-token cache)
+                  (COMMA
+                   (+ (current-indentation) ada-indent-broken))
 
-             ))
+                  (EQUAL_GREATER
+                   (if (= (+ 2 cache-pos) line-end-pos)
+                       ;;   Post =>
+                       ;;     Y >= X and
+                       (progn
+                         (goto-char cache-pos)
+                         (+ (current-indentation) ada-indent-broken))
+                     ;; with Pre => X > 10 and
+                     ;;             X < 50 and
+                     (+ 3 cache-col)))
+                  ))
+
+               (association_list
+                (cl-ecase (save-excursion (wisi-cache-token 
(wisi-goto-containing cache nil)))
+                  (COMMA
+                   (ada-wisi-indent-containing (* 2 ada-indent-broken) cache))
+                  ))
+
+               ((case_expression_alternative case_statement_alternative 
exception_handler)
+                ;; containing is 'when'
+                (+ (current-column) ada-indent))
+
+               (generic_renaming_declaration
+                ;; not indenting keyword following 'generic'
+                (+ (current-column) ada-indent-broken))
+
+               (primary
+                ;; test/ada_mode-quantified_expressions.adb
+                ;; if (for some J in 1 .. 10 =>
+                ;;       J/2 = 0)
+                (ada-wisi-indent-containing ada-indent-broken cache))
+
+
+               (select_alternative
+                ;; test/ada_mode-nominal.adb
+                ;; or when Started
+                ;;      =>
+                ;;       accept Finish;
+                ;; indenting 'accept'; point is on 'when'
+                (+ (current-column) ada-indent))
+
+               (variant
+                ;; test/generic_param.adb
+                ;; case Item_Type is
+                ;;    when Fix | Airport =>
+                ;;       null;
+                ;; indenting 'null'
+                (+ (current-column) ada-indent))
+
+               )))
 
           (IS
            (setq cache (wisi-goto-containing cache))
@@ -980,6 +1012,11 @@ cached token, return new indentation for point."
            ;; ada_mode-nominal.ads
            ;; type Limited_Derived_Type_2 is abstract limited new 
Private_Type_1 with
            ;;   private;
+           ;;
+           ;; test/ada_mode-generic_instantiation.ads
+           ;;   procedure Procedure_6 is new
+           ;;     Instance.Generic_Procedure (Integer, Function_1);
+           ;; indenting 'Instance'; containing is 'new'
            (ada-wisi-indent-containing ada-indent-broken cache))
 
           (WHEN
@@ -989,26 +1026,26 @@ cached token, return new indentation for point."
            (ada-wisi-indent-containing ada-indent-broken cache))
 
           (WITH
-           ;; extension aggregate: test/ada_mode-nominal-child.ads
-           ;;      (Default_Parent with
-           ;;       10, 12.0, True);
-           ;;   indenting '10'; containing is '('
-           ;;
-           ;; raise_statement: test/ada_mode-nominal.adb
-           ;; raise Constraint_Error with
-            ;;    "help!";
            (cl-case (wisi-cache-nonterm cache)
              (aggregate
+              ;; test/ada_mode-nominal-child.ads
+              ;;   (Default_Parent with
+              ;;    10, 12.0, True);
+              ;; indenting '10'; containing is '('
               (ada-wisi-indent-containing 0 cache nil))
 
              (aspect_specification_opt
+              ;; test/aspects.ads
               ;; type Vector is tagged private
-              ;;   with
-              ;;     Constant_Indexing => Constant_Reference,
-              ;; indenting 'Constant_Indexing'
+              ;; with
+              ;;   Constant_Indexing => Constant_Reference,
+              ;; indenting 'Constant_Indexing'; point is on 'with'
               (+ (current-indentation) ada-indent-broken))
 
              (raise_statement
+              ;; raise_statement: test/ada_mode-nominal.adb
+              ;; raise Constraint_Error with
+              ;;    "help!";
               (ada-wisi-indent-containing ada-indent-broken cache nil))
              ))
 
@@ -1435,8 +1472,16 @@ Also return cache at start."
              ada-grammar-wy--keyword-table
              ada-grammar-wy--token-table
              ada-grammar-wy--parse-table)
+
+  ;; Handle escaped quotes in strings
   (setq wisi-string-quote-escape-doubled t)
 
+  ;; Handle bracket notation for non-ascii characters in strings. This
+  ;; is actually more forgiving than that; it will treat
+  ;; '"foo["bar"]baz" as a single string. But that will be caught by
+  ;; the compiler, so it's ok for us.
+  (setq wisi-string-quote-escape '(?\" . ?\[ ))
+
   (set (make-local-variable 'comment-indent-function) 'wisi-comment-indent)
 
   (add-hook 'hack-local-variables-hook 'ada-wisi-post-local-vars nil t)
diff --git a/gnat-core.el b/gnat-core.el
index d7126e7..38dd80e 100755
--- a/gnat-core.el
+++ b/gnat-core.el
@@ -24,6 +24,7 @@
 ;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
 
 (require 'cl-lib)
+(require 'ada-mode) ;; for ada-prj-* etc; will be refactored sometime
 
 ;;;;; code
 
@@ -94,61 +95,85 @@ See also `gnat-parse-emacs-final'."
 
   project)
 
-(defun gnat-get-paths (project)
-  "Add project and/or compiler source, object paths to PROJECT src_dir and/or 
prc_dir."
+(defun gnat-get-paths-1 (src-dirs prj-dirs)
+  "Append list of source and project dirs in current gpr project to SRC-DIRS, 
PRJ-DIRS.
+Uses 'gnat list'. Returns new '(src-dirs prj-dirs)."
   (with-current-buffer (gnat-run-buffer)
     ;; gnat list -v -P can return status 0 or 4; always lists compiler dirs
-    (let ((src-dirs (ada-prj-get 'src_dir project))
-         (prj-dirs (ada-prj-get 'prj_dir project)))
-
-      (gnat-run-gnat "list" (list "-v") '(0 4))
+    ;;
+    ;; WORKAROUND: GNAT 7.2.1 gnatls does not support C++ fully; it
+    ;; does not return src_dirs from C++ projects (see AdaCore ticket
+    ;; M724-045). The workaround is to include the src_dirs in an
+    ;; Emacs Ada mode project.
+    (gnat-run-gnat "list" (list "-v") '(0 4))
+
+    (goto-char (point-min))
+
+    (condition-case nil
+       (progn
+         ;; Source path
+         (search-forward "Source Search Path:")
+         (forward-line 1)
+         (while (not (looking-at "^$")) ; terminate on blank line
+           (back-to-indentation) ; skip whitespace forward
+           (if (looking-at "<Current_Directory>")
+               (add-to-list 'src-dirs  (directory-file-name default-directory))
+             (add-to-list 'src-dirs
+                          (expand-file-name ; canonicalize path part
+                           (directory-file-name
+                            (buffer-substring-no-properties (point) 
(point-at-eol))))))
+           (forward-line 1))
+
+         ;; Project path
+         ;;
+         ;; These are also added to src_dir, so compilation errors
+         ;; reported in project files are found.
+         (search-forward "Project Search Path:")
+         (forward-line 1)
+         (while (not (looking-at "^$"))
+           (back-to-indentation)
+           (if (looking-at "<Current_Directory>")
+               (add-to-list 'prj-dirs ".")
+             (add-to-list 'prj-dirs
+                          (expand-file-name
+                           (buffer-substring-no-properties (point) 
(point-at-eol))))
+             (add-to-list 'src-dirs
+                          (expand-file-name
+                           (buffer-substring-no-properties (point) 
(point-at-eol)))))
+           (forward-line 1))
+
+         )
+      ('error
+       (pop-to-buffer (current-buffer))
+       ;; search-forward failed
+       (error "parse gpr failed")
+       ))
+    (list src-dirs prj-dirs)))
 
-      (goto-char (point-min))
+(defun gnat-get-paths (project)
+  "Add project and/or compiler source, project paths to PROJECT src_dir and/or 
prj_dir."
+  (let ((src-dirs (ada-prj-get 'src_dir project))
+       (prj-dirs (ada-prj-get 'prj_dir project)))
+
+    ;; FIXME: use a dispatching function instead, to avoid "require" here,
+    ;; which gives "warning: function not known".
+    ;; Using 'require' at top level gives the wrong default ada-xref-tool
+    (cl-ecase (ada-prj-get 'xref_tool project)
+      ((gnat gnat_inspect)
+       (let ((res (gnat-get-paths-1 src-dirs prj-dirs)))
+        (setq src-dirs (car res))
+        (setq prj-dirs (cadr res))))
+
+      (gpr_query
+       (require 'gpr-query)
+       (setq src-dirs (gpr-query-get-src-dirs src-dirs))
+       (setq prj-dirs (gpr-query-get-prj-dirs prj-dirs)))
+      )
 
-      (condition-case nil
-         (progn
-           ;; Source path
-           (search-forward "Source Search Path:")
-           (forward-line 1)
-           (while (not (looking-at "^$")) ; terminate on blank line
-             (back-to-indentation) ; skip whitespace forward
-             (if (looking-at "<Current_Directory>")
-                 (add-to-list 'src-dirs  (directory-file-name 
default-directory))
-               (add-to-list 'src-dirs
-                            (expand-file-name ; canonicalize path part
-                             (directory-file-name
-                              (buffer-substring-no-properties (point) 
(point-at-eol))))))
-             (forward-line 1))
-
-           ;; Project path
-           ;;
-           ;; These are also added to src_dir, so compilation errors
-           ;; reported in project files are found.
-           (search-forward "Project Search Path:")
-           (forward-line 1)
-           (while (not (looking-at "^$"))
-             (back-to-indentation)
-             (if (looking-at "<Current_Directory>")
-                 (add-to-list 'prj-dirs ".")
-               (add-to-list 'prj-dirs
-                            (expand-file-name
-                             (buffer-substring-no-properties (point) 
(point-at-eol))))
-               (add-to-list 'src-dirs
-                            (expand-file-name
-                             (buffer-substring-no-properties (point) 
(point-at-eol)))))
-             (forward-line 1))
-
-           )
-       ('error
-        (pop-to-buffer (current-buffer))
-        ;; search-forward failed
-        (error "parse gpr failed")
-        ))
-
-      (setq project (plist-put project 'src_dir (reverse src-dirs)))
-      (mapc (lambda (dir) (gnat-prj-add-prj-dir dir project))
-           (reverse prj-dirs))
-      ))
+    (setq project (plist-put project 'src_dir (reverse src-dirs)))
+    (mapc (lambda (dir) (gnat-prj-add-prj-dir dir project))
+         (reverse prj-dirs))
+    )
   project)
 
 (defun gnat-parse-gpr (gpr-file project)
@@ -201,9 +226,12 @@ src_dir will include compiler runtime."
 
 (defun gnat-run (exec command &optional err-msg expected-status)
   "Run a gnat command line tool, as \"EXEC COMMAND\".
-EXEC must be an executable found on `exec-path'. COMMAND must be a list of 
strings.
+EXEC must be an executable found on `exec-path'.
+COMMAND must be a list of strings.
 ERR-MSG must be nil or a string.
-EXPECTED-STATUS must be nil or a list of integers.
+EXPECTED-STATUS must be nil or a list of integers; throws an error if
+process status is not a member.
+
 Return process status.
 Assumes current buffer is (gnat-run-buffer)"
   (set 'buffer-read-only nil)
@@ -247,8 +275,8 @@ Assumes current buffer is (gnat-run-buffer)"
 
 (defun gnat-run-no-prj (command &optional dir)
   "Run the gnat command line tool, as \"gnat COMMAND\", with DIR as current 
directory.
-Return process status.  Assumes current buffer
-is (gnat-run-buffer)"
+Return process status.  Process output goes to current buffer,
+which is displayed on error."
   (set 'buffer-read-only nil)
   (erase-buffer)
 
@@ -288,17 +316,18 @@ list."
 
 (defun gnatprep-syntax-propertize (start end)
   (goto-char start)
-  (while (re-search-forward
-         "^[ \t]*\\(#\\(?:if\\|else\\|elsif\\|end\\)\\)"; gnatprep keywords.
-         end t)
-    (cond
-     ((match-beginning 1)
-      (put-text-property
-       (match-beginning 1) (match-end 1) 'syntax-table '(11 . ?\n)))
-     )
-    ))
-
-;;;; support for ada-gnat-xref and ada-gnatinspect
+  (save-match-data
+    (while (re-search-forward
+           "^[ \t]*\\(#\\(?:if\\|else\\|elsif\\|end\\)\\)"; gnatprep keywords.
+           end t)
+      (cond
+       ((match-beginning 1)
+       (put-text-property
+        (match-beginning 1) (match-end 1) 'syntax-table '(11 . ?\n)))
+       )
+      )))
+
+;;;; support for xref tools
 (defun ada-gnat-file-name-from-ada-name (ada-name)
   "For `ada-file-name-from-ada-name'."
   (let ((result nil))
@@ -331,6 +360,8 @@ list."
     ("a-string" . "Ada.Strings")
     ("a-strmap" . "Ada.Strings.Maps")
     ("a-strunb" . "Ada.Strings.Unbounded")
+    ("g-comlin" . "GNAT.Command_Line")
+    ("g-dirope" . "GNAT.Directory_Operations")
     ("g-socket" . "GNAT.Sockets")
     ("interfac" . "Interfaces")
     ("i-c"      . "Interfaces.C")
@@ -380,6 +411,9 @@ list."
     (save-some-buffers t)
     (add-to-list 'opts "-f")
     (with-current-buffer (gnat-run-buffer)
+      ;; FIXME: gnat-run-buffer requires a project, but we don't
+      ;; actually need one. Just use a temp buffer. Same for other
+      ;; uses of gnat-run-no-prj.
       (gnat-run-no-prj
        (append (list "stub") opts (list start-file "-cargs") switches)
        (file-name-directory body-file-name))
@@ -391,6 +425,28 @@ list."
       )
     nil))
 
+(defun ada-gnat-syntax-propertize (start end)
+  (goto-char start)
+  (save-match-data
+    (while (re-search-forward
+           (concat
+            "[^a-zA-Z0-9)]\\('\\)\\[[\"a-fA-F0-9]+\"\\]\\('\\)"; 1, 2: 
non-ascii character literal, not attributes
+            "\\|\\(\\[\"[a-fA-F0-9]+\"\\]\\)"; 3: non-ascii character in 
identifier
+            )
+           end t)
+      (cond
+       ((match-beginning 1)
+       (put-text-property
+        (match-beginning 1) (match-end 1) 'syntax-table '(7 . ?'))
+       (put-text-property
+        (match-beginning 2) (match-end 2) 'syntax-table '(7 . ?')))
+
+       ((match-beginning 3)
+       (put-text-property
+        (match-beginning 3) (match-end 3) 'syntax-table '(2 . nil)))
+       )
+      )))
+
 (provide 'gnat-core)
 
 ;; end of file
diff --git a/gnat-inspect.el b/gnat-inspect.el
index cd13af9..a5d2cda 100755
--- a/gnat-inspect.el
+++ b/gnat-inspect.el
@@ -62,12 +62,11 @@
 
          ;; WORKAROUND: gnatinspect from gnatcoll-1.6w-20130902 can't handle 
aggregate projects; M910-032
          (project-file (file-name-nondirectory
-                        (or (ada-prj-get 'gnat_inspect_gpr_file)
-                            (ada-prj-get 'gpr_file)))))
+                        (ada-prj-get 'gpr_file))))
       (erase-buffer); delete any previous messages, prompt
       (setf (gnat-inspect--session-process session)
            ;; FIXME: need good error message on bad project file:
-           ;;          "can't handle aggregate projects? - set 
gnat_inspect_gpr_file")
+           ;;          "can't handle aggregate projects?")
            (start-process (concat "gnatinspect " (buffer-name))
                           (gnat-inspect--session-buffer session)
                           "gnatinspect"
@@ -89,6 +88,8 @@
 
 (defun gnat-inspect-cached-session ()
   "Return a session for the current project file, creating it if necessary."
+  (gnat-inspect-ensure-gpr)
+
   (let* ((session (cdr (assoc ada-prj-current-file gnat-inspect--sessions))))
     (if session
        (progn
@@ -137,16 +138,25 @@ Return buffer that holds output."
       (current-buffer)
       )))
 
-(defun gnat-inspect-session-kill (session)
-  (when (process-live-p (gnat-inspect--session-process session))
-    (process-send-string (gnat-inspect--session-process session) "exit\n")))
-
 (defun gnat-inspect-kill-all-sessions ()
   (interactive)
-  (mapc (lambda (assoc) (gnat-inspect-session-kill (cdr assoc))) 
gnat-inspect--sessions))
+  (let ((count 0))
+    (mapc (lambda (assoc)
+           (let ((session (cdr assoc)))
+             (when (process-live-p (gnat-inspect--session-process session))
+               (setq count (1+ count))
+               (process-send-string (gnat-inspect--session-process session) 
"exit\n")
+               )))
+           gnat-inspect--sessions)
+    (message "Killed %d sessions" count)
+    ))
 
 ;;;;; utils
 
+(defun gnat-inspect-ensure-gpr ()
+  (unless (ada-prj-get 'gpr_file)
+    (error "no gpr file specified")))
+
 (defconst gnat-inspect-ident-file-regexp
   ;; 
Write_Message:C:\Projects\GDS\work_dscovr_release\common\1553\gds-mil_std_1553-utf.ads:252:25
   ;; 
Write_Message:/Projects/GDS/work_dscovr_release/common/1553/gds-mil_std_1553-utf.ads:252:25
@@ -184,6 +194,8 @@ Return buffer that holds output."
 (defun gnat-inspect-compilation (identifier file line col cmd comp-err)
   "Run gnatinspect IDENTIFIER:FILE:LINE:COL CMD,
 set compilation-mode with compilation-error-regexp-alist set to COMP-ERR."
+  (gnat-inspect-ensure-gpr)
+
   (let ((cmd-1 (format "%s %s:%s:%d:%d" cmd identifier file line col))
        (result-count 0)
        file line column)
@@ -234,13 +246,11 @@ set compilation-mode with compilation-error-regexp-alist 
set to COMP-ERR."
 
 (defun gnat-inspect-refresh ()
   "For `ada-xref-refresh-function', using gnatinspect."
-  (with-current-buffer (gnat-inspect-session-send "refresh" t)))
+  (interactive)
+  (gnat-inspect-session-send "refresh" t))
 
 (defun gnat-inspect-other (identifier file line col)
   "For `ada-xref-other-function', using gnatinspect."
-  (unless (ada-prj-get 'gpr_file)
-    (error "no gnat project file defined."))
-
   (when (eq ?\" (aref identifier 0))
     ;; gnatinspect wants the quotes stripped
     (setq col (+ 1 col))
@@ -285,7 +295,7 @@ set compilation-mode with compilation-error-regexp-alist 
set to COMP-ERR."
        (cond
         ((looking-at gnat-inspect-ident-file-type-regexp)
          ;; process line
-         (let* ((found-file (file-name-nondirectory (match-string 2)))
+         (let* ((found-file (expand-file-name (match-string 2)));; converts 
Windows to normal
                 (found-line (string-to-number (match-string 3)))
                 (found-col  (string-to-number (match-string 4)))
                 (found-type (match-string 5))
@@ -367,8 +377,7 @@ set compilation-mode with compilation-error-regexp-alist 
set to COMP-ERR."
 
 (defun gnat-inspect-overridden-1 (identifier file line col)
   "For `ada-xref-overridden-function', using gnatinspect."
-  (unless (or (ada-prj-get 'gnat_inspect_gpr_file)
-                            (ada-prj-get 'gpr_file))
+  (unless (ada-prj-get 'gpr_file)
     (error "no gnat project file defined."))
 
   (when (eq ?\" (aref identifier 0))
@@ -445,16 +454,25 @@ buffer in another window."
 
 (defvar gnat-inspect-map
   (let ((map (make-sparse-keymap)))
-    ;; C-c <letter> are reserved for users
+    ;; C-c C-i prefix for gnat-inspect minor mode
 
-    (define-key map "\C-c\C-d" 'gnat-inspect-goto-declaration)
-    ;; FIXME: (define-key map "\C-c\M-d" 'gnat-inspect-parents)
-    ;; FIXME: overriding
-    (define-key map "\C-c\C-r" 'gnat-inspect-all)
+    (define-key map "\C-c\C-i\C-d" 'gnat-inspect-goto-declaration)
+    (define-key map "\C-c\C-i\C-p" 'ada-build-prompt-select-prj-file)
+    (define-key map "\C-c\C-i\C-q" 'gnat-inspect-refresh)
+    (define-key map "\C-c\C-i\C-r" 'gnat-inspect-all)
     map
   )  "Local keymap used for GNAT inspect minor mode.")
 
-;; FIXME: define menu
+(defvar gnat-inspect-menu (make-sparse-keymap "gnat-inspect"))
+(easy-menu-define gnat-inspect-menu gnat-inspect-map "Menu keymap for 
gnat-inspect minor mode"
+  '("gnat-inspect"
+    ["Find and select project ..."   ada-build-prompt-select-prj-file t]
+    ["Select project ..."            ada-prj-select                   t]
+    ["Show current project"          ada-prj-show                     t]
+    ["Next compilation error"        next-error                       t]
+    ["Show secondary error"          ada-show-secondary-error         t]
+    ["Refresh cross reference cache" gnat-inspect-refresh        t]
+    ))
 
 (define-minor-mode gnat-inspect
   "Minor mode for navigating sources using GNAT cross reference tool.
@@ -473,6 +491,7 @@ Enable mode if ARG is positive"
   (setq ada-make-package-body       'ada-gnat-make-package-body)
 
   (add-hook 'ada-syntax-propertize-hook 'gnatprep-syntax-propertize)
+  (add-hook 'ada-syntax-propertize-hook 'ada-gnat-syntax-propertize)
 
   ;; must be after indentation engine setup, because that resets the
   ;; indent function list.
@@ -527,6 +546,7 @@ Enable mode if ARG is positive"
   )
 
 (provide 'gnat-inspect)
+(provide 'ada-xref-tool)
 
 (add-to-list 'compilation-error-regexp-alist-alist
             (cons 'gnat-inspect-ident-file       
gnat-inspect-ident-file-regexp-alist))
diff --git a/gpr-mode.el b/gpr-mode.el
index b267014..f11e417 100755
--- a/gpr-mode.el
+++ b/gpr-mode.el
@@ -53,11 +53,13 @@
     ;; (define-key map "\C-c\C-n" 'ada-next-statement-keyword)
     ;; (define-key map "\C-c\C-p" 'ada-prev-statement-keyword)
     (define-key map "\C-c\C-o"          'ff-find-other-file)
-    (define-key map "\C-c\C-S-p" 'gpr-set-as-project)
+    (define-key map "\C-c\C-P" 'gpr-set-as-project)
     (define-key map "\C-c\C-t" 'ada-case-read-all-exceptions)
     (define-key map "\C-c\C-w" 'ada-case-adjust-at-point)
     (define-key map "\C-c\C-y" 'ada-case-create-exception)
     (define-key map "\C-c\C-\M-y" (lambda () (ada-case-create-exception nil 
nil t)))
+    (define-key map "\M-n" 'skeleton-next-placeholder)
+    (define-key map "\M-p" 'skeleton-prev-placeholder)
     map
   )  "Local keymap used for GPR mode.")
 
@@ -82,12 +84,14 @@
     ["Show last parse error"       gpr-show-parse-error             t]
     ["Other file"                  ff-find-other-file               t]
     ("Edit"
-     ["Indent Line or selection"    indent-for-tab-command         t]
-     ["Indent current statement"    gpr-indent-statement           t]
-     ["Indent Lines in File"        (indent-region (point-min) (point-max))  t]
-     ["Expand skeleton"             gpr-expand                     t]
-     ["Comment/uncomment selection" comment-dwim                   t]
-     ["Fill Comment Paragraph"      fill-paragraph                 t]
+     ["Indent Line or selection"      indent-for-tab-command         t]
+     ["Indent current statement"      gpr-indent-statement           t]
+     ["Indent Lines in File"          (indent-region (point-min) (point-max))  
t]
+     ["Expand skeleton"               gpr-expand                     t]
+     ["Next skeleton placeholder"     skeleton-next-placeholder      t]
+     ["Previous skeleton placeholder" skeleton-prev-placeholder      t]
+     ["Comment/uncomment selection"   comment-dwim                   t]
+     ["Fill Comment Paragraph"        fill-paragraph                 t]
 
      ["Fill Comment Paragraph Justify" ada-fill-comment-paragraph-justify t]
      ["Fill Comment Paragraph Postfix" ada-fill-comment-paragraph-postfix t]
diff --git a/gpr-query.el b/gpr-query.el
new file mode 100755
index 0000000..36cbd33
--- /dev/null
+++ b/gpr-query.el
@@ -0,0 +1,607 @@
+;;; gpr-query.el --- minor-mode for navigating sources using the
+;;; custom gpr_query tool, based on AdaCore cross reference tool
+;;; gnatinspect.
+;;;
+;;; gpr-query supports Ada and any gcc language that supports the
+;;; AdaCore -fdump-xref switch (which includes C, C++).
+;;
+;;; Copyright (C) 2013, 2014  Free Software Foundation, Inc.
+
+;; Author: Stephen Leake <stephen_leake@member.fsf.org>
+;; Maintainer: Stephen Leake <stephen_leake@member.fsf.org>
+;; Version: 1.0
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs 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
+;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
+
+;;; Usage:
+;;
+;; M-x gpr-query
+
+(require 'ada-mode) ;; for ada-prj-*, some other things
+(require 'cl-lib)
+(require 'compile)
+
+;;;;; sessions
+
+;; gpr_query reads the project files and the database at startup,
+;; which is noticeably slow for a reasonably sized project. But
+;; running queries after startup is fast. So we leave gpr_query
+;; running, and send it new queries via stdin, getting responses via
+;; stdout.
+;;
+;; We maintain a cache of active sessions, one per gnat project.
+
+(cl-defstruct (gpr-query--session)
+  (process nil) ;; running gpr_query
+  (buffer nil)  ;; receives output of gpr_query
+  (sent-kill-p nil)
+  (closed-p nil))
+
+(defconst gpr-query-buffer-name-prefix " *gpr_query-")
+
+(defun gpr-query--start-process (session)
+  "Start the session process running gpr_query."
+  (unless (buffer-live-p (gpr-query--session-buffer session))
+    ;; user may have killed buffer
+    (setf (gpr-query--session-buffer session) (gnat-run-buffer 
gpr-query-buffer-name-prefix)))
+
+  (with-current-buffer (gpr-query--session-buffer session)
+    (let ((process-environment (ada-prj-get 'proc_env)) ;; for GPR_PROJECT_PATH
+
+         ;; WORKAROUND: gnatcoll-1.6 can't handle aggregate projects; M910-032
+         ;; gpr_query can handle some aggregate projects, but not all
+         (project-file (file-name-nondirectory
+                        (or (ada-prj-get 'gpr_query_file)
+                            (ada-prj-get 'gpr_file)))))
+      (erase-buffer); delete any previous messages, prompt
+      (setf (gpr-query--session-process session)
+           ;; FIXME: need good error message on bad project file:
+           ;;          "can't handle aggregate projects? - set gpr_query_file")
+           (start-process (concat "gpr_query " (buffer-name))
+                          (gpr-query--session-buffer session)
+                          "gpr_query"
+                          (concat "--project=" project-file)))
+      (set-process-query-on-exit-flag (gpr-query--session-process session) nil)
+      (gpr-query-session-wait session)
+
+      ;; check for warnings about invalid directories etc
+      (goto-char (point-min))
+      (when (search-forward "warning:" nil t)
+       (pop-to-buffer (current-buffer))
+       (error "gpr_query warnings"))
+      )))
+
+(defun gpr-query--make-session ()
+  "Create and return a session for the current project file."
+  (let ((session
+        (make-gpr-query--session
+         :buffer (gnat-run-buffer gpr-query-buffer-name-prefix))))
+    (gpr-query--start-process session)
+    session))
+
+(defvar gpr-query--sessions '()
+  "Assoc list of sessions, indexed by absolute GNAT project file name.")
+
+(defun gpr-query-cached-session ()
+  "Return a session for the current project file, creating it if necessary."
+  (let* ((session (cdr (assoc ada-prj-current-file gpr-query--sessions))))
+    (if session
+       (progn
+         (unless (process-live-p (gpr-query--session-process session))
+           (gpr-query--start-process session))
+         session)
+      ;; else
+      (prog1
+          (setq session (gpr-query--make-session))
+       (setq gpr-query--sessions
+             (cl-acons ada-prj-current-file session gpr-query--sessions))))
+    ))
+
+(defconst gpr-query-prompt "^>>> $"
+  ;; gpr_query output ends with this
+  "Regexp matching gpr_query prompt; indicates previous command is complete.")
+
+(defun gpr-query-session-wait (session)
+  "Wait for the current command to complete."
+  (with-current-buffer (gpr-query--session-buffer session)
+    (let ((process (gpr-query--session-process session))
+         (search-start (point-min))
+         (wait-count 0))
+      (while (and (process-live-p process)
+                 (progn
+                   ;; process output is inserted before point, so move back 
over it to search it
+                   (goto-char search-start)
+                   (not (re-search-forward gpr-query-prompt (point-max) 1))))
+       (setq search-start (point));; don't search same text again
+       (message (concat "running gpr_query ..." (make-string wait-count ?.)))
+       ;; FIXME: use --display-progress
+       (accept-process-output process 1.0)
+       (setq wait-count (1+ wait-count)))
+      (if (process-live-p process)
+         (message (concat "running gpr_query ... done"))
+       (pop-to-buffer (current-buffer))
+       (error "gpr_query process died"))
+      )))
+
+(defun gpr-require-prj ()
+  "Throw error if no project file defined."
+  (unless (or (ada-prj-get 'gpr_file)
+             (ada-prj-get 'gpr_query_file))
+    (error "no gpr project file defined.")))
+
+(defun gpr-query-session-send (cmd wait)
+  "Send CMD to gpr_query session for current project.
+If WAIT is non-nil, wait for command to complete.
+Return buffer that holds output."
+  (gpr-require-prj)
+  (let ((session (gpr-query-cached-session)))
+    (with-current-buffer (gpr-query--session-buffer session)
+      ;; FIXME: Check prev command complete (might not have waited); look for 
prompt at EOB
+      (erase-buffer)
+      (process-send-string (gpr-query--session-process session)
+                          (concat cmd "\n"))
+      (when wait
+       (gpr-query-session-wait session))
+      (current-buffer)
+      )))
+
+(defun gpr-query-kill-all-sessions ()
+  (interactive)
+  (let ((count 0))
+    (mapc (lambda (assoc)
+           (let ((session (cdr assoc)))
+             (when (process-live-p (gpr-query--session-process session))
+               (setq count (1+ count))
+               (process-send-string (gpr-query--session-process session) 
"exit\n")
+               )))
+           gpr-query--sessions)
+    (message "Killed %d sessions" count)
+    ))
+
+;;;;; utils
+
+(defun gpr-query-get-src-dirs (src-dirs)
+  "Append list of source dirs in current gpr project to SRC-DIRS.
+Uses 'gpr_query'. Returns new list."
+
+  (with-current-buffer (gpr-query--session-buffer (gpr-query-cached-session))
+    (gpr-query-session-send "source_dirs" t)
+    (goto-char (point-min))
+    (while (not (looking-at gpr-query-prompt))
+      (add-to-list 'src-dirs
+                  (directory-file-name
+                   (buffer-substring-no-properties (point) (point-at-eol))))
+      (forward-line 1))
+    )
+  src-dirs)
+
+(defun gpr-query-get-prj-dirs (prj-dirs)
+  "Append list of source dirs in current gpr project to PRJ-DIRS.
+Uses 'gpr_query'. Returns new list."
+
+  (with-current-buffer (gpr-query--session-buffer (gpr-query-cached-session))
+    (gpr-query-session-send "project_path" t)
+    (goto-char (point-min))
+    (while (not (looking-at gpr-query-prompt))
+      (add-to-list 'prj-dirs
+                  (directory-file-name
+                   (buffer-substring-no-properties (point) (point-at-eol))))
+      (forward-line 1))
+    )
+  prj-dirs)
+
+(defconst gpr-query-ident-file-regexp
+  ;; 
C:\Projects\GDS\work_dscovr_release\common\1553\gds-mil_std_1553-utf.ads:252:25
+  ;; 
/Projects/GDS/work_dscovr_release/common/1553/gds-mil_std_1553-utf.ads:252:25
+  "\\(\\(?:.:\\\|/\\)[^:]*\\):\\([0123456789]+\\):\\([0123456789]+\\)"
+  ;; 1                          2                   3
+  "Regexp matching <file>:<line>:<column>")
+
+(defconst gpr-query-ident-file-regexp-alist
+  (list (concat "^" gpr-query-ident-file-regexp) 1 2 3)
+  "For compilation-error-regexp-alist, matching gpr_query output")
+
+(defconst gpr-query-ident-file-type-regexp
+  (concat gpr-query-ident-file-regexp " (\\(.*\\))")
+  "Regexp matching <file>:<line>:<column> (<type>)")
+
+;; debugging:
+;; in *compilation-gpr_query-refs*, run
+;;  (progn (set-text-properties (point-min)(point-max) 
nil)(compilation-parse-errors (point-min)(point-max) 
gpr-query-ident-file-regexp-alist))
+
+(defun gpr-query-compilation (identifier file line col cmd comp-err)
+  "Run gpr_query IDENTIFIER:FILE:LINE:COL CMD,
+set compilation-mode with compilation-error-regexp-alist set to COMP-ERR."
+  ;; Useful when gpr_query will return a list of references; we use
+  ;; `compilation-start' to run gpr_query, so the user can navigate
+  ;; to each result in turn via `next-error'.
+  (let ((cmd-1 (format "%s %s:%s:%d:%d" cmd identifier file line col))
+       (result-count 0)
+       file line column)
+    (with-current-buffer (gpr-query--session-buffer (gpr-query-cached-session))
+      (compilation-mode)
+      (setq buffer-read-only nil)
+      (set (make-local-variable 'compilation-error-regexp-alist) (list 
comp-err))
+      (gpr-query-session-send cmd-1 t)
+      ;; point is at EOB. gpr_query returns one line per result plus prompt
+      (setq result-count (- (line-number-at-pos) 1))
+      (font-lock-fontify-buffer)
+      ;; font-lock-fontify-buffer applies compilation-message text properties
+      ;; IMPROVEME: for some reason, next-error works, but the font
+      ;; colors are not right (no koolaid!)
+      (goto-char (point-min))
+
+      (cl-case result-count
+       (0
+        (error "gpr_query returned no results"))
+       (1
+        (when (looking-at "^Error: entity not found")
+          (error (buffer-substring-no-properties (line-beginning-position) 
(line-end-position))))
+
+        ;; just go there, don't display session-buffer. We have to
+        ;; fetch the compilation-message while in the session-buffer.
+        (let* ((msg (compilation-next-error 0 nil (point-min)))
+               (loc (compilation--message->loc msg)))
+          (setq file (caar (compilation--loc->file-struct loc))
+                line (caar (cddr (compilation--loc->file-struct loc)))
+                column (1- (compilation--loc->col loc)))
+          ))
+
+       (t
+        ;; for next-error, below
+        (setq next-error-last-buffer (current-buffer)))
+
+       ));; case, with-currrent-buffer
+
+    (if (> result-count 1)
+       ;; more than one result; display session buffer, goto first ref
+       ;;
+       ;; compilation-next-error-function assumes there is not an error
+       ;; at point-min; work around that by moving forward 0 errors for
+       ;; the first one. Unless the first line contains "warning: ".
+       (if (looking-at "^warning: ")
+           (next-error)
+         (next-error 0 t))
+
+      ;; just one result; go there
+      (ada-goto-source file line column nil))
+    ))
+
+(defun gpr-query-dist (found-line line found-col col)
+  "Return distance between FOUND-LINE FOUND-COL and LINE COL."
+  (+ (abs (- found-col col))
+     (* (abs (- found-line line)) 250)))
+
+;;;;; user interface functions
+
+(defun gpr-query-show-references ()
+  "Show all references of identifier at point."
+  (interactive)
+  (gpr-query-all
+   (thing-at-point 'symbol)
+   (file-name-nondirectory (buffer-file-name))
+   (line-number-at-pos)
+   (1+ (current-column)))
+  )
+
+(defun gpr-query-overridden (other-window)
+  "Move to the overridden declaration of the identifier around point.
+If OTHER-WINDOW (set by interactive prefix) is non-nil, show the
+buffer in another window."
+  (interactive "P")
+
+  (let ((target
+        (gpr-query-overridden-1
+         (thing-at-point 'symbol)
+         (buffer-file-name)
+         (line-number-at-pos)
+         (save-excursion
+           (goto-char (car (bounds-of-thing-at-point 'symbol)))
+           (1+ (current-column)))
+         )))
+
+    (ada-goto-source (nth 0 target)
+                    (nth 1 target)
+                    (nth 2 target)
+                    other-window)
+    ))
+
+(defun gpr-query-goto-declaration (other-window)
+  "Move to the declaration or body of the identifier around point.
+If at the declaration, go to the body, and vice versa. If at a
+reference, goto the declaration.
+
+If OTHER-WINDOW (set by interactive prefix) is non-nil, show the
+buffer in another window."
+  (interactive "P")
+
+  (let ((target
+        (gpr-query-other
+         (thing-at-point 'symbol)
+         (buffer-file-name)
+         (line-number-at-pos)
+         (save-excursion
+           (goto-char (car (bounds-of-thing-at-point 'symbol)))
+           (1+ (current-column)))
+         )))
+
+    (ada-goto-source (nth 0 target)
+                    (nth 1 target)
+                    (nth 2 target)
+                    other-window)
+    ))
+
+(defvar gpr-query-map
+  (let ((map (make-sparse-keymap)))
+    ;; C-c C-i prefix for gpr-query minor mode
+
+    (define-key map "\C-c\C-i\C-d" 'gpr-query-goto-declaration)
+    (define-key map "\C-c\C-i\C-p" 'ada-build-prompt-select-prj-file)
+    (define-key map "\C-c\C-i\C-q" 'gpr-query-refresh)
+    (define-key map "\C-c\C-i\C-r" 'gpr-query-show-references)
+    ;; FIXME: (define-key map "\C-c\M-d" 'gpr-query-parents)
+    ;; FIXME: overriding
+    map
+  )  "Local keymap used for GNAT inspect minor mode.")
+
+(defvar gpr-query-menu (make-sparse-keymap "gpr-query"))
+(easy-menu-define gpr-query-menu gpr-query-map "Menu keymap for gpr-query 
minor mode"
+  '("gpr-query"
+    ["Find and select project ..."   ada-build-prompt-select-prj-file t]
+    ["Select project ..."            ada-prj-select                   t]
+    ["Show current project"          ada-prj-show                     t]
+    ["Next compilation error"        next-error                       t]
+    ["Show secondary error"          ada-show-secondary-error         t]
+    ["Goto declaration/body"         gpr-query-goto-declaration       t]
+    ["Show parent declarations"      ada-show-declaration-parents     t]
+    ["Show references"               gpr-query-show-references        t]
+    ;; ["Show overriding"               gpr-query-show-overriding        t]
+    ;; ["Show overridden"               gpr-query-show-overridden        t]
+    ["Refresh cross reference cache" gpr-query-refresh        t]
+    ))
+
+(define-minor-mode gpr-query
+  "Minor mode for navigating sources using GNAT cross reference tool.
+Enable mode if ARG is positive"
+  :initial-value t
+  :lighter       " gpr-query"   ;; mode line
+
+  ;; just enable the menu and keymap
+  )
+
+;;;;; support for Ada mode
+
+(defun gpr-query-refresh ()
+  "For `ada-xref-refresh-function', using gpr_query."
+  (interactive)
+  (with-current-buffer (gpr-query-session-send "refresh" t)))
+
+(defun gpr-query-other (identifier file line col)
+  "For `ada-xref-other-function', using gpr_query."
+  (when (eq ?\" (aref identifier 0))
+    ;; gpr_query wants the quotes stripped
+    (setq col (+ 1 col))
+    (setq identifier (substring identifier 1 (1- (length identifier))))
+    )
+
+  (let ((cmd (format "refs %s:%s:%d:%d" identifier (file-name-nondirectory 
file) line col))
+       (decl-loc nil)
+       (body-loc nil)
+       (search-type nil)
+       (min-distance (1- (expt 2 29)))
+       (result nil))
+
+    (with-current-buffer (gpr-query-session-send cmd t)
+      ;; 'gpr_query refs' returns a list containing the declaration,
+      ;; the body, and all the references, in no particular order.
+      ;;
+      ;; We search the list, looking for the input location,
+      ;; declaration and body, then return the declaration or body as
+      ;; appropriate.
+      ;;
+      ;; the format of each line is file:line:column (type)
+      ;;                            1    2    3       4
+      ;;
+      ;; 'type' can be:
+      ;;   body
+      ;;   declaration
+      ;;   full declaration  (for a private type)
+      ;;   implicit reference
+      ;;   reference
+      ;;   static call
+      ;;
+      ;; 
Module_Type:/home/Projects/GDS/work_stephe_2/common/1553/gds-hardware-bus_1553-wrapper.ads:171:9
 (full declaration)
+      ;;
+      ;; 
itc_assert:/home/Projects/GDS/work_stephe_2/common/itc/opsim/itc_dscovr_gdsi/Gds1553/src/Gds1553.cpp:830:9
 (reference)
+
+      (message "parsing result ...")
+
+      (goto-char (point-min))
+
+      (while (not (eobp))
+       (cond
+        ((looking-at gpr-query-ident-file-type-regexp)
+         ;; process line
+         (let* ((found-file (match-string 1))
+                (found-line (string-to-number (match-string 2)))
+                (found-col  (string-to-number (match-string 3)))
+                (found-type (match-string 4))
+                (dist       (gpr-query-dist found-line line found-col col))
+                )
+
+           (when (string-equal found-type "declaration")
+             (setq decl-loc (list found-file found-line (1- found-col))))
+
+           (when (or
+                  (string-equal found-type "body")
+                  (string-equal found-type "full declaration"))
+             (setq body-loc (list found-file found-line (1- found-col))))
+
+           (when
+               ;; The source may have changed since the xref database
+               ;; was computed, so allow for fuzzy matches.
+               (and (equal found-file file)
+                    (< dist min-distance))
+             (setq min-distance dist)
+             (setq search-type found-type))
+           ))
+
+        (t ;; ignore line
+         ;;
+         ;; This skips GPR_PROJECT_PATH and echoed command at start of buffer.
+         ;;
+         ;; It also skips warning lines. For example,
+         ;; gnatcoll-1.6w-20130902 can't handle the Auto_Text_IO
+         ;; language, because it doesn't use the gprconfig
+         ;; configuration project. That gives lines like:
+         ;;
+         ;; common_text_io.gpr:15:07: language unknown for 
"gds-hardware-bus_1553-time_tone.ads"
+         ;;
+         ;; There are probably other warnings that might be reported as well.
+         )
+        )
+       (forward-line 1)
+       )
+
+      (cond
+       ((null search-type)
+       nil)
+
+       ((and
+        (string-equal search-type "declaration")
+        body-loc)
+       (setq result body-loc))
+
+       (decl-loc
+       (setq result decl-loc))
+       )
+
+      (when (null result)
+       (pop-to-buffer (current-buffer))
+       (error "gpr_query did not return other item; refresh?"))
+
+      (message "parsing result ... done")
+      result)))
+
+(defun gpr-query-all (identifier file line col)
+  "For `ada-xref-all-function', using gpr_query."
+  (gpr-query-compilation identifier file line col "refs" 
'gpr-query-ident-file))
+
+(defun gpr-query-parents (identifier file line col)
+  "For `ada-xref-parent-function', using gpr_query."
+  (gpr-query-compilation identifier file line col "parent_types" 
'gpr-query-ident-file))
+
+(defun gpr-query-overriding (identifier file line col)
+  "For `ada-xref-overriding-function', using gpr_query."
+  (gpr-query-compilation identifier file line col "overriding" 
'gpr-query-ident-file))
+
+(defun gpr-query-overridden-1 (identifier file line col)
+  "For `ada-xref-overridden-function', using gpr_query."
+  (when (eq ?\" (aref identifier 0))
+    ;; gpr_query wants the quotes stripped
+    (setq col (+ 1 col))
+    (setq identifier (substring identifier 1 (1- (length identifier))))
+    )
+
+  (let ((cmd (format "overridden %s:%s:%d:%d" identifier 
(file-name-nondirectory file) line col))
+       result)
+    (with-current-buffer (gpr-query-session-send cmd t)
+
+      (goto-char (point-min))
+      (when (looking-at gpr-query-ident-file-regexp)
+       (setq result
+             (list
+              (match-string 1)
+              (string-to-number (match-string 2))
+              (string-to-number (match-string 3)))))
+
+      (when (null result)
+       (pop-to-buffer (current-buffer))
+       (error "gpr_query did not return a result; refresh?"))
+
+      (message "parsing result ... done")
+      result)))
+
+(defun ada-gpr-query-select-prj ()
+  (setq ada-file-name-from-ada-name 'ada-gnat-file-name-from-ada-name)
+  (setq ada-ada-name-from-file-name 'ada-gnat-ada-name-from-file-name)
+  (setq ada-make-package-body       'ada-gnat-make-package-body)
+
+  (add-hook 'ada-syntax-propertize-hook 'gnatprep-syntax-propertize)
+
+  ;; must be after indentation engine setup, because that resets the
+  ;; indent function list.
+  (add-hook 'ada-mode-hook 'ada-gpr-query-setup t)
+
+  (setq ada-xref-refresh-function    'gpr-query-refresh)
+  (setq ada-xref-all-function        'gpr-query-all)
+  (setq ada-xref-other-function      'gpr-query-other)
+  (setq ada-xref-parent-function     'gpr-query-parents)
+  (setq ada-xref-all-function        'gpr-query-all)
+  (setq ada-xref-overriding-function 'gpr-query-overriding)
+  (setq ada-xref-overridden-function 'gpr-query-overridden-1)
+
+  (add-to-list 'completion-ignored-extensions ".ali") ;; gnat library files, 
used for cross reference
+  )
+
+(defun ada-gpr-query-deselect-prj ()
+  (setq ada-file-name-from-ada-name nil)
+  (setq ada-ada-name-from-file-name nil)
+  (setq ada-make-package-body       nil)
+
+  (setq ada-syntax-propertize-hook (delq 'gnatprep-syntax-propertize 
ada-syntax-propertize-hook))
+  (setq ada-mode-hook (delq 'ada-gpr-query-setup ada-mode-hook))
+
+  (setq ada-xref-other-function      nil)
+  (setq ada-xref-parent-function     nil)
+  (setq ada-xref-all-function        nil)
+  (setq ada-xref-overriding-function nil)
+  (setq ada-xref-overridden-function nil)
+
+  (setq completion-ignored-extensions (delete ".ali" 
completion-ignored-extensions))
+  )
+
+(defun ada-gpr-query-setup ()
+  (when (boundp 'wisi-indent-calculate-functions)
+    (add-to-list 'wisi-indent-calculate-functions 'gnatprep-indent))
+  )
+
+(defun ada-gpr-query ()
+  "Set Ada mode global vars to use gpr_query."
+  (add-to-list 'ada-prj-parser-alist       '("gpr" . gnat-parse-gpr))
+  (add-to-list 'ada-select-prj-xref-tool   '(gpr_query . 
ada-gpr-query-select-prj))
+  (add-to-list 'ada-deselect-prj-xref-tool '(gpr_query . 
ada-gpr-query-deselect-prj))
+
+  ;; no parse-*-xref
+
+  (font-lock-add-keywords 'ada-mode
+   ;; gnatprep preprocessor line
+   (list (list "^[ \t]*\\(#.*\n\\)"  '(1 font-lock-type-face t))))
+  )
+
+(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))
+
+(ada-gpr-query)
+
+;;; end of file
diff --git a/gpr-skel.el b/gpr-skel.el
index 485a097..2ddc5d1 100755
--- a/gpr-skel.el
+++ b/gpr-skel.el
@@ -1,6 +1,6 @@
 ;;; gpr-skel.el --- an extension to Gpr mode for inserting statement skeletons
 
-;; Copyright (C) 2013 Free Software Foundation, Inc.
+;; Copyright (C) 2013, 2014 Free Software Foundation, Inc.
 
 ;; Authors: Stephen Leake <stephen_leake@stephe-leake.org>
 
@@ -94,14 +94,14 @@ Each user will probably want to override this."
 
 (define-skeleton gpr-skel-package
   "Insert a package with name from `str'."
-  ()
+  "Package name: "
   "package " str " is\n"
   _
   "end " str ";")
 
 (define-skeleton gpr-skel-project
   "Insert a project with name from `str'."
-  ()
+  "Project name: "
   "project " str " is\n"
   _
   "end " str ";")
@@ -148,7 +148,7 @@ trailing `...' if there are more keys."
   "Expand the token or placeholder before point to a skeleton, as defined by 
`skeleton-token-alist'.
 A token is a symbol in the current syntax.
 A placeholder is a symbol enclosed in generic comment delimiters.
-If the word before point is not in `gpr-skel-token-alist', assume
+If the word before point is not in `skeleton-token-alist', assume
 it is a name, and use the word before that as the token."
   (interactive "*")
 
@@ -212,17 +212,32 @@ it is a name, and use the word before that as the token."
   (if old
       ;; hippie is asking us to try the "next" completion; we don't have one
       nil
-    (let ((pos (point)))
+    (let ((pos (point))
+         (undo-len (length pending-undo-list)))
       (undo-boundary)
       (condition-case nil
          (progn
            (skeleton-expand)
            t)
        ('error
-        ;; undo hook action, motion
-        (undo)
+        ;; undo hook action if any
+        (unless (= undo-len (length pending-undo-list))
+          (undo))
+
+        ;; undo motion
         (goto-char pos)
         nil)))))
+
+(defun skeleton-next-placeholder ()
+  "Move point forward to start of next placeholder."
+  (interactive)
+  (skip-syntax-forward "^!"))
+
+(defun skeleton-prev-placeholder ()
+  "Move point forward to start of next placeholder."
+  (interactive)
+  (skip-syntax-backward "^!"))
+
 ;; end FIXME:
 
 ;;;;; token alist, setup



reply via email to

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