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

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

[elpa] master c304ac9: Release ada-mode 6.1.0, wisi 2.1.0


From: Stephen Leake
Subject: [elpa] master c304ac9: Release ada-mode 6.1.0, wisi 2.1.0
Date: Fri, 22 Mar 2019 08:34:17 -0400 (EDT)

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

    Release ada-mode 6.1.0, wisi 2.1.0
---
 packages/ada-mode/NEWS                             |   30 +
 packages/ada-mode/README                           |   16 +-
 packages/ada-mode/ada-gnat-compile.el              |   57 +-
 packages/ada-mode/ada-gps.el                       |  444 --
 packages/ada-mode/ada-indent-user-options.el       |   10 +-
 packages/ada-mode/ada-lalr-elisp.el                | 1141 ++---
 packages/ada-mode/ada-mode.el                      |   44 +-
 packages/ada-mode/ada-mode.info                    |  244 +-
 packages/ada-mode/ada-mode.texi                    |  145 +-
 packages/ada-mode/ada-process.el                   |    2 +-
 packages/ada-mode/ada-project.el                   |   81 -
 packages/ada-mode/ada-wisi-elisp-parse.el          |    4 +-
 packages/ada-mode/ada-wisi.el                      |  211 +-
 packages/ada-mode/ada_lr1_parse_table.txt.gz       |  Bin 2964016 -> 2831194 
bytes
 packages/ada-mode/ada_mode_gps_indent.adb          |  323 --
 packages/ada-mode/ada_mode_gps_indent.gpr.gp       |   81 -
 packages/ada-mode/ada_mode_wisi_lalr_parse.ads     |   15 +-
 packages/ada-mode/ada_mode_wisi_lr1_parse.ads      |   17 +-
 packages/ada-mode/ada_mode_wisi_parse.gpr.gp       |   16 +-
 packages/ada-mode/ada_process_actions.adb          |  439 +-
 packages/ada-mode/ada_process_actions.ads          |  280 +-
 packages/ada-mode/ada_process_lalr_main.adb        | 2733 ++++++-----
 packages/ada-mode/ada_process_lalr_main.ads        |    2 +-
 packages/ada-mode/ada_process_lr1_main.adb         |   14 +-
 packages/ada-mode/ada_process_lr1_main.ads         |    2 +-
 packages/ada-mode/ada_re2c.c                       | 3695 ++++++++-------
 packages/ada-mode/ada_re2c_c.ads                   |    2 +-
 packages/ada-mode/build.sh                         |    7 +-
 packages/ada-mode/config.pragmas                   |    6 +
 packages/ada-mode/emacs_wisi_common_parse.adb      |  598 ++-
 packages/ada-mode/emacs_wisi_common_parse.ads      |   64 +-
 packages/ada-mode/env-project.el                   |   70 -
 packages/ada-mode/gen_emacs_wisi_lr_parse.adb      |  193 +-
 packages/ada-mode/gen_emacs_wisi_lr_parse.ads      |   11 +-
 .../ada-mode/gen_emacs_wisi_lr_text_rep_parse.adb  |  264 +-
 .../ada-mode/gen_emacs_wisi_lr_text_rep_parse.ads  |   13 +-
 packages/ada-mode/gen_run_wisi_lr_parse.adb        |  200 +-
 .../ada-mode/gen_run_wisi_lr_text_rep_parse.adb    |  135 +-
 packages/ada-mode/gnat-core.el                     |    3 +-
 packages/ada-mode/gpr-lalr-elisp.el                |   83 +-
 packages/ada-mode/gpr-process.el                   |    2 +-
 packages/ada-mode/gpr-wisi.el                      |    8 +-
 packages/ada-mode/gpr_mode_wisi_parse.ads          |    3 +-
 packages/ada-mode/gpr_process_actions.adb          |   61 +-
 packages/ada-mode/gpr_process_actions.ads          |   46 +-
 packages/ada-mode/gpr_process_lr1_main.adb         |  584 ++-
 packages/ada-mode/gpr_process_lr1_main.ads         |    2 +-
 packages/ada-mode/gpr_re2c.c                       |  193 +-
 packages/ada-mode/gpr_re2c_c.ads                   |    2 +-
 packages/ada-mode/gps_source/ada_analyzer.adb      | 4834 --------------------
 packages/ada-mode/gps_source/ada_analyzer.ads      |   76 -
 packages/ada-mode/gps_source/basic_types.adb       |  147 -
 packages/ada-mode/gps_source/basic_types.ads       |  166 -
 packages/ada-mode/gps_source/case_handling.adb     |  314 --
 packages/ada-mode/gps_source/case_handling.ads     |  124 -
 packages/ada-mode/gps_source/config.ads            |   34 -
 packages/ada-mode/gps_source/generic_stack.adb     |  126 -
 packages/ada-mode/gps_source/generic_stack.ads     |   74 -
 packages/ada-mode/gps_source/indent_stack.ads      |   32 -
 packages/ada-mode/gps_source/language.adb          | 1051 -----
 packages/ada-mode/gps_source/language.ads          |  864 ----
 packages/ada-mode/gps_source/string_utils.adb      | 1364 ------
 packages/ada-mode/gps_source/string_utils.ads      |  353 --
 packages/ada-mode/gps_source/utf8_utils.adb        |  313 --
 packages/ada-mode/gps_source/utf8_utils.ads        |  101 -
 packages/ada-mode/run_wisi_common_parse.adb        |  155 +-
 packages/ada-mode/run_wisi_common_parse.ads        |   16 +-
 packages/ada-mode/wisi-ada.adb                     |   16 +-
 packages/ada-mode/wisi-ada.ads                     |    6 +-
 packages/ada-mode/wisi-gpr.adb                     |    9 +-
 packages/ada-mode/wisi-gpr.ads                     |    6 +-
 .../wisitoken-parse-lr-mckenzie_recover-ada.adb    |  142 +-
 .../wisitoken-parse-lr-mckenzie_recover-ada.ads    |   18 +-
 packages/ada-mode/xref-ada.el                      |    9 +-
 packages/wisi/NEWS                                 |   13 +
 packages/wisi/README                               |    4 +-
 packages/wisi/build-wisitoken-bnf-generate.sh      |    0
 packages/wisi/sal-gen_array_image.adb              |   34 +
 packages/wisi/sal-gen_array_image.ads              |   24 +
 packages/wisi/sal-gen_bounded_definite_vectors.ads |    6 +-
 .../wisi/sal-gen_definite_doubly_linked_lists.ads  |    6 +-
 ...sal-gen_definite_doubly_linked_lists_sorted.ads |    8 +-
 .../sal-gen_indefinite_doubly_linked_lists.ads     |    5 +-
 ...-gen_unbounded_definite_min_heaps_fibonacci.adb |   33 +-
 ...-gen_unbounded_definite_min_heaps_fibonacci.ads |   13 +-
 .../wisi/sal-gen_unbounded_definite_queues.ads     |    4 +-
 .../sal-gen_unbounded_definite_red_black_trees.ads |    5 +-
 .../wisi/sal-gen_unbounded_definite_stacks.ads     |    3 +-
 .../wisi/sal-gen_unbounded_definite_vectors.adb    |   27 +-
 .../wisi/sal-gen_unbounded_definite_vectors.ads    |   23 +-
 packages/wisi/sal.adb                              |    4 +-
 packages/wisi/standard_common.gpr                  |   29 +-
 packages/wisi/wisi-elisp-parse.el                  |   46 +-
 packages/wisi/wisi-fringe.el                       |   10 +-
 packages/wisi/wisi-parse-common.el                 |  694 +--
 packages/wisi/wisi-process-parse.el                |  228 +-
 packages/wisi/wisi.adb                             |  404 +-
 packages/wisi/wisi.ads                             |   56 +-
 packages/wisi/wisi.el                              |  581 ++-
 packages/wisi/wisitoken-bnf-generate.adb           |    4 +-
 packages/wisi/wisitoken-bnf-generate_utils.adb     |   14 +-
 packages/wisi/wisitoken-bnf-generate_utils.ads     |    2 +-
 packages/wisi/wisitoken-bnf-output_ada.adb         |   13 +-
 packages/wisi/wisitoken-bnf-output_ada_common.adb  |   62 +-
 packages/wisi/wisitoken-bnf-output_ada_emacs.adb   |  156 +-
 packages/wisi/wisitoken-bnf.ads                    |   15 +-
 packages/wisi/wisitoken-gen_token_enum.ads         |    6 +-
 .../wisi/wisitoken-generate-lr-lalr_generate.adb   |   21 +-
 .../wisi/wisitoken-generate-lr-lalr_generate.ads   |   19 +-
 .../wisi/wisitoken-generate-lr-lr1_generate.adb    |   28 +-
 .../wisi/wisitoken-generate-lr-lr1_generate.ads    |   11 +-
 packages/wisi/wisitoken-generate-lr.adb            | 2397 +++++-----
 packages/wisi/wisitoken-generate-lr.ads            |   59 +-
 packages/wisi/wisitoken-generate-lr1_items.adb     |   30 +-
 packages/wisi/wisitoken-generate-lr1_items.ads     |   17 +-
 packages/wisi/wisitoken-generate.adb               |   63 +-
 packages/wisi/wisitoken-generate.ads               |   17 +-
 packages/wisi/wisitoken-lexer-re2c.adb             |  146 +-
 packages/wisi/wisitoken-lexer-re2c.ads             |   35 +-
 packages/wisi/wisitoken-lexer-regexp.adb           |   48 +-
 packages/wisi/wisitoken-lexer-regexp.ads           |   34 +-
 packages/wisi/wisitoken-lexer.adb                  |    7 +-
 packages/wisi/wisitoken-lexer.ads                  |   52 +-
 .../wisitoken-parse-lr-mckenzie_recover-base.ads   |    5 +-
 ...wisitoken-parse-lr-mckenzie_recover-explore.adb |  457 +-
 .../wisitoken-parse-lr-mckenzie_recover-parse.adb  |   12 +-
 .../wisi/wisitoken-parse-lr-mckenzie_recover.adb   |  291 +-
 .../wisi/wisitoken-parse-lr-mckenzie_recover.ads   |   25 +-
 packages/wisi/wisitoken-parse-lr-parser.adb        |  387 +-
 packages/wisi/wisitoken-parse-lr-parser.ads        |   27 +-
 packages/wisi/wisitoken-parse-lr-parser_lists.adb  |   31 +-
 packages/wisi/wisitoken-parse-lr-parser_lists.ads  |   29 +-
 .../wisi/wisitoken-parse-lr-parser_no_recover.adb  | 1002 ++--
 .../wisi/wisitoken-parse-lr-parser_no_recover.ads  |    4 +-
 packages/wisi/wisitoken-parse-lr.adb               |  246 +-
 packages/wisi/wisitoken-parse-lr.ads               |   56 +-
 .../wisi/wisitoken-parse-packrat-generated.adb     |    9 +-
 .../wisi/wisitoken-parse-packrat-generated.ads     |    9 +-
 .../wisi/wisitoken-parse-packrat-procedural.adb    |    7 +-
 .../wisi/wisitoken-parse-packrat-procedural.ads    |    7 +-
 packages/wisi/wisitoken-parse.adb                  |    6 +-
 packages/wisi/wisitoken-parse.ads                  |    7 +-
 packages/wisi/wisitoken-parse_table-mode.el        |   96 +
 packages/wisi/wisitoken-productions.ads            |   16 +-
 packages/wisi/wisitoken-semantic_checks.adb        |   19 +-
 packages/wisi/wisitoken-semantic_checks.ads        |   18 +-
 packages/wisi/wisitoken-syntax_trees.adb           |   89 +-
 packages/wisi/wisitoken-syntax_trees.ads           |   36 +-
 packages/wisi/wisitoken-text_io_trace.adb          |   55 +-
 packages/wisi/wisitoken-text_io_trace.ads          |   13 +-
 packages/wisi/wisitoken-user_guide.info            |   16 +-
 packages/wisi/wisitoken.adb                        |    4 +-
 packages/wisi/wisitoken.ads                        |  881 ++--
 packages/wisi/wisitoken_grammar_actions.ads        |    2 +-
 packages/wisi/wisitoken_grammar_main.adb           |   64 +-
 packages/wisi/wisitoken_grammar_re2c.c             |  143 +-
 packages/wisi/wisitoken_grammar_runtime.adb        |   11 +-
 packages/wisi/wisitoken_grammar_runtime.ads        |    1 -
 158 files changed, 11704 insertions(+), 20839 deletions(-)

diff --git a/packages/ada-mode/NEWS b/packages/ada-mode/NEWS
index 4e6d013..641fae7 100644
--- a/packages/ada-mode/NEWS
+++ b/packages/ada-mode/NEWS
@@ -1,6 +1,36 @@
 GNU Emacs Ada mode NEWS -- history of user-visible changes.
 
+Copyright (C) 2018 Free Software Foundation, Inc.
+See the end of the file for license conditions.
+
+Please send wisi bug reports to address@hidden, with
+'ada-mode' in the subject. If possible, use M-x report-emacs-bug.
+
 
+* Ada mode 6.1.0
+21 Mar 2019
+
+** Add support for partial parsing; useful in very large files. Files
+   larger than wisi-partial-parse-threshold (default 100_001) will be
+   parsed partially. In general, partial parsing may yield incorrect
+   results for indentation; the Ada menu entry
+   "Edit | Indent lines in file" will parse the entire file and indent
+   correctly.
+
+** Better error correction in the Ada process parser; insert minimimal
+  tokens to complete a statement/declaration before or after the error
+  point.
+
+** New indent option: 'ada-indent-after-trailing-comment' If t (the
+ default), align comment lines imediately following a comment on the
+ same line as code with the preceding comment. Otherwise, ignore the
+ preceding comment.
+
+** Delete support for the GPS backend; no need, given partial parsing
+   and error correction.
+
+** Miscellaneous bug fixes.
+
 * Ada mode 6.0.1
 8 Dec 2018
 
diff --git a/packages/ada-mode/README b/packages/ada-mode/README
index edf6bfa..69e4e21 100644
--- a/packages/ada-mode/README
+++ b/packages/ada-mode/README
@@ -1,4 +1,4 @@
-Emacs Ada mode version 6.0.1
+Emacs Ada mode version 6.1.0
 
 Ada mode provides auto-casing, fontification, navigation, and
 indentation for Ada source code files.
@@ -24,15 +24,11 @@ indentation. There are two parsers provided:
   syntax errors.
 
 - process, which is implemented in Ada, is fast enough for reasonably
-  large files, and recovers from most syntax errors. The 'process'
-  parser must be compiled; see ada-mode.info section "process parser".
-
-In addition, there is support for running the AdaCore GPS indentation
-engine in a subprocess, either as a backup when the primary parser
-fails, or as the primary indentation engine. The GPS indentation
-engine must be compiled; see ada-mode.info section ada-gps for
-instructions.
-   
+  large files, supports partial parse for very large files (see
+  wisi-partial-parse-threshold), and recovers from almost all syntax
+  errors. The 'process' parser must be compiled; see ada-mode.info
+  section "process parser".
+
 See ada-mode.info for help on using and customizing Ada mode, and
 notes for Ada mode developers.
 
diff --git a/packages/ada-mode/ada-gnat-compile.el 
b/packages/ada-mode/ada-gnat-compile.el
index 59c901b..a0118ac 100644
--- a/packages/ada-mode/ada-gnat-compile.el
+++ b/packages/ada-mode/ada-gnat-compile.el
@@ -6,7 +6,7 @@
 ;;
 ;; GNAT is provided by AdaCore; see http://libre.adacore.com/
 ;;
-;;; Copyright (C) 2012 - 2018  Free Software Foundation, Inc.
+;;; Copyright (C) 2012 - 2019  Free Software Foundation, Inc.
 ;;
 ;; Author: Stephen Leake <address@hidden>
 ;; Maintainer: Stephen Leake <address@hidden>
@@ -195,12 +195,23 @@ Prompt user if more than one."
          ;;
          ;; This list will get long, so let's impose some order.
          ;;
-         ;; First expressions that start with a named regexp, alphabetical by 
variable name.
+         ;; First expressions that start with a named regexp,
+         ;; alphabetical by variable name and following string.
          ;;
          ;; Then expressions that start with a string, alphabetical by string.
          ;;
          ;; Then style errors.
 
+         ((looking-at (concat ada-gnat-quoted-name-regexp " is not a component 
of "))
+                  (save-excursion
+            (let ((child-name (match-string 1))
+                  (correct-spelling (ada-gnat-misspelling)))
+              (setq correct-spelling (match-string 1))
+              (pop-to-buffer source-buffer)
+              (search-forward child-name)
+              (replace-match correct-spelling))
+            t))
+
          ((looking-at (concat ada-gnat-quoted-name-regexp " is not visible"))
           (let ((done nil)
                 (file-line-struct (progn (beginning-of-line) 
(ada-get-compilation-message)))
@@ -220,25 +231,26 @@ Prompt user if more than one."
             ;; the lines after that may contain alternate matches;
             ;; collect all, let user choose.
             (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))
-                            (choice (ada-ada-name-from-file-name unit-file)))
-                       (unless (member choice choices) (push choice choices))
-                      (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
+            (when (looking-at ".* multiple use clauses cause hiding")
+              (forward-line 1))
+            (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))
+                         (choice (ada-ada-name-from-file-name unit-file)))
+                    (unless (member choice choices) (push choice choices))
+                    (goto-char (1+ pos))
+                    (goto-char (1+ (next-single-property-change (point) 
'ada-secondary-error nil limit)))
+                    (when (eolp) (forward-line 1))
+                    ))
+                ))
 
             (setq unit-name
                   (cond
@@ -553,7 +565,8 @@ Prompt user if more than one."
           t)
 
 ;;;; style errors
-         ((looking-at "(style) \".*\" in wrong column")
+         ((or (looking-at "(style) \".*\" in wrong column")
+              (looking-at "(style) this token should be in column"))
           (set-buffer source-buffer)
           (funcall indent-line-function)
           t)
diff --git a/packages/ada-mode/ada-gps.el b/packages/ada-mode/ada-gps.el
deleted file mode 100644
index 6ea16ac..0000000
--- a/packages/ada-mode/ada-gps.el
+++ /dev/null
@@ -1,444 +0,0 @@
-;; Emacs ada-mode indentation engine, using GPS code in a subprocess.
-;;
-;; GNAT is provided by AdaCore; see http://libre.adacore.com/
-;;
-;;; Copyright (C) 2014, 2017  Free Software Foundation, Inc.
-;;
-;; Author: Stephen Leake <address@hidden>
-;; Maintainer: Stephen Leake <address@hidden>
-;;
-;; 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/>.
-
-(require 'ada-mode)
-(require 'ada-indent-user-options)
-
-(defcustom ada-gps-size-threshold 100000
-  "Max size (in characters) for using ada-wisi indentation engine.
-Buffers larger than this will use ada-gps indentation engine,
-which is faster on large buffers."
-  :type 'integer
-  :group 'ada-indentation
-  :safe 'integerp)
-
-(defvar ada-gps-debug 0)
-
-(defconst ada-gps-indent-exec-api-version "1"
-  "API version of ada_mode_gps_indent executable this code expects.")
-
-(defvar ada-gps-indent-exec-patch-level nil
-  "Patch level of ada_mode_gps_indent executable.")
-
-;;;;; sessions
-
-;; ada_mode_gps_indent runs a loop, waiting for indentation requests.
-;;
-;; We only need one process; there is no persistent state.
-
-(cl-defstruct (ada-gps--session)
-  (process nil) ;; running gpr_query
-  (buffer nil))  ;; receives output of gpr_query
-
-(defvar ada-gps-session
-  (make-ada-gps--session)
-  "The single instance of ada-gps--session")
-
-(defconst ada-gps-buffer-name " *ada_gps*")
-
-;; ada-gps-indent-exec declared in ada-mode for auto-detection of indent engine
-
-(defun ada-gps--start-process ()
-  "Start the session process running ada_gps."
-  (unless (buffer-live-p (ada-gps--session-buffer ada-gps-session))
-    ;; user may have killed buffer
-    (setf (ada-gps--session-buffer ada-gps-session) (get-buffer-create 
ada-gps-buffer-name)))
-
-  (let ((process-connection-type nil) ;; use a pipe; no need for \n or flush 
on Linux or Windows
-       (exec-file (locate-file ada-gps-indent-exec exec-path '("" ".exe"))))
-    (unless exec-file
-      (error "%s not found on `exec-path'" ada-gps-indent-exec))
-
-    (with-current-buffer (ada-gps--session-buffer ada-gps-session)
-      (erase-buffer); delete any previous messages, prompt
-      (setf (ada-gps--session-process ada-gps-session)
-           (start-process ada-gps-buffer-name (current-buffer) exec-file))
-      (set-process-query-on-exit-flag (ada-gps--session-process 
ada-gps-session) nil)
-      (ada-gps-session-wait)
-
-      (ada-gps-check-version)
-      )))
-
-(defun ada-gps-show-proc-id ()
-  "Display ada-gps process id, for attaching with debugger."
-  (interactive)
-  (if (process-live-p (ada-gps--session-process ada-gps-session))
-      (message "ada-gps process id: %d" (process-id (ada-gps--session-process 
ada-gps-session)))
-    (message "ada-gps process not live")
-    ))
-
-(defun ada-gps-require-session ()
-  "Create ada-gps session if not active."
-  (unless (and (ada-gps--session-process ada-gps-session)
-              (process-live-p (ada-gps--session-process ada-gps-session)))
-   (ada-gps--start-process)))
-
-(defconst ada-gps-prompt "^GPS_Indent> $"
-  "Regexp matching ada_mode_gps_indent prompt; indicates previous command is 
complete.")
-
-(defun ada-gps-session-wait ()
-  "Wait for the current command to complete."
-  (unless (process-live-p (ada-gps--session-process ada-gps-session))
-    (ada-gps-show-buffer)
-    (error "ada-gps process died"))
-
-  (with-current-buffer (ada-gps--session-buffer ada-gps-session)
-    (let ((process (ada-gps--session-process ada-gps-session))
-         (search-start (point-min))
-         (found nil))
-      (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 (setq found (re-search-forward ada-gps-prompt 
(point-max) t)))))
-       (setq search-start (point));; don't search same text again
-       (accept-process-output process 0.1))
-      (if found
-         (when (> ada-gps-debug 0)
-           (message "'%s'" (buffer-substring-no-properties (point-min) 
(point-max))))
-
-       (ada-gps-show-buffer)
-       (error "ada_gps process hung or died"))
-      )))
-
-(defun ada-gps-session-send (cmd wait prefix)
-  "Send CMD to ada_gps session.
-If WAIT is non-nil, wait for command to complete.
-If PREFIX is non-nil, prefix with count of bytes in cmd."
-  (ada-gps-require-session)
-  ;; we don't wait for previous command to complete, because the
-  ;; previous call to ada-gps-session-cmd might have been a partial
-  ;; command string (in particular, for 'compute_indent').
-  (let* ((byte-count-img (when prefix (format "%02d" (string-bytes cmd))))
-        (msg (concat byte-count-img cmd)))
-    (when (and (> ada-gps-debug 0)
-              (< (length msg) 100))
-      (message msg))
-    (with-current-buffer (ada-gps--session-buffer ada-gps-session)
-      (erase-buffer)
-      (process-send-string (ada-gps--session-process ada-gps-session) msg)
-      (when wait
-       (ada-gps-session-wait))
-      )))
-
-(defun ada-gps-kill-session ()
-  (interactive)
-  (when (process-live-p (ada-gps--session-process ada-gps-session))
-    (process-send-string (ada-gps--session-process ada-gps-session) "04exit")
-    ))
-
-(defun ada-gps-check-version ()
-  "Throw an error if gps executable version does not match expected."
-  (ada-gps-session-send "version" t t)
-  (with-current-buffer (ada-gps--session-buffer ada-gps-session)
-    (goto-char (point-min))
-    ;; We accept any patch level
-    (when (not (looking-at (concat ada-gps-indent-exec-api-version "\\....$")))
-      (error "Incorrect API version for '%s'; found '%s', expecting '%s'."
-            ada-gps-indent-exec
-            (buffer-substring (point-min) (line-end-position))
-            ada-gps-indent-exec-api-version))
-
-    (setq ada-gps-indent-exec-patch-level
-         (buffer-substring (- (line-end-position) 3) (line-end-position)))))
-
-(defun ada-gps-show-buffer ()
-  "Show ada-gps buffer."
-  (interactive)
-  (if (ada-gps--session-buffer ada-gps-session)
-      (pop-to-buffer (ada-gps--session-buffer ada-gps-session))
-    (error "ada-gps session not active")))
-
-;;;;; indenting
-
-(defun ada-gps-send-params ()
-  "Send indentation params to current gps session."
-  (ada-gps-session-send
-   (format "set_params %d %d %d %d"
-          ada-indent
-          ada-indent-broken
-          ada-indent-when
-          ada-indent-record-rel-type)
-   t t))
-
-(defconst ada-gps-output-regexp " *\\([0-9]+\\) +\\([0-9]+\\)$"
-  "Matches gps process output for one line.")
-
-(defvar-local ada-gps-indent-functions nil
-  "Functions to compute indentation special cases.
-Called with point at current indentation of a line; return
-indentation column, or nil if function does not know how to
-indent that line. Run after parser indentation, so other lines
-are indented correctly.")
-
-(defun ada-gps-indent-line ()
-  "For `indent-line-function'; indent current line using the ada-gps 
indentation engine."
-  (let ((savep (copy-marker (point)))
-       (to-indent nil))
-    (back-to-indentation)
-    (when (>= (point) savep)
-      (setq to-indent t))
-
-    (ada-gps-indent-region (line-beginning-position) (line-end-position))
-
-    (goto-char savep)
-    (when to-indent (back-to-indentation))
-    ))
-
-(defun ada-gps-indent-region (begin end)
-  "For `indent-region-function'; indent lines in region BEGIN END using GPS."
-
-  (save-excursion
-    ;; always send indent parameters - we don't track what buffer we are in
-    (ada-gps-send-params)
-
-    ;; send complete lines
-    (goto-char end)
-    (setq end (line-end-position))
-
-    (let ((source-buffer (current-buffer))
-         (begin-line (line-number-at-pos begin))
-         (end-line (line-number-at-pos end))
-         (delete-bogus nil)
-         (failed nil))
-
-      (goto-char begin)
-      (when (and (= begin-line end-line)
-                (eolp))
-       ;; Indenting a single blank line. Insert some text so the GPS
-       ;; engine won't return 0.
-       ;;
-       ;; test/ada-gps/ada_gps_bug_005.adb
-       (insert "bogus")
-       (setq end (point))
-       (setq delete-bogus t))
-
-      (ada-gps-session-send
-       (format "compute_region_indent %d %d %d" begin-line end-line (1- 
(position-bytes end))) nil t)
-      (ada-gps-session-send (buffer-substring-no-properties (point-min) end) t 
nil)
-
-      (when delete-bogus
-       (backward-delete-char 5))
-
-      (with-current-buffer (ada-gps--session-buffer ada-gps-session)
-       ;; buffer contains two numbers per line; Emacs line number,
-       ;; indent. Or an error message.
-       (goto-char (point-min))
-       (while (and (not failed)
-                   (not (looking-at ada-gps-prompt)))
-         (if (looking-at ada-gps-output-regexp)
-             (let ((line (string-to-number (match-string 1)))
-                   (indent (string-to-number (match-string 2))))
-               (with-current-buffer source-buffer
-                 (goto-char (point-min))
-                 (forward-line (1- line))
-                 (indent-line-to indent)
-                 )
-
-               (forward-line 1))
-
-           ;; else some error message
-           (setq failed t)
-           (cond
-            ((> ada-gps-debug 0)
-             (message "ada-gps returned '%s'" (buffer-substring-no-properties 
(point-min) (point-max)))
-             (goto-char (point-max)))
-            (t
-             (message "ada-gps indent failed")
-             )))
-         ))
-
-      (unless failed
-       ;; run ada-gps-indent-functions on region
-       (goto-char begin)
-       (let ((line begin-line)
-             indent)
-         (while (<= line end-line)
-           (back-to-indentation)
-           (setq indent
-                 (run-hook-with-args-until-success 'ada-gps-indent-functions))
-           (when indent
-             (indent-line-to indent))
-           (forward-line 1)
-           (setq line (1+ line))
-           )))
-      )))
-
-(defun ada-gps--comment-goto-start()
-  ;; If comment is after a terminal semicolon, indent to
-  ;; beginning of statement, not prev line.
-  ;;
-  ;; test/ada-gps/ada_gps_bug_007.adb
-  (let (cache)
-    (end-of-line)
-    (wisi-validate-cache (point) nil 'navigate)
-    (setq cache (wisi-backward-cache))
-    (when (and cache ;; parse might have failed
-              (eq 'statement-end (wisi-cache-class cache)))
-      (wisi-goto-start cache))))
-
-(defun ada-gps-comment ()
-  "Modify indentation of a comment:
-For `ada-gps-indent-functions'.
-- align to previous comment after code.
-- align to previous code
-- respect `ada-indent-comment-gnat'."
-  ;; We know we are at the first token on a line. We check for comment
-  ;; syntax, not comment-start, to accomodate gnatprep, skeleton
-  ;; placeholders, etc.
-  ;;
-  ;; The ada-gps indentation algorithm has already indented the
-  ;; comment; however, it gets this wrong in many cases, so we don't
-  ;; trust it. We compare the ada-gps indent to previous and following
-  ;; code indent, then choose the best fit.
-  (when (and (not (eobp))
-            (= 11 (syntax-class (syntax-after (point)))))
-
-    ;; We are looking at a comment; check for preceding comments, code
-    (let ((indent (current-column))
-         after prev-indent next-indent)
-
-      (if (save-excursion (forward-line -1) (looking-at "\\s *$"))
-         ;; after blank line - find a code line
-         (save-excursion
-           (setq after 'code)
-           (forward-line -1)
-           (while (or (bobp)
-                      (looking-at "\\s *$"))
-             (forward-line -1))
-           (if (bobp)
-               (setq prev-indent 0)
-
-             (ada-gps--comment-goto-start)
-             (back-to-indentation)
-             (setq prev-indent (current-column)))
-           )
-
-       ;; after a code line
-       (save-excursion
-         (forward-comment -1)
-         (if (eolp)
-             ;; no comment on previous line
-             (progn
-               (setq after 'code)
-               (ada-gps--comment-goto-start)
-               (back-to-indentation)
-               (setq prev-indent (current-column)))
-
-           (setq prev-indent (current-column))
-           (if (not (= prev-indent (progn (back-to-indentation) 
(current-column))))
-               ;; previous line has comment following code
-               (setq after 'code-comment)
-             ;; previous line has plain comment
-             (setq after 'comment)
-             )))
-       )
-
-      (cl-ecase after
-       (code
-        (if ada-indent-comment-gnat
-            (ada-wisi-comment-gnat indent 'code)
-
-          ;; Find indent of following code
-          (save-excursion
-            (forward-line 1)
-            (while (or (eobp)
-                       (looking-at "\\s *$"))
-              (forward-line 1))
-            (if (eobp)
-                (setq next-indent 0)
-              (back-to-indentation)
-              (setq next-indent (current-column))))
-
-          (cond
-           ((or (= indent prev-indent)
-                (= indent next-indent))
-            indent)
-           (t
-            prev-indent))))
-
-       (comment
-        prev-indent)
-
-       (code-comment
-        (if ada-indent-comment-gnat
-            (ada-wisi-comment-gnat indent 'code-comment)
-
-          ;; After comment that follows code on the same line
-          ;; test/ada_mode-nominal.adb
-          ;;
-          ;; begin -- 2
-          ;;       --EMACSCMD:(progn 
(ada-goto-declarative-region-start)(looking-at "Bad_Thing"))
-          prev-indent)
-        ))
-      )))
-
-(defun ada-gps-noop-send ()
-  "Just send buffer text to gps process.
-For use with ’wisi-time’."
-  (ada-gps-session-send (format "noop %d" (1- (position-bytes (point-max)))) 
nil t)
-  (ada-gps-session-send (buffer-substring-no-properties (point-min) 
(point-max)) t nil))
-
-;;;;; setup
-
-(defun ada-gps-setup ()
-  "Set up a buffer for indenting with ada-gps."
-  (set (make-local-variable 'indent-line-function) 'ada-gps-indent-line)
-  (set (make-local-variable 'indent-region-function) 'ada-gps-indent-region)
-  (ada-gps-require-session)
-
-  ;; file local variables may have added opentoken, gnatprep
-  (setq ada-gps-indent-functions (append ada-gps-indent-functions (list 
#'ada-gps-comment)))
-  )
-
-(require 'ada-wisi)
-
-(defun ada-gps-or-wisi-setup ()
-  "If buffer size > `ada-gps-size-threshold', use ada-gps;
-otherwise use ada-wisi indentation engine with ada-gps fallback,"
-  ;; ada-gps-size-threshold can be set in file-local variables, which
-  ;; are parsed after ada-mode-hook runs.
-  (ada-wisi-setup)
-  (add-hook 'hack-local-variables-hook 'ada-gps-post-local-vars nil t))
-
-(defun ada-gps-post-local-vars ()
-  "See `ada-gsp-or-wisi-setup'"
-  (setq hack-local-variables-hook (delq 'ada-gps-post-local-vars 
hack-local-variables-hook))
-
-  (if (> (point-max) ada-gps-size-threshold)
-      ;; use ada-gps for indent, ada-wisi for face, navigation
-      (ada-gps-setup)
-    ;; else use ada-wisi for primary indent, gps for fallback
-    (setq wisi-indent-region-fallback 'ada-gps-indent-region)
-    ))
-
-(provide 'ada-gps)
-
-(unless (locate-file ada-gps-indent-exec exec-path '("" ".exe"))
-  (error "%s not found on `exec-path'" ada-gps-indent-exec))
-
-(add-hook 'ada-mode-hook 'ada-gps-or-wisi-setup)
-(setq ada-mode-hook (delq 'ada-wisi-setup ada-mode-hook))
-
-;; end of file
diff --git a/packages/ada-mode/ada-indent-user-options.el 
b/packages/ada-mode/ada-indent-user-options.el
index 36c8cff..b4d309c 100644
--- a/packages/ada-mode/ada-indent-user-options.el
+++ b/packages/ada-mode/ada-indent-user-options.el
@@ -1,6 +1,6 @@
 ;; user options shared by Ada mode indentation engines  -*- lexical-binding:t 
-*-
 ;;
-;; Copyright (C) 2012, 2013, 2015, 2017, 2018  Free Software Foundation, Inc.
+;; Copyright (C) 2012, 2013, 2015, 2017 - 2019  Free Software Foundation, Inc.
 ;;
 ;; Author: Stephen Leake <address@hidden>
 ;; Contributors: Simon Wright <address@hidden>
@@ -234,6 +234,14 @@ Otherwise, indent by `ada-indent-broken' relative to the 
start of the expression
   :safe #'booleanp)
 (make-variable-buffer-local 'ada-indent-hanging-rel-exp)
 
+(defcustom ada-indent-after-trailing-comment t
+ "If t, align comment lines imediately following a comment on the
+ same line as code with the preceding comment. Otherwise, ignore
+ the preceding comment."
+  :type 'boolean
+  :safe #'booleanp)
+(make-variable-buffer-local 'ada-indent-after-trailing-comment)
+
 (defcustom ada-end-name-optional nil
   "If t, names at ends of blocks/subprograms are optional (as in
 standard Ada). If nil, they are required; this helps in error
diff --git a/packages/ada-mode/ada-lalr-elisp.el 
b/packages/ada-mode/ada-lalr-elisp.el
index 30bd149..811b0d4 100644
--- a/packages/ada-mode/ada-lalr-elisp.el
+++ b/packages/ada-mode/ada-lalr-elisp.el
@@ -1,7 +1,7 @@
 ;;; ada-lalr-elisp.el --- Generated parser support file  -*- lexical-binding:t 
-*-
 ;;  command line: wisitoken-bnf-generate.exe  --generate LALR elisp elisp 
ada.wy
 
-;;  Copyright (C) 2013 - 2018 Free Software Foundation, Inc.
+;;  Copyright (C) 2013 - 2019 Free Software Foundation, Inc.
 
 ;;  This program is free software; you can redistribute it and/or
 ;;  modify it under the terms of the GNU General Public License as
@@ -168,23 +168,23 @@
        (()))
       (abstract_subprogram_declaration
        ((overriding_indicator_opt subprogram_specification IS ABSTRACT 
aspect_specification_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 2 statement-override 6 
statement-end])
+        (progn
+      (wisi-statement-action [1 statement-start 2 statement-override 6 
statement-end])
       (wisi-indent-action [0 0 ada-indent-broken ada-indent-broken 0 0]))))
       (accept_statement
        ((ACCEPT IDENTIFIER actual_parameter_part_opt parameter_profile_opt DO 
handled_sequence_of_statements END identifier_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 5 motion 9 statement-end])
-      (wisi-containing-action 1 4) ;; for goto-declaration-start
-      (wisi-containing-action 1 6) ;; ""
-      (wisi-motion-action [1 5 [6 EXCEPTION WHEN] 9])
-      (wisi-face-apply-action [2 nil font-lock-function-name-face 8 nil 
font-lock-function-name-face])
+        (progn
+      (wisi-statement-action [1 statement-start 5 motion 9 statement-end])
+      (wisi-containing-action 1 4) ;; for goto-declaration-start
+      (wisi-containing-action 1 6) ;; ""
+      (wisi-motion-action [1 5 [6 EXCEPTION WHEN] 9])
+      (wisi-face-apply-action [2 nil font-lock-function-name-face 8 nil 
font-lock-function-name-face])
       (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken [0 ada-indent] [ada-indent ada-indent] 0 0 0])))
        ((ACCEPT IDENTIFIER actual_parameter_part_opt parameter_profile_opt 
SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 5 statement-end])
-      (wisi-containing-action 1 4) ;; for goto-declaration-start
-      (wisi-face-apply-action [2 nil font-lock-function-name-face])
+        (progn
+      (wisi-statement-action [1 statement-start 5 statement-end])
+      (wisi-containing-action 1 4) ;; for goto-declaration-start
+      (wisi-face-apply-action [2 nil font-lock-function-name-face])
       (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken 0]))))
       (access_definition
        ((null_exclusion_opt ACCESS protected_opt PROCEDURE 
parameter_profile_opt )
@@ -205,7 +205,7 @@
        ((LEFT_PAREN expression_opt WITH NULL RECORD RIGHT_PAREN )
         (wisi-indent-action [0 (wisi-anchored 1 1) (wisi-anchored 1 1) 0 0 
(wisi-anchored 1 0)]))
        ((LEFT_PAREN expression_opt WITH association_list RIGHT_PAREN )
-        (wisi-indent-action [0 (wisi-anchored 1 1) (wisi-anchored 1 1) 
[(wisi-anchored 1 1) (wisi-anchored 1 1)]
+        (wisi-indent-action [0 (wisi-anchored 1 1) (wisi-anchored 1 1) 
[(wisi-anchored 1 1) (wisi-anchored 1 1)]
                          (wisi-anchored 1 0)]))
        ((LEFT_PAREN NULL RECORD RIGHT_PAREN ))
        ((LEFT_PAREN conditional_quantified_expression RIGHT_PAREN )
@@ -235,26 +235,26 @@
        (()))
       (assignment_statement
        ((name COLON_EQUAL expression_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 4 statement-end])
-      (wisi-containing-action 1 3)
-      (wisi-indent-action [0
-                           ada-indent-broken
-                           (wisi-hanging
-                            (wisi-anchored% 2 ada-indent-broken)
-                            (wisi-anchored% 3 ada-indent-broken))
+        (progn
+      (wisi-statement-action [1 statement-start 4 statement-end])
+      (wisi-containing-action 1 3)
+      (wisi-indent-action [0
+                           ada-indent-broken
+                           (wisi-hanging
+                            (wisi-anchored% 2 ada-indent-broken)
+                            (wisi-anchored% 3 ada-indent-broken))
                            0]))))
       (association_opt
        ((CHARACTER_LITERAL EQUAL_GREATER expression_opt )
-        (wisi-indent-action [0 ada-indent-broken
+        (wisi-indent-action [0 ada-indent-broken
                          [(wisi-anchored% 2 ada-indent-broken) (wisi-anchored% 
2 ada-indent-broken)]]))
        ((CHARACTER_LITERAL EQUAL_GREATER BOX ))
        ((discrete_choice_list EQUAL_GREATER expression_opt )
-        (wisi-indent-action [(wisi-hanging 0 ada-indent-broken)
-                         ada-indent-broken
-                         [(wisi-hanging%- (wisi-anchored% 2 ada-indent-broken)
-                            (wisi-anchored% 2 (* 2 ada-indent-broken)))
-                          (wisi-hanging%- (wisi-anchored% 2 ada-indent-broken)
+        (wisi-indent-action [(wisi-hanging 0 ada-indent-broken)
+                         ada-indent-broken
+                         [(wisi-hanging%- (wisi-anchored% 2 ada-indent-broken)
+                            (wisi-anchored% 2 (* 2 ada-indent-broken)))
+                          (wisi-hanging%- (wisi-anchored% 2 ada-indent-broken)
                             (wisi-anchored% 2 (* 2 ada-indent-broken)))]]))
        ((discrete_choice_list EQUAL_GREATER BOX )
         (wisi-indent-action [(wisi-hanging 0 ada-indent-broken) 
ada-indent-broken 0]))
@@ -266,11 +266,11 @@
        ((association_opt )))
       (asynchronous_select
        ((SELECT triggering_alternative THEN ABORT sequence_of_statements_opt 
END SELECT SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 3 motion 8 statement-end])
-      (wisi-containing-action 1 2)
-      (wisi-containing-action 1 5)
-      (wisi-indent-action [[0 ada-indent] [ada-indent ada-indent] [0 
ada-indent-broken] ada-indent-broken
+        (progn
+      (wisi-statement-action [1 statement-start 3 motion 8 statement-end])
+      (wisi-containing-action 1 2)
+      (wisi-containing-action 1 5)
+      (wisi-indent-action [[0 ada-indent] [ada-indent ada-indent] [0 
ada-indent-broken] ada-indent-broken
                            [ada-indent ada-indent] 0 0 0]))))
       (at_clause
        ((FOR direct_name USE AT expression_opt SEMICOLON )
@@ -295,17 +295,17 @@
        (()))
       (block_statement
        ((block_label_opt DECLARE declarative_part_opt BEGIN 
handled_sequence_of_statements END identifier_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 2 misc 4 motion 8 
statement-end])
-      (wisi-containing-action 2 3)
-      (wisi-containing-action 2 5)
-      (wisi-motion-action [2 4 [5 EXCEPTION WHEN] 8])
+        (progn
+      (wisi-statement-action [1 statement-start 2 misc 4 motion 8 
statement-end])
+      (wisi-containing-action 2 3)
+      (wisi-containing-action 2 5)
+      (wisi-motion-action [2 4 [5 EXCEPTION WHEN] 8])
       (wisi-indent-action [0 [0 ada-indent] [ada-indent ada-indent] [0 
ada-indent] [ada-indent ada-indent] 0 0 0])))
        ((block_label_opt BEGIN handled_sequence_of_statements END 
identifier_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 2 misc 6 statement-end])
-      (wisi-containing-action 2 3)
-      (wisi-motion-action [2 [3 EXCEPTION WHEN] 6])
+        (progn
+      (wisi-statement-action [1 statement-start 2 misc 6 statement-end])
+      (wisi-containing-action 2 3)
+      (wisi-motion-action [2 [3 EXCEPTION WHEN] 6])
       (wisi-indent-action [0 [0 ada-indent] [ada-indent ada-indent] 0 0 0]))))
       (body_g
        ((proper_body ))
@@ -320,8 +320,8 @@
         (wisi-indent-action [0 ada-indent-broken 0 ada-indent-when])))
       (case_expression_alternative
        ((WHEN discrete_choice_list EQUAL_GREATER expression_opt )
-        (wisi-indent-action [0 ada-indent-broken ada-indent-broken
-                           (wisi-hanging (wisi-anchored% 1 ada-indent)
+        (wisi-indent-action [0 ada-indent-broken ada-indent-broken
+                           (wisi-hanging (wisi-anchored% 1 ada-indent)
                                          (wisi-anchored% 1 (+ ada-indent 
ada-indent-broken)))])))
       (case_expression_alternative_list
        ((case_expression_alternative_list COMMA case_expression_alternative )
@@ -329,16 +329,16 @@
        ((case_expression_alternative )))
       (case_statement
        ((CASE expression_opt IS case_statement_alternative_list END CASE 
SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 3 motion 7 statement-end])
-      (wisi-containing-action 1 4)
-      (wisi-motion-action [1 [4 WHEN] 7])
-      (wisi-indent-action [0 ada-indent-broken [0 ada-indent-when] 
ada-indent-when 0 0 0]))))
+        (progn
+      (wisi-statement-action [1 statement-start 3 motion 7 statement-end])
+      (wisi-containing-action 1 4)
+      (wisi-motion-action [1 [4 WHEN] 7])
+      (wisi-indent-action [0 ada-indent-broken [0 ada-indent-when] 
[ada-indent-when ada-indent-when] 0 0 0]))))
       (case_statement_alternative
        ((WHEN discrete_choice_list EQUAL_GREATER sequence_of_statements_opt )
-        (progn
-      (wisi-statement-action [1 motion])
-      ;; ada-indent-when added in case_statement
+        (progn
+      (wisi-statement-action [1 motion])
+      ;; ada-indent-when added in case_statement
       (wisi-indent-action [0 ada-indent-broken ada-indent-broken [ada-indent 
ada-indent]]))))
       (case_statement_alternative_list
        ((case_statement_alternative_list case_statement_alternative ))
@@ -346,31 +346,34 @@
       (compilation_unit
        ((with_clause ))
        ((subunit ))
-       ((PRIVATE declaration ))
+       ((PRIVATE declaration )
+        (wisi-indent-action [0 0]))
        ((declaration ))
        ((statement )))
       (compilation_unit_list
-       ((compilation_unit_list compilation_unit ))
-       ((compilation_unit )))
+       ((compilation_unit_list compilation_unit )
+        (wisi-indent-action [0 [0 0]]))
+       ((compilation_unit )
+        (wisi-indent-action [[0 0]])))
       (component_clause
        ((IDENTIFIER AT simple_expression RANGE simple_expression DOT_DOT 
simple_expression SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 8 statement-end])
+        (progn
+      (wisi-statement-action [1 statement-start 8 statement-end])
       (wisi-indent-action [0 0 ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken ada-indent-broken 0]))))
       (component_clause_list
        ((component_clause_list component_clause ))
        ((component_clause )))
       (component_declaration
        ((identifier_list COLON component_definition COLON_EQUAL expression_opt 
aspect_specification_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 7 statement-end])
-      (wisi-containing-action 1 3) ;; for goto-declaration-start
-      (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken (wisi-anchored% 4 ada-indent-broken)
+        (progn
+      (wisi-statement-action [1 statement-start 7 statement-end])
+      (wisi-containing-action 1 3) ;; for goto-declaration-start
+      (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken (wisi-anchored% 4 ada-indent-broken)
                              ada-indent-broken 0])))
        ((identifier_list COLON component_definition aspect_specification_opt 
SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 5 statement-end])
-      (wisi-containing-action 1 3) ;; for goto-declaration-start
+        (progn
+      (wisi-statement-action [1 statement-start 5 statement-end])
+      (wisi-containing-action 1 3) ;; for goto-declaration-start
       (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken 0]))))
       (component_definition
        ((ALIASED subtype_indication ))
@@ -400,10 +403,10 @@
        ((select_statement )))
       (conditional_entry_call
        ((SELECT entry_call_alternative ELSE sequence_of_statements_opt END 
SELECT SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 3 motion 7 statement-end])
-      (wisi-containing-action 1 2)
-      (wisi-containing-action 1 4)
+        (progn
+      (wisi-statement-action [1 statement-start 3 motion 7 statement-end])
+      (wisi-containing-action 1 2)
+      (wisi-containing-action 1 4)
       (wisi-indent-action [[0 ada-indent] [ada-indent ada-indent] [0 
ada-indent] [ada-indent ada-indent] 0 0 0]))))
       (conditional_quantified_expression
        ((if_expression ))
@@ -429,10 +432,10 @@
        ((generic_instantiation ))
        ((null_procedure_declaration ))
        ((identifier_list COLON CONSTANT COLON_EQUAL expression_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 6 statement-end])
-      (wisi-containing-action 1 5)
-      (wisi-indent-action [(wisi-hanging 0 ada-indent-broken) 
ada-indent-broken ada-indent-broken ada-indent-broken
+        (progn
+      (wisi-statement-action [1 statement-start 6 statement-end])
+      (wisi-containing-action 1 5)
+      (wisi-indent-action [(wisi-hanging 0 ada-indent-broken) 
ada-indent-broken ada-indent-broken ada-indent-broken
                            (wisi-anchored% 4 ada-indent-broken) 0])))
        ((object_declaration ))
        ((package_declaration ))
@@ -453,12 +456,12 @@
        ((delay_statement sequence_of_statements_opt )))
       (delay_statement
        ((DELAY UNTIL expression_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 4 statement-end])
+        (progn
+      (wisi-statement-action [1 statement-start 4 statement-end])
       (wisi-indent-action [0 ada-indent-broken ada-indent-broken 0])))
        ((DELAY expression_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 3 statement-end])
+        (progn
+      (wisi-statement-action [1 statement-start 3 statement-end])
       (wisi-indent-action [0 ada-indent-broken 0]))))
       (derived_type_definition
        ((abstract_limited_opt NEW name and_interface_list_opt WITH 
record_definition )
@@ -502,44 +505,44 @@
        ((discriminant_specification_opt )))
       (elsif_expression_item
        ((ELSIF expression_opt THEN expression_opt )
-        (progn
-      (wisi-statement-action [1 motion 3 motion])
-      (wisi-indent-action [0 ada-indent-broken 0 ada-indent]))))
+        (progn
+      (wisi-statement-action [1 motion 3 motion])
+      (wisi-indent-action [0 [ada-indent-broken ada-indent-broken] 0 
ada-indent]))))
       (elsif_expression_list
        ((elsif_expression_list elsif_expression_item ))
        ((elsif_expression_item )))
       (elsif_statement_item
        ((ELSIF expression_opt THEN sequence_of_statements_opt )
-        (progn
-      (wisi-statement-action [1 motion 3 motion])
-      (wisi-indent-action [0 ada-indent-broken 0 [ada-indent ada-indent]]))))
+        (progn
+      (wisi-statement-action [1 motion 3 motion])
+      (wisi-indent-action [0 [ada-indent-broken ada-indent-broken] 0 
[ada-indent ada-indent]]))))
       (elsif_statement_list
        ((elsif_statement_list elsif_statement_item ))
        ((elsif_statement_item )))
       (entry_body
        ((ENTRY IDENTIFIER entry_body_formal_part WHEN expression_opt IS 
declarative_part_opt BEGIN handled_sequence_of_statements END identifier_opt 
SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 2 name 4 motion 6 motion 8 
motion 12 statement-end])
-      (wisi-containing-action 1 3) ;; for goto-declaration-start
-      (wisi-containing-action 1 7)
-      (wisi-containing-action 1 9)
-      (wisi-motion-action [1 4 6 8 12])
-      (wisi-face-apply-action [2 nil font-lock-function-name-face 11 nil 
font-lock-function-name-face])
-
-      ;; test/ada_mode-nominal.adb
-      ;; entry E2
-      ;;   (X : Integer)
-      ;;   when Local_1 = 0 and not
-      ;;     (Local_2 = 1)
-      ;;
-      ;; entry E3
-      ;;   (X : Integer) when Local_1 = 0 and not
-      ;;     (Local_2 = 1)
-      (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken (wisi-anchored% 4 ada-indent-broken)
+        (progn
+      (wisi-statement-action [1 statement-start 2 name 4 motion 6 motion 8 
motion 12 statement-end])
+      (wisi-containing-action 1 3) ;; for goto-declaration-start
+      (wisi-containing-action 1 7)
+      (wisi-containing-action 1 9)
+      (wisi-motion-action [1 4 6 8 12])
+      (wisi-face-apply-action [2 nil font-lock-function-name-face 11 nil 
font-lock-function-name-face])
+
+      ;; test/ada_mode-nominal.adb
+      ;; entry E2
+      ;;   (X : Integer)
+      ;;   when Local_1 = 0 and not
+      ;;     (Local_2 = 1)
+      ;;
+      ;; entry E3
+      ;;   (X : Integer) when Local_1 = 0 and not
+      ;;     (Local_2 = 1)
+      (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken (wisi-anchored% 4 ada-indent-broken)
                              0 [ada-indent ada-indent] 0 [ada-indent 
ada-indent] 0 0 0]))))
       (entry_body_formal_part
        ((LEFT_PAREN FOR IDENTIFIER IN discrete_subtype_definition RIGHT_PAREN 
parameter_profile_opt )
-        (wisi-indent-action [0 (wisi-anchored 1 1) (wisi-anchored 1 1) 
(wisi-anchored 1 1) (wisi-anchored 1 1)
+        (wisi-indent-action [0 (wisi-anchored 1 1) (wisi-anchored 1 1) 
(wisi-anchored 1 1) (wisi-anchored 1 1)
                            (wisi-anchored 1 0) ada-indent-broken]))
        ((parameter_profile_opt )))
       (entry_call_alternative
@@ -547,17 +550,17 @@
        ((name sequence_of_statements_opt )))
       (entry_declaration
        ((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 motion 3 name 8 
statement-end])
-      (wisi-containing-action 2 7) ;; for goto-declaration-start
-      (wisi-face-apply-action [3 nil font-lock-function-name-face])
-      (wisi-indent-action [0 0 ada-indent-broken ada-indent-broken 
(wisi-anchored 4 1) (wisi-anchored 4 0)
+        (progn
+      (wisi-statement-action [1 statement-start 2 motion 3 name 8 
statement-end])
+      (wisi-containing-action 2 7) ;; for goto-declaration-start
+      (wisi-face-apply-action [3 nil font-lock-function-name-face])
+      (wisi-indent-action [0 0 ada-indent-broken ada-indent-broken 
(wisi-anchored 4 1) (wisi-anchored 4 0)
                              ada-indent-broken 0 0])))
        ((overriding_indicator_opt ENTRY IDENTIFIER parameter_profile_opt 
aspect_specification_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 2 motion 3 name 6 
statement-end])
-      (wisi-containing-action 2 4) ;; for goto-declaration-start
-      (wisi-face-apply-action [3 nil font-lock-function-name-face])
+        (progn
+      (wisi-statement-action [1 statement-start 2 motion 3 name 6 
statement-end])
+      (wisi-containing-action 2 4) ;; for goto-declaration-start
+      (wisi-face-apply-action [3 nil font-lock-function-name-face])
       (wisi-indent-action [0 0 ada-indent-broken ada-indent-broken 
ada-indent-broken 0]))))
       (enumeration_literal
        ((IDENTIFIER ))
@@ -567,9 +570,9 @@
        ((enumeration_literal )))
       (enumeration_representation_clause
        ((FOR name USE aggregate SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 5 statement-end])
-      (wisi-face-apply-action [2 font-lock-function-name-face 
font-lock-type-face])
+        (progn
+      (wisi-statement-action [1 statement-start 5 statement-end])
+      (wisi-face-apply-action [2 font-lock-function-name-face 
font-lock-type-face])
       (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken 0]))))
       (enumeration_type_definition
        ((LEFT_PAREN enumeration_literal_list RIGHT_PAREN )
@@ -585,13 +588,13 @@
         (wisi-statement-action [1 statement-start 4 statement-end])))
       (exception_handler
        ((WHEN IDENTIFIER COLON exception_choice_list EQUAL_GREATER 
sequence_of_statements_opt )
-        (progn
-      (wisi-statement-action [1 motion])
-      (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken
+        (progn
+      (wisi-statement-action [1 motion])
+      (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken
                              [ada-indent ada-indent]])))
        ((WHEN exception_choice_list EQUAL_GREATER sequence_of_statements_opt )
-        (progn
-      (wisi-statement-action [1 motion])
+        (progn
+      (wisi-statement-action [1 motion])
       (wisi-indent-action [0 ada-indent-broken ada-indent-broken [ada-indent 
ada-indent]]))))
       (exception_handler_list
        ((exception_handler_list exception_handler ))
@@ -602,8 +605,8 @@
        (()))
       (exit_statement
        ((EXIT identifier_opt WHEN expression_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 5 statement-end])
+        (progn
+      (wisi-statement-action [1 statement-start 5 statement-end])
       (wisi-indent-action [0 0 0 ada-indent-broken 0])))
        ((EXIT identifier_opt SEMICOLON )
         (wisi-statement-action [1 statement-start 3 statement-end])))
@@ -619,12 +622,12 @@
        (()))
       (expression_function_declaration
        ((overriding_indicator_opt function_specification IS paren_expression 
aspect_specification_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 2 statement-override 6 
statement-end])
+        (progn
+      (wisi-statement-action [1 statement-start 2 statement-override 6 
statement-end])
       (wisi-indent-action [0 0 ada-indent-broken ada-indent-broken 0 0]))))
       (extended_return_object_declaration
        ((IDENTIFIER COLON aliased_opt constant_opt return_subtype_indication 
COLON_EQUAL expression_opt )
-        (wisi-indent-action [0 0 ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken
+        (wisi-indent-action [0 0 ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken
                            (wisi-anchored% 6 ada-indent-broken)]))
        ((IDENTIFIER COLON aliased_opt constant_opt return_subtype_indication )
         (wisi-indent-action [0 0 ada-indent-broken ada-indent-broken 
ada-indent-broken])))
@@ -633,13 +636,13 @@
        (()))
       (extended_return_statement
        ((RETURN extended_return_object_declaration_opt DO 
handled_sequence_of_statements END RETURN SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 3 motion 7 statement-end])
-      (wisi-containing-action 1 4)
-      (wisi-motion-action [1 3 7])
+        (progn
+      (wisi-statement-action [1 statement-start 3 motion 7 statement-end])
+      (wisi-containing-action 1 4)
+      (wisi-motion-action [1 3 7])
       (wisi-indent-action [[0 ada-indent] ada-indent-broken [0 ada-indent] 
[ada-indent ada-indent] 0 0 0])))
        ((RETURN extended_return_object_declaration SEMICOLON )
-        (progn
+        (progn
       (wisi-statement-action [1 statement-start 3 statement-end]))))
       (factor
        ((primary STAR_STAR primary ))
@@ -648,64 +651,64 @@
        ((NOT primary )))
       (formal_object_declaration
        ((identifier_list COLON mode_opt null_exclusion_opt name COLON_EQUAL 
expression_opt aspect_specification_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 9 statement-end])
-      (wisi-face-apply-action [5 font-lock-function-name-face 
font-lock-type-face])
-      (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken ada-indent-broken
+        (progn
+      (wisi-statement-action [1 statement-start 9 statement-end])
+      (wisi-face-apply-action [5 font-lock-function-name-face 
font-lock-type-face])
+      (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken ada-indent-broken
                              (wisi-anchored% 6 ada-indent-broken) 
ada-indent-broken 0])))
        ((identifier_list COLON mode_opt access_definition COLON_EQUAL 
expression_opt aspect_specification_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 8 statement-end])
-      (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken
+        (progn
+      (wisi-statement-action [1 statement-start 8 statement-end])
+      (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken
                              (wisi-anchored% 5 ada-indent-broken) 
ada-indent-broken 0])))
        ((identifier_list COLON mode_opt null_exclusion_opt name 
aspect_specification_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 7 statement-end])
-      (wisi-face-apply-action [5 font-lock-function-name-face 
font-lock-type-face])
+        (progn
+      (wisi-statement-action [1 statement-start 7 statement-end])
+      (wisi-face-apply-action [5 font-lock-function-name-face 
font-lock-type-face])
       (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken ada-indent-broken 0])))
        ((identifier_list COLON mode_opt access_definition 
aspect_specification_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 6 statement-end])
+        (progn
+      (wisi-statement-action [1 statement-start 6 statement-end])
       (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken 0]))))
       (formal_part
        ((LEFT_PAREN parameter_specification_list RIGHT_PAREN )
-        (progn
-      (wisi-statement-action [1 misc]) ;; for ada-wisi-in-paramlist-p
+        (progn
+      (wisi-statement-action [1 misc]) ;; for ada-wisi-in-paramlist-p
       (wisi-indent-action [0 (wisi-anchored 1 1) (wisi-anchored 1 0)]))))
       (formal_subprogram_declaration
        ((WITH subprogram_specification IS ABSTRACT subprogram_default 
aspect_specification_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 7 statement-end])
+        (progn
+      (wisi-statement-action [1 statement-start 7 statement-end])
       (wisi-indent-action [0 0 ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken 0])))
        ((WITH subprogram_specification IS subprogram_default 
aspect_specification_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 6 statement-end])
+        (progn
+      (wisi-statement-action [1 statement-start 6 statement-end])
       (wisi-indent-action [0 0 ada-indent-broken ada-indent-broken 
ada-indent-broken 0])))
        ((WITH subprogram_specification IS ABSTRACT aspect_specification_opt 
SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 6 statement-end])
+        (progn
+      (wisi-statement-action [1 statement-start 6 statement-end])
       (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken 0])))
        ((WITH subprogram_specification aspect_specification_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 4 statement-end])
+        (progn
+      (wisi-statement-action [1 statement-start 4 statement-end])
       (wisi-indent-action [0 0 ada-indent-broken 0]))))
       (formal_type_declaration
        ((TYPE IDENTIFIER discriminant_part_opt IS formal_type_definition 
aspect_specification_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 7 statement-end])
-      (wisi-containing-action 1 5) ;; for goto-declaration-start
-      (wisi-face-apply-action [2 nil font-lock-type-face])
-      (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken
+        (progn
+      (wisi-statement-action [1 statement-start 7 statement-end])
+      (wisi-containing-action 1 5) ;; for goto-declaration-start
+      (wisi-face-apply-action [2 nil font-lock-type-face])
+      (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken
                              ada-indent-broken ada-indent-broken 0])))
        ((TYPE IDENTIFIER discriminant_part_opt IS TAGGED 
aspect_specification_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 7 statement-end])
-      (wisi-face-apply-action [2 nil font-lock-type-face])
+        (progn
+      (wisi-statement-action [1 statement-start 7 statement-end])
+      (wisi-face-apply-action [2 nil font-lock-type-face])
       (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken ada-indent-broken 0])))
        ((TYPE IDENTIFIER discriminant_part_opt aspect_specification_opt 
SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 5 statement-end])
-      (wisi-face-apply-action [2 nil font-lock-type-face])
+        (progn
+      (wisi-statement-action [1 statement-start 5 statement-end])
+      (wisi-face-apply-action [2 nil font-lock-type-face])
       (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken 0]))))
       (formal_type_definition
        ((abstract_tagged_limited_opt PRIVATE ))
@@ -726,34 +729,34 @@
         (wisi-face-apply-action [3 font-lock-function-name-face 
font-lock-type-face])))
       (formal_package_declaration
        ((WITH PACKAGE name IS NEW name formal_package_actual_part 
aspect_specification_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 9 statement-end])
-      (wisi-face-apply-action [3 font-lock-function-name-face 
font-lock-function-name-face
-                                 6 font-lock-function-name-face 
font-lock-function-name-face])
+        (progn
+      (wisi-statement-action [1 statement-start 9 statement-end])
+      (wisi-face-apply-action [3 font-lock-function-name-face 
font-lock-function-name-face
+                                 6 font-lock-function-name-face 
font-lock-function-name-face])
       (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken ada-indent-broken ada-indent-broken 
ada-indent-broken 0]))))
       (formal_package_actual_part
        ((LEFT_PAREN BOX RIGHT_PAREN ))
        (()))
       (full_type_declaration
        ((TYPE IDENTIFIER discriminant_part_opt IS type_definition 
aspect_specification_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 2 name 7 statement-end])
-      (wisi-containing-action 1 5) ;; for goto-declaration-start
-      (wisi-face-apply-action [2 nil font-lock-type-face])
-
-      ;; FIXME: indentation of comment after 'is' (and 'with' in
-      ;; derived_type_definition) should be ada-indent-record-rel-type
-      ;; if type_definition is a record. Worse if
-      ;; ada-indent-comment-gnat is t. Need 'anchor to next line'.
+        (progn
+      (wisi-statement-action [1 statement-start 2 name 7 statement-end])
+      (wisi-containing-action 1 5) ;; for goto-declaration-start
+      (wisi-face-apply-action [2 nil font-lock-type-face])
+
+      ;; FIXME: indentation of comment after 'is' (and 'with' in
+      ;; derived_type_definition) should be ada-indent-record-rel-type
+      ;; if type_definition is a record. Worse if
+      ;; ada-indent-comment-gnat is t. Need 'anchor to next line'.
       (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
[ada-indent-broken ada-indent-broken] ada-indent-broken 0 0])))
        ((task_type_declaration ))
        ((protected_type_declaration )))
       (function_specification
        ((FUNCTION name parameter_and_result_profile )
-        (progn
-      (wisi-statement-action [1 statement-start 2 name])
-      (wisi-containing-action 1 3) ;; for goto-declaration-start
-      (wisi-face-apply-action [2 font-lock-function-name-face 
font-lock-function-name-face])
+        (progn
+      (wisi-statement-action [1 statement-start 2 name])
+      (wisi-containing-action 1 3) ;; for goto-declaration-start
+      (wisi-face-apply-action [2 font-lock-function-name-face 
font-lock-function-name-face])
       (wisi-indent-action [0 ada-indent-broken ada-indent-broken]))))
       (general_access_modifier_opt
        ((ALL ))
@@ -764,8 +767,8 @@
        ((generic_package_declaration )))
       (generic_formal_part
        ((GENERIC generic_formal_parameter_declarations )
-        (progn
-      (wisi-statement-action [1 statement-start])
+        (progn
+      (wisi-statement-action [1 statement-start])
       (wisi-indent-action [0 ada-indent])))
        ((GENERIC )
         (wisi-statement-action [1 statement-start])))
@@ -781,63 +784,65 @@
        ((use_clause )))
       (generic_instantiation
        ((PACKAGE name IS NEW name aspect_specification_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 2 name 7 statement-end])
-      (wisi-face-apply-action [2 font-lock-function-name-face 
font-lock-function-name-face
-                                 5 font-lock-function-name-face 
font-lock-function-name-face])
+        (progn
+      (wisi-statement-action [1 statement-start 2 name 7 statement-end])
+      (wisi-face-apply-action [2 font-lock-function-name-face 
font-lock-function-name-face
+                                 5 font-lock-function-name-face 
font-lock-function-name-face])
       (wisi-indent-action [0 ada-indent-broken 0 ada-indent-broken 
ada-indent-broken ada-indent-broken 0])))
        ((overriding_indicator_opt PROCEDURE name IS NEW name 
aspect_specification_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 2 motion 3 name 8 
statement-end])
-      (wisi-face-apply-action [3 font-lock-function-name-face 
font-lock-function-name-face
-                                 6 font-lock-function-name-face 
font-lock-function-name-face])
+        (progn
+      (wisi-statement-action [1 statement-start 2 motion 3 name 8 
statement-end])
+      (wisi-face-apply-action [3 font-lock-function-name-face 
font-lock-function-name-face
+                                 6 font-lock-function-name-face 
font-lock-function-name-face])
       (wisi-indent-action [0 0 ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken ada-indent-broken 0])))
        ((overriding_indicator_opt FUNCTION name IS NEW name 
aspect_specification_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 2 motion 3 name 8 
statement-end])
-      (wisi-face-apply-action [3 font-lock-function-name-face 
font-lock-function-name-face
-                                 6 font-lock-function-name-face 
font-lock-function-name-face])
+        (progn
+      (wisi-statement-action [1 statement-start 2 motion 3 name 8 
statement-end])
+      (wisi-face-apply-action [3 font-lock-function-name-face 
font-lock-function-name-face
+                                 6 font-lock-function-name-face 
font-lock-function-name-face])
       (wisi-indent-action [0 0 ada-indent-broken 0 ada-indent-broken 
ada-indent-broken ada-indent-broken 0]))))
       (generic_package_declaration
        ((generic_formal_part package_specification SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 2 motion 3 statement-end])
-      (wisi-motion-action [1 2 3])
+        (progn
+      (wisi-statement-action [1 statement-start 2 motion 3 statement-end])
+      (wisi-motion-action [1 2 3])
       (wisi-indent-action [[0 ada-indent] 0 0]))))
       (generic_renaming_declaration
        ((GENERIC PACKAGE name RENAMES name aspect_specification_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 7 statement-end])
-      (wisi-face-apply-action [3 font-lock-function-name-face 
font-lock-function-name-face
-                                 5 font-lock-function-name-face 
font-lock-function-name-face])
+        (progn
+      (wisi-statement-action [1 statement-start 7 statement-end])
+      (wisi-face-apply-action [3 font-lock-function-name-face 
font-lock-function-name-face
+                                 5 font-lock-function-name-face 
font-lock-function-name-face])
       (wisi-indent-action [0 0 ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken 0])))
        ((GENERIC PROCEDURE name RENAMES name aspect_specification_opt 
SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 7 statement-end])
-      (wisi-face-apply-action [3 font-lock-function-name-face 
font-lock-function-name-face
-                                 5 font-lock-function-name-face 
font-lock-function-name-face])
+        (progn
+      (wisi-statement-action [1 statement-start 7 statement-end])
+      (wisi-face-apply-action [3 font-lock-function-name-face 
font-lock-function-name-face
+                                 5 font-lock-function-name-face 
font-lock-function-name-face])
       (wisi-indent-action [0 0 ada-indent-broken (ada-indent-renames 3) 
ada-indent-broken ada-indent-broken 0])))
        ((GENERIC FUNCTION name RENAMES name aspect_specification_opt SEMICOLON 
)
-        (progn
-      (wisi-statement-action [1 statement-start 7 statement-end])
-      (wisi-face-apply-action [3 font-lock-function-name-face 
font-lock-function-name-face
-                                 5 font-lock-function-name-face 
font-lock-function-name-face])
+        (progn
+      (wisi-statement-action [1 statement-start 7 statement-end])
+      (wisi-face-apply-action [3 font-lock-function-name-face 
font-lock-function-name-face
+                                 5 font-lock-function-name-face 
font-lock-function-name-face])
       (wisi-indent-action [0 0 ada-indent-broken (ada-indent-renames 3) 
ada-indent-broken ada-indent-broken 0]))))
       (generic_subprogram_declaration
        ((generic_formal_part subprogram_specification aspect_specification_opt 
SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 2 motion 4 statement-end])
+        (progn
+      (wisi-statement-action [1 statement-start 2 motion 4 statement-end])
       (wisi-motion-action [1 2 4]))))
       (goto_label
        ((LESS_LESS IDENTIFIER GREATER_GREATER )
-        (progn
-      (wisi-face-apply-action [2 nil font-lock-constant-face])
+        (progn
+      (wisi-face-apply-action [2 nil font-lock-constant-face])
       (wisi-indent-action [[ada-indent-label 0] 0 0]))))
       (handled_sequence_of_statements
        ((sequence_of_statements_opt EXCEPTION exception_handler_list_opt )
-        (progn
-      (wisi-statement-action [2 motion])
-      (wisi-indent-action [[0 0] (- ada-indent) (- ada-indent-when 
ada-indent)])))
+        (progn
+      (wisi-statement-action [2 motion])
+      (wisi-indent-action [[0 0]
+                           (- ada-indent)
+                           [(- ada-indent-when ada-indent) (- ada-indent-when 
ada-indent)]])))
        ((sequence_of_statements_opt )))
       (identifier_list
        ((identifier_list COMMA IDENTIFIER )
@@ -848,78 +853,86 @@
        (()))
       (if_expression
        ((IF expression_opt THEN expression_opt elsif_expression_list ELSE 
expression_opt )
-        (progn
-      (wisi-statement-action [1 statement-start 3 motion 6 motion])
-      (wisi-containing-action 1 2)
-      (wisi-motion-action [1 3 [5 ELSIF THEN] 6])
-      (wisi-indent-action [0 ada-indent-broken 0 ada-indent 0 0 ada-indent])))
+        (progn
+      (wisi-statement-action [1 statement-start 3 motion 6 motion])
+      (wisi-containing-action 1 2)
+      (wisi-motion-action [1 3 [5 ELSIF THEN] 6])
+      (wisi-indent-action [0 [ada-indent-broken ada-indent-broken] 0 
ada-indent 0 0 ada-indent])))
        ((IF expression_opt THEN expression_opt ELSE expression_opt )
-        (progn
-      (wisi-statement-action [1 statement-start 3 motion 5 motion])
-      (wisi-containing-action 1 2)
-      (wisi-motion-action [1 3 5])
-      (wisi-indent-action [0 ada-indent-broken 0 ada-indent 0 ada-indent])))
+        (progn
+      (wisi-statement-action [1 statement-start 3 motion 5 motion])
+      (wisi-containing-action 1 2)
+      (wisi-motion-action [1 3 5])
+      (wisi-indent-action [0 [ada-indent-broken ada-indent-broken] 0 
ada-indent 0 ada-indent])))
        ((IF expression_opt THEN expression_opt elsif_expression_list )
-        (progn
-      (wisi-statement-action [1 statement-start 3 motion])
-      (wisi-containing-action 1 2)
-      (wisi-motion-action [1 3 [5 ELSIF THEN]])
-      (wisi-indent-action [0 ada-indent-broken 0 ada-indent 0])))
+        (progn
+      (wisi-statement-action [1 statement-start 3 motion])
+      (wisi-containing-action 1 2)
+      (wisi-motion-action [1 3 [5 ELSIF THEN]])
+      (wisi-indent-action [0 [ada-indent-broken ada-indent-broken] 0 
ada-indent 0])))
        ((IF expression_opt THEN expression_opt )
-        (progn
-      (wisi-statement-action [1 statement-start 3 motion])
-      (wisi-containing-action 1 2)
-      (wisi-motion-action [1 3])
-      (wisi-indent-action [0 ada-indent-broken 0 ada-indent]))))
+        (progn
+      (wisi-statement-action [1 statement-start 3 motion])
+      (wisi-containing-action 1 2)
+      (wisi-motion-action [1 3])
+      (wisi-indent-action [0 [ada-indent-broken ada-indent-broken] 0 
ada-indent]))))
       (if_statement
        ((IF expression_opt THEN sequence_of_statements_opt 
elsif_statement_list ELSE sequence_of_statements_opt END IF SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 3 motion 6 motion 10 
statement-end])
-      (wisi-containing-action 1 2)
-      (wisi-containing-action 1 4)
-      (wisi-containing-action 1 5)
-      (wisi-containing-action 1 7)
-      (wisi-motion-action [1 3 [5 ELSIF THEN] 6 10])
-      (wisi-indent-action [0 (wisi-hanging% ada-indent-broken (* 2 
ada-indent-broken)) [0 ada-indent]
-                             [ada-indent ada-indent] 0 [0 ada-indent]
+        (progn
+      (wisi-statement-action [1 statement-start 3 motion 6 motion 10 
statement-end])
+      (wisi-containing-action 1 2)
+      (wisi-containing-action 1 4)
+      (wisi-containing-action 1 5)
+      (wisi-containing-action 1 7)
+      (wisi-motion-action [1 3 [5 ELSIF THEN] 6 10])
+      (wisi-indent-action [0 [(wisi-hanging% ada-indent-broken (* 2 
ada-indent-broken))
+                              ada-indent-broken]
+                             [0 ada-indent]
+                             [ada-indent ada-indent] 0 [0 ada-indent]
                              [ada-indent ada-indent] 0 0 0])))
        ((IF expression_opt THEN sequence_of_statements_opt ELSE 
sequence_of_statements_opt END IF SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 3 motion 5 motion 9 
statement-end])
-      (wisi-containing-action 1 2)
-      (wisi-containing-action 1 4)
-      (wisi-containing-action 1 6)
-      (wisi-motion-action [1 3 5 9])
-      (wisi-indent-action [0 (wisi-hanging% ada-indent-broken (* 2 
ada-indent-broken)) [0 ada-indent]
-                             [ada-indent ada-indent] [0 ada-indent]
+        (progn
+      (wisi-statement-action [1 statement-start 3 motion 5 motion 9 
statement-end])
+      (wisi-containing-action 1 2)
+      (wisi-containing-action 1 4)
+      (wisi-containing-action 1 6)
+      (wisi-motion-action [1 3 5 9])
+      (wisi-indent-action [0 [(wisi-hanging% ada-indent-broken (* 2 
ada-indent-broken))
+                              ada-indent-broken]
+                             [0 ada-indent]
+                             [ada-indent ada-indent] [0 ada-indent]
                              [ada-indent ada-indent] 0 0 0])))
        ((IF expression_opt THEN sequence_of_statements_opt 
elsif_statement_list END IF SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 3 motion 8 statement-end])
-      (wisi-containing-action 1 2)
-      (wisi-containing-action 1 4)
-      (wisi-containing-action 1 5)
-      (wisi-motion-action [1 3 [5 ELSIF THEN] 8])
-      (wisi-indent-action [0 (wisi-hanging% ada-indent-broken (* 2 
ada-indent-broken)) [0 ada-indent]
+        (progn
+      (wisi-statement-action [1 statement-start 3 motion 8 statement-end])
+      (wisi-containing-action 1 2)
+      (wisi-containing-action 1 4)
+      (wisi-containing-action 1 5)
+      (wisi-motion-action [1 3 [5 ELSIF THEN] 8])
+      (wisi-indent-action [0 [(wisi-hanging% ada-indent-broken (* 2 
ada-indent-broken))
+                              ada-indent-broken]
+                             [0 ada-indent]
                              [ada-indent ada-indent] 0 0 0 0])))
        ((IF expression_opt THEN sequence_of_statements_opt END IF SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 3 motion 7 statement-end])
-      (wisi-containing-action 1 2)
-      (wisi-containing-action 1 4)
-      (wisi-motion-action [1 3 7])
-      (wisi-indent-action [0 (wisi-hanging% ada-indent-broken (* 2 
ada-indent-broken)) [0 ada-indent]
+        (progn
+      (wisi-statement-action [1 statement-start 3 motion 7 statement-end])
+      (wisi-containing-action 1 2)
+      (wisi-containing-action 1 4)
+      (wisi-motion-action [1 3 7])
+      (wisi-indent-action [0 [(wisi-hanging% ada-indent-broken (* 2 
ada-indent-broken))
+                              ada-indent-broken]
+                             [0 ada-indent]
                              [ada-indent ada-indent] 0 0 0]))))
       (incomplete_type_declaration
        ((TYPE IDENTIFIER discriminant_part_opt IS TAGGED SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 6 statement-end])
-      (wisi-face-apply-action [2 nil font-lock-type-face])
+        (progn
+      (wisi-statement-action [1 statement-start 6 statement-end])
+      (wisi-face-apply-action [2 nil font-lock-type-face])
       (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken 0])))
        ((TYPE IDENTIFIER discriminant_part_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 3 statement-end])
-      (wisi-face-apply-action [2 nil font-lock-type-face])
+        (progn
+      (wisi-statement-action [1 statement-start 3 statement-end])
+      (wisi-face-apply-action [2 nil font-lock-type-face])
       (wisi-indent-action [0 ada-indent-broken ada-indent-broken 0]))))
       (index_constraint
        ((LEFT_PAREN discrete_subtype_definition_list RIGHT_PAREN )
@@ -963,15 +976,15 @@
        (()))
       (loop_statement
        ((block_label_opt iteration_scheme LOOP sequence_of_statements_opt END 
LOOP identifier_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 2 misc 3 motion 8 
statement-end])
-      (wisi-containing-action 2 4)
-      (wisi-motion-action [2 3 8])
+        (progn
+      (wisi-statement-action [1 statement-start 2 misc 3 motion 8 
statement-end])
+      (wisi-containing-action 2 4)
+      (wisi-motion-action [2 3 8])
       (wisi-indent-action [0 0 [0 ada-indent] [ada-indent ada-indent] 0 0 0 
0])))
        ((block_label_opt LOOP sequence_of_statements_opt END LOOP 
identifier_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 2 misc 7 statement-end])
-      (wisi-containing-action 2 3)
+        (progn
+      (wisi-statement-action [1 statement-start 2 misc 7 statement-end])
+      (wisi-containing-action 2 3)
       (wisi-indent-action [0 [0 ada-indent] [ada-indent ada-indent] 0 0 0 
0]))))
       (membership_choice_list
        ((membership_choice_list BAR membership_choice ))
@@ -997,17 +1010,17 @@
        ((name )))
       (name
        ((name LEFT_PAREN range_list RIGHT_PAREN )
-        (wisi-indent-action [0
-                         (wisi-anchored% 1 ada-indent-broken)
-                         (wisi-hanging (wisi-anchored 2 1)
-                                       (wisi-anchored 2 (+ 1 
ada-indent-broken)))
+        (wisi-indent-action [0
+                         (wisi-anchored% 1 ada-indent-broken)
+                         (wisi-hanging (wisi-anchored 2 1)
+                                       (wisi-anchored 2 (+ 1 
ada-indent-broken)))
                          (wisi-anchored 2 0)]))
        ((name actual_parameter_part )
-        (progn
-      (wisi-statement-action [1 misc])
-      (wisi-containing-action 1 2)
-      (wisi-indent-action [0 (if ada-indent-hanging-rel-exp
-                                 (wisi-anchored 1 ada-indent-broken)
+        (progn
+      (wisi-statement-action [1 misc])
+      (wisi-containing-action 1 2)
+      (wisi-indent-action [0 (if ada-indent-hanging-rel-exp
+                                 (wisi-anchored 1 ada-indent-broken)
                                (wisi-anchored% 1 ada-indent-broken))])))
        ((selected_component ))
        ((attribute_reference ))
@@ -1033,59 +1046,59 @@
         (wisi-face-apply-action [3 font-lock-function-name-face 
font-lock-type-face])))
       (null_procedure_declaration
        ((overriding_indicator_opt procedure_specification IS NULL 
aspect_specification_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 2 statement-override 6 
statement-end])
+        (progn
+      (wisi-statement-action [1 statement-start 2 statement-override 6 
statement-end])
       (wisi-indent-action [0 0 ada-indent-broken ada-indent-broken 
ada-indent-broken 0]))))
       (object_declaration
        ((identifier_list COLON aliased_opt constant_opt subtype_indication 
COLON_EQUAL expression_opt aspect_specification_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 9 statement-end])
-      (wisi-containing-action 1 7)
-      (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken ada-indent-broken
+        (progn
+      (wisi-statement-action [1 statement-start 9 statement-end])
+      (wisi-containing-action 1 7)
+      (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken ada-indent-broken
                              (wisi-anchored%- 6 ada-indent-broken) 
ada-indent-broken 0])))
        ((identifier_list COLON aliased_opt constant_opt access_definition 
COLON_EQUAL expression_opt aspect_specification_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 9 statement-end])
-      (wisi-containing-action 1 5) ;; for goto-declaration-start
-      (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken ada-indent-broken
+        (progn
+      (wisi-statement-action [1 statement-start 9 statement-end])
+      (wisi-containing-action 1 5) ;; for goto-declaration-start
+      (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken ada-indent-broken
                              (wisi-anchored% 6 ada-indent-broken) 
ada-indent-broken 0])))
        ((identifier_list COLON aliased_opt constant_opt array_type_definition 
COLON_EQUAL expression_opt aspect_specification_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 9 statement-end])
-      (wisi-containing-action 1 5) ;; for goto-declaration-start
-      (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken ada-indent-broken
+        (progn
+      (wisi-statement-action [1 statement-start 9 statement-end])
+      (wisi-containing-action 1 5) ;; for goto-declaration-start
+      (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken ada-indent-broken
                              (wisi-anchored% 6 ada-indent-broken) 
ada-indent-broken 0])))
        ((identifier_list COLON aliased_opt constant_opt subtype_indication 
aspect_specification_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 7 statement-end])
+        (progn
+      (wisi-statement-action [1 statement-start 7 statement-end])
       (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken ada-indent-broken 0])))
        ((identifier_list COLON aliased_opt constant_opt access_definition 
aspect_specification_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 7 statement-end])
-      (wisi-containing-action 1 5) ;; for goto-declaration-start
+        (progn
+      (wisi-statement-action [1 statement-start 7 statement-end])
+      (wisi-containing-action 1 5) ;; for goto-declaration-start
       (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken ada-indent-broken 0])))
        ((identifier_list COLON aliased_opt constant_opt array_type_definition 
aspect_specification_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 7 statement-end])
-      (wisi-containing-action 1 5) ;; for goto-declaration-start
+        (progn
+      (wisi-statement-action [1 statement-start 7 statement-end])
+      (wisi-containing-action 1 5) ;; for goto-declaration-start
       (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken ada-indent-broken 0])))
        ((single_task_declaration ))
        ((single_protected_declaration )))
       (object_renaming_declaration
        ((IDENTIFIER COLON null_exclusion_opt name RENAMES name 
aspect_specification_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 8 statement-end])
-      (wisi-face-apply-action [4 font-lock-function-name-face 
font-lock-type-face])
+        (progn
+      (wisi-statement-action [1 statement-start 8 statement-end])
+      (wisi-face-apply-action [4 font-lock-function-name-face 
font-lock-type-face])
       (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken ada-indent-broken ada-indent-broken 0])))
        ((IDENTIFIER COLON access_definition RENAMES name 
aspect_specification_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 7 statement-end])
-      (wisi-containing-action 1 3) ;; for goto-declaration-start
+        (progn
+      (wisi-statement-action [1 statement-start 7 statement-end])
+      (wisi-containing-action 1 3) ;; for goto-declaration-start
       (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken ada-indent-broken 0])))
        ((IDENTIFIER COLON EXCEPTION RENAMES name aspect_specification_opt 
SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 7 statement-end])
-      (wisi-face-apply-action [5 font-lock-function-name-face nil])
+        (progn
+      (wisi-statement-action [1 statement-start 7 statement-end])
+      (wisi-face-apply-action [5 font-lock-function-name-face nil])
       (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken ada-indent-broken 0]))))
       (overriding_indicator_opt
        ((NOT OVERRIDING )
@@ -1095,60 +1108,60 @@
        (()))
       (package_body
        ((PACKAGE BODY name aspect_specification_opt IS declarative_part_opt 
BEGIN handled_sequence_of_statements END name_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 3 name 5 motion 7 motion 11 
statement-end])
-      (wisi-containing-action 1 6)
-      (wisi-containing-action 1 8)
-      (wisi-motion-action [1 5 7 [8 EXCEPTION WHEN] 11])
-      (wisi-face-apply-action [3 font-lock-function-name-face 
font-lock-function-name-face
-                                 10 font-lock-function-name-face 
font-lock-function-name-face])
-      (wisi-indent-action [0 ada-indent-broken ada-indent-broken 0 0 
[ada-indent ada-indent]
+        (progn
+      (wisi-statement-action [1 statement-start 3 name 5 motion 7 motion 11 
statement-end])
+      (wisi-containing-action 1 6)
+      (wisi-containing-action 1 8)
+      (wisi-motion-action [1 5 7 [8 EXCEPTION WHEN] 11])
+      (wisi-face-apply-action [3 font-lock-function-name-face 
font-lock-function-name-face
+                                 10 font-lock-function-name-face 
font-lock-function-name-face])
+      (wisi-indent-action [0 ada-indent-broken ada-indent-broken 0 0 
[ada-indent ada-indent]
                              0 [ada-indent ada-indent] 0 ada-indent-broken 
0])))
        ((PACKAGE BODY name aspect_specification_opt IS declarative_part_opt 
END name_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 3 name 5 motion 9 
statement-end])
-      (wisi-containing-action 1 6)
-      (wisi-motion-action [1 5 9])
-      (wisi-face-apply-action [3 font-lock-function-name-face 
font-lock-function-name-face
-                                 8 font-lock-function-name-face 
font-lock-function-name-face])
+        (progn
+      (wisi-statement-action [1 statement-start 3 name 5 motion 9 
statement-end])
+      (wisi-containing-action 1 6)
+      (wisi-motion-action [1 5 9])
+      (wisi-face-apply-action [3 font-lock-function-name-face 
font-lock-function-name-face
+                                 8 font-lock-function-name-face 
font-lock-function-name-face])
       (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken 0 [ada-indent ada-indent] 0 0 0]))))
       (package_body_stub
        ((PACKAGE BODY name IS SEPARATE aspect_specification_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 7 statement-end])
-      (wisi-face-apply-action [3 font-lock-function-name-face 
font-lock-function-name-face])
+        (progn
+      (wisi-statement-action [1 statement-start 7 statement-end])
+      (wisi-face-apply-action [3 font-lock-function-name-face 
font-lock-function-name-face])
       (wisi-indent-action [0 ada-indent-broken ada-indent-broken 0 
ada-indent-broken ada-indent-broken 0]))))
       (package_declaration
        ((package_specification SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 2 statement-end])
+        (progn
+      (wisi-statement-action [1 statement-start 2 statement-end])
       (wisi-motion-action [[1 PRIVATE] 2]))))
       (package_renaming_declaration
        ((PACKAGE name RENAMES name aspect_specification_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 6 statement-end])
-      (wisi-face-apply-action [2 font-lock-function-name-face 
font-lock-function-name-face
-                                 4 font-lock-function-name-face 
font-lock-function-name-face])
+        (progn
+      (wisi-statement-action [1 statement-start 6 statement-end])
+      (wisi-face-apply-action [2 font-lock-function-name-face 
font-lock-function-name-face
+                                 4 font-lock-function-name-face 
font-lock-function-name-face])
       (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken 0]))))
       (package_specification
        ((PACKAGE name aspect_specification_opt IS declarative_part_opt PRIVATE 
declarative_part_opt END name_opt )
-        (progn
-      (wisi-statement-action [1 statement-start 2 name 4 motion 6 motion])
-      (wisi-containing-action 1 4)
-      (wisi-containing-action 4 5) ;; for goto-declarative-region-start
-      (wisi-containing-action 1 7)
-      (wisi-motion-action [1 4 6])
-      (wisi-face-apply-action [2 font-lock-function-name-face 
font-lock-function-name-face
-                                 9 font-lock-function-name-face 
font-lock-function-name-face])
+        (progn
+      (wisi-statement-action [1 statement-start 2 name 4 motion 6 motion])
+      (wisi-containing-action 1 4)
+      (wisi-containing-action 4 5) ;; for goto-declarative-region-start
+      (wisi-containing-action 1 7)
+      (wisi-motion-action [1 4 6])
+      (wisi-face-apply-action [2 font-lock-function-name-face 
font-lock-function-name-face
+                                 9 font-lock-function-name-face 
font-lock-function-name-face])
       (wisi-indent-action [0 ada-indent-broken 0 0 [ada-indent ada-indent] 0 
[ada-indent ada-indent] 0 0])))
        ((PACKAGE name aspect_specification_opt IS declarative_part_opt END 
name_opt )
-        (progn
-      (wisi-statement-action [1 statement-start 2 name 4 motion])
-      (wisi-containing-action 1 4)
-      (wisi-containing-action 4 5) ;; for goto-declarative-region-start
-      (wisi-motion-action [1 4])
-      (wisi-face-apply-action [2 font-lock-function-name-face 
font-lock-function-name-face
-                                 7 font-lock-function-name-face 
font-lock-function-name-face])
+        (progn
+      (wisi-statement-action [1 statement-start 2 name 4 motion])
+      (wisi-containing-action 1 4)
+      (wisi-containing-action 4 5) ;; for goto-declarative-region-start
+      (wisi-motion-action [1 4])
+      (wisi-face-apply-action [2 font-lock-function-name-face 
font-lock-function-name-face
+                                 7 font-lock-function-name-face 
font-lock-function-name-face])
       (wisi-indent-action [0 ada-indent-broken ada-indent-broken 0 [ada-indent 
ada-indent] 0 0]))))
       (parameter_and_result_profile
        ((formal_part result_profile )
@@ -1159,17 +1172,17 @@
        (()))
       (parameter_specification
        ((identifier_list COLON aliased_opt mode_opt null_exclusion_opt name 
COLON_EQUAL expression_opt )
-        (progn
-      (wisi-face-apply-action [6 font-lock-function-name-face 
font-lock-type-face])
-      (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken
+        (progn
+      (wisi-face-apply-action [6 font-lock-function-name-face 
font-lock-type-face])
+      (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken
                              ada-indent-broken ada-indent-broken 
(wisi-anchored% 7 ada-indent-broken)])))
        ((identifier_list COLON aliased_opt mode_opt null_exclusion_opt name )
-        (progn
-      (wisi-face-apply-action [6 font-lock-function-name-face 
font-lock-type-face])
-      (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken
+        (progn
+      (wisi-face-apply-action [6 font-lock-function-name-face 
font-lock-type-face])
+      (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken
                              ada-indent-broken])))
        ((identifier_list COLON aliased_opt access_definition COLON_EQUAL 
expression_opt )
-        (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken
+        (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken
                            (wisi-anchored% 5 ada-indent-broken)]))
        ((identifier_list COLON aliased_opt access_definition )
         (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken]))
@@ -1180,9 +1193,9 @@
        ((parameter_specification )))
       (paren_expression
        ((LEFT_PAREN expression_opt RIGHT_PAREN )
-        (wisi-indent-action [0
-                         (wisi-hanging (wisi-anchored 1 1)
-                                       (wisi-anchored 1 (+ 1 
ada-indent-broken)))
+        (wisi-indent-action [0
+                         (wisi-hanging (wisi-anchored 1 1)
+                                       (wisi-anchored 1 (+ 1 
ada-indent-broken)))
                          (wisi-anchored 1 0)]))
        ((LEFT_PAREN association_list RIGHT_PAREN )
         (wisi-indent-action [0 (wisi-anchored 1 1) (wisi-anchored 1 0)]))
@@ -1190,19 +1203,19 @@
         (wisi-indent-action [0 (wisi-anchored 1 1) (wisi-anchored 1 0)])))
       (pragma_g
        ((PRAGMA IDENTIFIER LEFT_PAREN association_list RIGHT_PAREN SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 6 statement-end])
-      (wisi-face-apply-action [2 nil font-lock-function-name-face])
+        (progn
+      (wisi-statement-action [1 statement-start 6 statement-end])
+      (wisi-face-apply-action [2 nil font-lock-function-name-face])
       (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
(wisi-anchored 3 1) (wisi-anchored 3 0) 0])))
        ((PRAGMA IDENTIFIER LEFT_PAREN conditional_quantified_expression 
RIGHT_PAREN SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 6 statement-end])
-      (wisi-face-apply-action [2 nil font-lock-function-name-face])
+        (progn
+      (wisi-statement-action [1 statement-start 6 statement-end])
+      (wisi-face-apply-action [2 nil font-lock-function-name-face])
       (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
(wisi-anchored 3 1) (wisi-anchored 3 0) 0])))
        ((PRAGMA IDENTIFIER SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 3 statement-end])
-      (wisi-face-apply-action [2 nil font-lock-function-name-face])
+        (progn
+      (wisi-statement-action [1 statement-start 3 statement-end])
+      (wisi-face-apply-action [2 nil font-lock-function-name-face])
       (wisi-indent-action [0 ada-indent-broken 0]))))
       (primary
        ((NUMERIC_LITERAL )
@@ -1215,28 +1228,28 @@
         (wisi-face-apply-action [2 font-lock-function-name-face 
font-lock-type-face])))
       (private_extension_declaration
        ((TYPE IDENTIFIER discriminant_part_opt IS 
abstract_limited_synchronized_opt NEW subtype_indication and_interface_list_opt 
WITH PRIVATE aspect_specification_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 2 name 12 statement-end])
-      (wisi-face-apply-action [2 nil font-lock-type-face])
-      (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken ada-indent-broken
+        (progn
+      (wisi-statement-action [1 statement-start 2 name 12 statement-end])
+      (wisi-face-apply-action [2 nil font-lock-type-face])
+      (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken ada-indent-broken
                              ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken 0 0]))))
       (private_type_declaration
        ((TYPE IDENTIFIER discriminant_part_opt IS abstract_tagged_limited_opt 
PRIVATE aspect_specification_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 2 name 8 statement-end])
-      (wisi-face-apply-action [2 nil font-lock-type-face])
+        (progn
+      (wisi-statement-action [1 statement-start 2 name 8 statement-end])
+      (wisi-face-apply-action [2 nil font-lock-type-face])
       (wisi-indent-action [0 ada-indent-broken ada-indent-broken 0 
ada-indent-broken ada-indent-broken 0 0]))))
       (procedure_call_statement
        ((name SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 2 statement-end])
+        (progn
+      (wisi-statement-action [1 statement-start 2 statement-end])
       (wisi-indent-action [(wisi-hanging 0 ada-indent-broken) 0]))))
       (procedure_specification
        ((PROCEDURE name parameter_profile_opt )
-        (progn
-      (wisi-statement-action [1 statement-start 2 name])
-      (wisi-containing-action 1 3) ;; for goto-declaration-start
-      (wisi-face-apply-action [2 font-lock-function-name-face 
font-lock-function-name-face])
+        (progn
+      (wisi-statement-action [1 statement-start 2 name])
+      (wisi-containing-action 1 3) ;; for goto-declaration-start
+      (wisi-face-apply-action [2 font-lock-function-name-face 
font-lock-function-name-face])
       (wisi-indent-action [0 ada-indent-broken ada-indent-broken]))))
       (proper_body
        ((subprogram_body ))
@@ -1245,27 +1258,27 @@
        ((protected_body )))
       (protected_body
        ((PROTECTED BODY IDENTIFIER aspect_specification_opt IS 
protected_operation_item_list_opt END identifier_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 3 name 5 motion 9 
statement-end])
-      (wisi-containing-action 1 6)
-      (wisi-motion-action [1 5 9])
-      (wisi-face-apply-action [3 nil font-lock-type-face 8 nil 
font-lock-type-face])
+        (progn
+      (wisi-statement-action [1 statement-start 3 name 5 motion 9 
statement-end])
+      (wisi-containing-action 1 6)
+      (wisi-motion-action [1 5 9])
+      (wisi-face-apply-action [3 nil font-lock-type-face 8 nil 
font-lock-type-face])
       (wisi-indent-action [0 ada-indent-broken ada-indent-broken 0 0 
ada-indent 0 0 0]))))
       (protected_body_stub
        ((PROTECTED BODY IDENTIFIER IS SEPARATE aspect_specification_opt 
SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 7 statement-end])
-      (wisi-face-apply-action [3 nil font-lock-type-face])
+        (progn
+      (wisi-statement-action [1 statement-start 7 statement-end])
+      (wisi-face-apply-action [3 nil font-lock-type-face])
       (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken ada-indent-broken 0]))))
       (protected_definition
        ((declarative_part_opt PRIVATE declarative_part_opt END identifier_opt )
-        (progn
-      (wisi-statement-action [2 motion])
-      (wisi-face-apply-action [5 nil font-lock-type-face])
+        (progn
+      (wisi-statement-action [2 motion])
+      (wisi-face-apply-action [5 nil font-lock-type-face])
       (wisi-indent-action [[ada-indent ada-indent] 0 [ada-indent ada-indent] 0 
0])))
        ((declarative_part_opt END identifier_opt )
-        (progn
-      (wisi-face-apply-action [3 nil font-lock-type-face])
+        (progn
+      (wisi-face-apply-action [3 nil font-lock-type-face])
       (wisi-indent-action [[ada-indent ada-indent] 0 0]))))
       (protected_operation_item
        ((subprogram_declaration ))
@@ -1285,26 +1298,26 @@
        (()))
       (protected_type_declaration
        ((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 motion 9 motion 11 
statement-end])
-      (wisi-containing-action 1 10)
-      (wisi-motion-action [1 6 [10 PRIVATE] 11])
-      (wisi-face-apply-action [3 nil font-lock-type-face])
-      (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken 0 0
+        (progn
+      (wisi-statement-action [1 statement-start 3 name 6 motion 9 motion 11 
statement-end])
+      (wisi-containing-action 1 10)
+      (wisi-motion-action [1 6 [10 PRIVATE] 11])
+      (wisi-face-apply-action [3 nil font-lock-type-face])
+      (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken 0 0
                            ada-indent-broken ada-indent-broken 
ada-indent-broken 0 0])))
        ((PROTECTED TYPE IDENTIFIER discriminant_part_opt 
aspect_specification_opt IS protected_definition SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 3 name 6 motion 8 
statement-end])
-      (wisi-containing-action 1 7)
-      (wisi-motion-action [1 6 [7 PRIVATE] 8])
-      (wisi-face-apply-action [3 nil font-lock-type-face])
+        (progn
+      (wisi-statement-action [1 statement-start 3 name 6 motion 8 
statement-end])
+      (wisi-containing-action 1 7)
+      (wisi-motion-action [1 6 [7 PRIVATE] 8])
+      (wisi-face-apply-action [3 nil font-lock-type-face])
       (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken 0 [0 ada-indent] 0 0]))))
       (qualified_expression
        ((name tick aggregate )
-        (progn
-      (wisi-face-apply-action [1 font-lock-function-name-face 
font-lock-type-face])
-      (wisi-indent-action [0 0 (if ada-indent-hanging-rel-exp
-                                   (wisi-anchored 1 ada-indent-broken)
+        (progn
+      (wisi-face-apply-action [1 font-lock-function-name-face 
font-lock-type-face])
+      (wisi-indent-action [0 0 (if ada-indent-hanging-rel-exp
+                                   (wisi-anchored 1 ada-indent-broken)
                                  (wisi-anchored% 1 ada-indent-broken))]))))
       (quantified_expression
        ((FOR quantifier iterator_specification EQUAL_GREATER expression_opt )
@@ -1318,21 +1331,21 @@
        ((RAISE name )))
       (raise_statement
        ((RAISE name WITH expression_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 4 motion 5 statement-end])
-      (wisi-containing-action 1 4)
-      ;; test/ada_mode-nominal.adb
-      ;; raise Constraint_Error with
-      ;;   "help " &
-      ;;   "me!";
-      ;;
-      ;; raise Constraint_Error
-      ;;   with Integer'Image (1) &
-      ;;   "help!";
+        (progn
+      (wisi-statement-action [1 statement-start 4 motion 5 statement-end])
+      (wisi-containing-action 1 4)
+      ;; test/ada_mode-nominal.adb
+      ;; raise Constraint_Error with
+      ;;   "help " &
+      ;;   "me!";
+      ;;
+      ;; raise Constraint_Error
+      ;;   with Integer'Image (1) &
+      ;;   "help!";
       (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
(wisi-anchored% 3 ada-indent-broken) 0])))
        ((RAISE name SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 3 statement-end])
+        (progn
+      (wisi-statement-action [1 statement-start 3 statement-end])
       (wisi-indent-action [0 ada-indent-broken 0])))
        ((RAISE SEMICOLON )
         (wisi-statement-action [1 statement-start 2 statement-end])))
@@ -1349,21 +1362,21 @@
        (()))
       (record_definition
        ((RECORD component_list_opt END RECORD )
-        (wisi-indent-action [[(ada-indent-record* 'TYPE 1 0) 
(ada-indent-record* 'TYPE 1 ada-indent)]
-                         [(ada-indent-record* 'TYPE 1 ada-indent) 
(ada-indent-record* 'TYPE 1 ada-indent)]
-                         (ada-indent-record* 'TYPE 1 0)
+        (wisi-indent-action [[(ada-indent-record* 'TYPE 1 0) 
(ada-indent-record* 'TYPE 1 ada-indent)]
+                         [(ada-indent-record* 'TYPE 1 ada-indent) 
(ada-indent-record* 'TYPE 1 ada-indent)]
+                         (ada-indent-record* 'TYPE 1 0)
                          0]))
        ((NULL RECORD )))
       (record_representation_clause
        ((FOR name USE RECORD mod_clause_opt component_clause_list END RECORD 
SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 5 statement-end])
-      (wisi-face-apply-action [2 font-lock-function-name-face 
font-lock-type-face])
-      (wisi-indent-action [0 ada-indent-broken ada-indent-broken
-                             (ada-indent-record 1 4 0)
-                             (ada-indent-record 1 4 ada-indent)
-                             (ada-indent-record 1 4 ada-indent)
-                             (ada-indent-record 1 4 0)
+        (progn
+      (wisi-statement-action [1 statement-start 5 statement-end])
+      (wisi-face-apply-action [2 font-lock-function-name-face 
font-lock-type-face])
+      (wisi-indent-action [0 ada-indent-broken ada-indent-broken
+                             (ada-indent-record 1 4 0)
+                             (ada-indent-record 1 4 ada-indent)
+                             (ada-indent-record 1 4 ada-indent)
+                             (ada-indent-record 1 4 0)
                              0 0]))))
       (relation_and_list
        ((relation_and_list AND relation ))
@@ -1405,11 +1418,11 @@
         (wisi-statement-action [1 statement-start 3 statement-end])))
       (result_profile
        ((RETURN null_exclusion_opt name_opt )
-        (progn
-      (wisi-face-apply-action [3 font-lock-function-name-face 
font-lock-type-face])
-      (wisi-indent-action* 1
-                           [0
-                            (wisi-anchored* 1 ada-indent-broken)
+        (progn
+      (wisi-face-apply-action [3 font-lock-function-name-face 
font-lock-type-face])
+      (wisi-indent-action* 1
+                           [0
+                            (wisi-anchored* 1 ada-indent-broken)
                             (wisi-anchored* 1 ada-indent-broken)])))
        ((RETURN access_definition )
         (wisi-indent-action* 1 [0 (wisi-anchored*- 1 ada-indent-broken)])))
@@ -1427,29 +1440,29 @@
         (wisi-face-mark-action [1 prefix])))
       (selective_accept
        ((SELECT select_alternative_list_opt ELSE sequence_of_statements_opt 
END SELECT SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 3 motion 7 statement-end])
-      (wisi-containing-action 1 2)
-      (wisi-containing-action 1 4)
-      (wisi-motion-action [1 [2 OR WHEN] 3 7])
+        (progn
+      (wisi-statement-action [1 statement-start 3 motion 7 statement-end])
+      (wisi-containing-action 1 2)
+      (wisi-containing-action 1 4)
+      (wisi-motion-action [1 [2 OR WHEN] 3 7])
       (wisi-indent-action [[0 ada-indent] [0 ada-indent] [0 ada-indent] 
[ada-indent ada-indent] 0 0 0])))
        ((SELECT select_alternative_list_opt END SELECT SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 5 statement-end])
-      (wisi-motion-action [1 [2 OR WHEN] 5])
+        (progn
+      (wisi-statement-action [1 statement-start 5 statement-end])
+      (wisi-motion-action [1 [2 OR WHEN] 5])
       (wisi-indent-action [[0 ada-indent] [0 ada-indent] 0 0 0]))))
       (select_alternative
        ((WHEN expression_opt EQUAL_GREATER accept_statement 
sequence_of_statements_opt )
-        (progn
-      (wisi-statement-action [1 motion])
+        (progn
+      (wisi-statement-action [1 motion])
       (wisi-indent-action [0 ada-indent-broken ada-indent-broken ada-indent 
ada-indent])))
        ((WHEN expression_opt EQUAL_GREATER TERMINATE SEMICOLON )
-        (progn
-      (wisi-statement-action [1 motion 4 statement-start 5 statement-end])
+        (progn
+      (wisi-statement-action [1 motion 4 statement-start 5 statement-end])
       (wisi-indent-action [0 ada-indent-broken ada-indent-broken ada-indent 
0])))
        ((WHEN expression_opt EQUAL_GREATER delay_alternative )
-        (progn
-      (wisi-statement-action [1 motion])
+        (progn
+      (wisi-statement-action [1 motion])
       (wisi-indent-action [0 ada-indent-broken ada-indent-broken ada-indent])))
        ((accept_statement sequence_of_statements_opt ))
        ((TERMINATE SEMICOLON )
@@ -1457,8 +1470,8 @@
        ((delay_alternative )))
       (select_alternative_list
        ((select_alternative_list OR select_alternative )
-        (progn
-      (wisi-statement-action [2 motion])
+        (progn
+      (wisi-statement-action [2 motion])
       (wisi-indent-action [0 0 ada-indent])))
        ((select_alternative )
         (wisi-indent-action [ada-indent])))
@@ -1481,9 +1494,9 @@
        ((term_list )))
       (simple_return_statement
        ((RETURN expression_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 3 statement-end])
-      (wisi-containing-action 1 2)
+        (progn
+      (wisi-statement-action [1 statement-start 3 statement-end])
+      (wisi-containing-action 1 2)
       (wisi-indent-action [0 ada-indent-broken 0]))))
       (simple_statement
        ((NULL SEMICOLON )
@@ -1491,8 +1504,8 @@
        ((assignment_statement ))
        ((exit_statement ))
        ((GOTO IDENTIFIER SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 3 statement-end])
+        (progn
+      (wisi-statement-action [1 statement-start 3 statement-end])
       (wisi-face-apply-action [2 nil font-lock-constant-face])))
        ((procedure_call_statement ))
        ((simple_return_statement ))
@@ -1504,38 +1517,38 @@
        ((pragma_g )))
       (single_protected_declaration
        ((PROTECTED IDENTIFIER aspect_specification_opt IS NEW interface_list 
WITH protected_definition SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 2 name 4 motion 7 motion 9 
statement-end])
-      (wisi-containing-action 1 8)
-      (wisi-motion-action [1 4 7 [8 PRIVATE] 9])
-      (wisi-face-apply-action [2 nil font-lock-type-face])
+        (progn
+      (wisi-statement-action [1 statement-start 2 name 4 motion 7 motion 9 
statement-end])
+      (wisi-containing-action 1 8)
+      (wisi-motion-action [1 4 7 [8 PRIVATE] 9])
+      (wisi-face-apply-action [2 nil font-lock-type-face])
       (wisi-indent-action [0 ada-indent-broken 0 0 ada-indent-broken 
ada-indent-broken ada-indent-broken 0 0])))
        ((PROTECTED IDENTIFIER aspect_specification_opt IS protected_definition 
SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 2 name 4 motion 6 
statement-end])
-      (wisi-containing-action 1 5)
-      (wisi-motion-action [1 4 [5 PRIVATE] 6])
-      (wisi-face-apply-action [2 nil font-lock-type-face])
+        (progn
+      (wisi-statement-action [1 statement-start 2 name 4 motion 6 
statement-end])
+      (wisi-containing-action 1 5)
+      (wisi-motion-action [1 4 [5 PRIVATE] 6])
+      (wisi-face-apply-action [2 nil font-lock-type-face])
       (wisi-indent-action [0 ada-indent-broken 0 [0 ada-indent] 0 0]))))
       (single_task_declaration
        ((TASK IDENTIFIER aspect_specification_opt IS NEW interface_list WITH 
task_definition END identifier_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 4 motion 7 motion 11 
statement-end])
-      (wisi-containing-action 1 8)
-      (wisi-motion-action [1 4 [8 PRIVATE] 11])
-      (wisi-face-apply-action [2 nil font-lock-type-face 9 nil 
font-lock-type-face])
+        (progn
+      (wisi-statement-action [1 statement-start 4 motion 7 motion 11 
statement-end])
+      (wisi-containing-action 1 8)
+      (wisi-motion-action [1 4 [8 PRIVATE] 11])
+      (wisi-face-apply-action [2 nil font-lock-type-face 9 nil 
font-lock-type-face])
       (wisi-indent-action [0 ada-indent-broken 0 0 ada-indent-broken 
ada-indent-broken ada-indent-broken 0 0 0 0])))
        ((TASK IDENTIFIER aspect_specification_opt IS task_definition END 
identifier_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 4 motion 8 statement-end])
-      (wisi-containing-action 1 5)
-      (wisi-motion-action [1 4 [5 PRIVATE] 8])
-      (wisi-face-apply-action [2 nil font-lock-type-face 6 nil 
font-lock-type-face])
+        (progn
+      (wisi-statement-action [1 statement-start 4 motion 8 statement-end])
+      (wisi-containing-action 1 5)
+      (wisi-motion-action [1 4 [5 PRIVATE] 8])
+      (wisi-face-apply-action [2 nil font-lock-type-face 6 nil 
font-lock-type-face])
       (wisi-indent-action [0 ada-indent-broken 0 [0 ada-indent] 0 0 0 0])))
        ((TASK IDENTIFIER aspect_specification_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 4 statement-end])
-      (wisi-face-apply-action [2 nil font-lock-type-face])
+        (progn
+      (wisi-statement-action [1 statement-start 4 statement-end])
+      (wisi-face-apply-action [2 nil font-lock-type-face])
       (wisi-indent-action [0 ada-indent-broken 0 0]))))
       (statement
        ((goto_label ))
@@ -1543,19 +1556,19 @@
        ((compound_statement )))
       (subprogram_body
        ((overriding_indicator_opt subprogram_specification 
aspect_specification_opt IS declarative_part_opt BEGIN 
handled_sequence_of_statements END name_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 2 statement-override 4 motion 
6 motion 10 statement-end])
-      (wisi-containing-action 2 4)
-      (wisi-containing-action 4 5) ;; for goto_declarative_region_start
-      (wisi-containing-action 2 7)
-      (wisi-motion-action [1 [2 FUNCTION PROCEDURE] 4 6 10])
-      (wisi-face-apply-action [9 font-lock-function-name-face 
font-lock-function-name-face])
-      (wisi-indent-action [0 [0 ada-indent] 0 0 [ada-indent ada-indent]
+        (progn
+      (wisi-statement-action [1 statement-start 2 statement-override 4 motion 
6 motion 10 statement-end])
+      (wisi-containing-action 2 4)
+      (wisi-containing-action 4 5) ;; for goto_declarative_region_start
+      (wisi-containing-action 2 7)
+      (wisi-motion-action [1 [2 FUNCTION PROCEDURE] 4 6 10])
+      (wisi-face-apply-action [9 font-lock-function-name-face 
font-lock-function-name-face])
+      (wisi-indent-action [0 [0 ada-indent] 0 0 [ada-indent ada-indent]
                              0 [ada-indent ada-indent] 0 ada-indent-broken 
0]))))
       (subprogram_body_stub
        ((overriding_indicator_opt subprogram_specification IS SEPARATE 
aspect_specification_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 2 statement-override 6 
statement-end])
+        (progn
+      (wisi-statement-action [1 statement-start 2 statement-override 6 
statement-end])
       (wisi-indent-action [0 0 0 ada-indent-broken ada-indent-broken 0]))))
       (subprogram_declaration
        ((overriding_indicator_opt subprogram_specification 
aspect_specification_opt SEMICOLON )
@@ -1567,18 +1580,18 @@
        ((NULL )))
       (subprogram_renaming_declaration
        ((overriding_indicator_opt subprogram_specification RENAMES name 
aspect_specification_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 2 statement-override 6 
statement-end])
-      (wisi-face-apply-action [4 font-lock-function-name-face 
font-lock-function-name-face])
+        (progn
+      (wisi-statement-action [1 statement-start 2 statement-override 6 
statement-end])
+      (wisi-face-apply-action [4 font-lock-function-name-face 
font-lock-function-name-face])
       (wisi-indent-action [0 0 (ada-indent-renames 2) ada-indent-broken 
ada-indent-broken 0]))))
       (subprogram_specification
        ((procedure_specification ))
        ((function_specification )))
       (subtype_declaration
        ((SUBTYPE IDENTIFIER IS subtype_indication aspect_specification_opt 
SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 6 statement-end])
-      (wisi-face-apply-action [2 nil font-lock-type-face])
+        (progn
+      (wisi-statement-action [1 statement-start 6 statement-end])
+      (wisi-face-apply-action [2 nil font-lock-type-face])
       (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken 0 0]))))
       (subtype_indication
        ((NOT NULL name constraint )
@@ -1591,53 +1604,53 @@
         (wisi-face-apply-action [1 font-lock-function-name-face 
font-lock-type-face])))
       (subunit
        ((SEPARATE LEFT_PAREN name RIGHT_PAREN proper_body )
-        (progn
-      (wisi-statement-action [1 statement-start 5 motion])
+        (progn
+      (wisi-statement-action [1 statement-start 5 motion])
       (wisi-indent-action [0 ada-indent-broken (wisi-anchored 2 1) 
(wisi-anchored 2 0) 0]))))
       (task_body
        ((TASK BODY IDENTIFIER aspect_specification_opt IS declarative_part_opt 
BEGIN handled_sequence_of_statements END identifier_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 3 name 5 motion 7 motion 11 
statement-end])
-      (wisi-containing-action 1 6)
-      (wisi-containing-action 1 8)
-      (wisi-motion-action [1 5 7 11])
-      (wisi-face-apply-action [3 nil font-lock-type-face 10 nil 
font-lock-type-face])
-      (wisi-indent-action [0 0 ada-indent-broken 0 0 [ada-indent ada-indent]
+        (progn
+      (wisi-statement-action [1 statement-start 3 name 5 motion 7 motion 11 
statement-end])
+      (wisi-containing-action 1 6)
+      (wisi-containing-action 1 8)
+      (wisi-motion-action [1 5 7 11])
+      (wisi-face-apply-action [3 nil font-lock-type-face 10 nil 
font-lock-type-face])
+      (wisi-indent-action [0 0 ada-indent-broken 0 0 [ada-indent ada-indent]
                              0 [ada-indent ada-indent] 0 0 0]))))
       (task_body_stub
        ((TASK BODY IDENTIFIER IS SEPARATE aspect_specification_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 7 statement-end])
-      (wisi-face-apply-action [3 nil font-lock-type-face])
+        (progn
+      (wisi-statement-action [1 statement-start 7 statement-end])
+      (wisi-face-apply-action [3 nil font-lock-type-face])
       (wisi-indent-action [0 0 ada-indent-broken 0 ada-indent-broken 
ada-indent-broken 0]))))
       (task_definition
        ((declarative_part_opt PRIVATE declarative_part_opt )
-        (progn
-      (wisi-statement-action [2 motion])
-      (wisi-containing-action 2 3)
+        (progn
+      (wisi-statement-action [2 motion])
+      (wisi-containing-action 2 3)
       (wisi-indent-action [[ada-indent ada-indent] 0 [ada-indent 
ada-indent]])))
        ((declarative_part_opt )
         (wisi-indent-action [[ada-indent ada-indent]])))
       (task_type_declaration
        ((TASK TYPE IDENTIFIER discriminant_part_opt aspect_specification_opt 
IS NEW interface_list WITH task_definition END identifier_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 3 name 6 motion 9 motion 13 
statement-end])
-      (wisi-containing-action 1 10)
-      (wisi-motion-action [1 6 9 [10 PRIVATE] 13])
-      (wisi-face-apply-action [3 nil font-lock-type-face 12 nil 
font-lock-type-face])
-      (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken 0 0
+        (progn
+      (wisi-statement-action [1 statement-start 3 name 6 motion 9 motion 13 
statement-end])
+      (wisi-containing-action 1 10)
+      (wisi-motion-action [1 6 9 [10 PRIVATE] 13])
+      (wisi-face-apply-action [3 nil font-lock-type-face 12 nil 
font-lock-type-face])
+      (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken 0 0
                              ada-indent-broken ada-indent-broken 
ada-indent-broken 0 0 0 0])))
        ((TASK TYPE IDENTIFIER discriminant_part_opt aspect_specification_opt 
IS task_definition END identifier_opt SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 3 name 6 motion 10 
statement-end])
-      (wisi-containing-action 1 7)
-      (wisi-face-apply-action [3 nil font-lock-type-face 9 nil 
font-lock-type-face])
-      (wisi-motion-action [1 6 [7 PRIVATE] 10])
+        (progn
+      (wisi-statement-action [1 statement-start 3 name 6 motion 10 
statement-end])
+      (wisi-containing-action 1 7)
+      (wisi-face-apply-action [3 nil font-lock-type-face 9 nil 
font-lock-type-face])
+      (wisi-motion-action [1 6 [7 PRIVATE] 10])
       (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken 0 [0 ada-indent] 0 0 0 0])))
        ((TASK TYPE IDENTIFIER discriminant_part_opt aspect_specification_opt 
SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 3 name 6 statement-end])
-      (wisi-face-apply-action [3 nil font-lock-type-face])
+        (progn
+      (wisi-statement-action [1 statement-start 3 name 6 statement-end])
+      (wisi-face-apply-action [3 nil font-lock-type-face])
       (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-broken 0 0]))))
       (term
        ((term multiplying_operator factor ))
@@ -1649,10 +1662,10 @@
        ((TICK_1 )))
       (timed_entry_call
        ((SELECT entry_call_alternative OR delay_alternative END SELECT 
SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 3 motion 6 statement-end])
-      (wisi-containing-action 1 2)
-      (wisi-containing-action 1 4)
+        (progn
+      (wisi-statement-action [1 statement-start 3 motion 6 statement-end])
+      (wisi-containing-action 1 2)
+      (wisi-containing-action 1 4)
       (wisi-indent-action [[0 ada-indent] [ada-indent ada-indent] [0 
ada-indent] [ada-indent ada-indent] 0 0 0]))))
       (triggering_alternative
        ((procedure_call_statement sequence_of_statements_opt ))
@@ -1677,58 +1690,58 @@
        ((interface_type_definition )))
       (variant_part
        ((CASE direct_name_opt IS variant_list END CASE SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 7 statement-end])
-      (wisi-containing-action 1 4) ;; for goto-declaration-start
+        (progn
+      (wisi-statement-action [1 statement-start 7 statement-end])
+      (wisi-containing-action 1 4) ;; for goto-declaration-start
       (wisi-indent-action [0 ada-indent-broken 0 ada-indent-when 0 0 0]))))
       (variant_list
        ((variant_list variant ))
        ((variant )))
       (variant
        ((WHEN discrete_choice_list EQUAL_GREATER component_list_opt )
-        (progn
-      (wisi-statement-action [1 motion])
-      ;; ada-indent-when applied in variant_part
+        (progn
+      (wisi-statement-action [1 motion])
+      ;; ada-indent-when applied in variant_part
       (wisi-indent-action [0 (wisi-hanging 0 ada-indent-broken) ada-indent 
[ada-indent ada-indent]]))))
       (unary_adding_operator
        ((PLUS ))
        ((MINUS )))
       (use_clause
        ((USE ALL TYPE name_list SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 5 statement-end])
-      (wisi-face-apply-list-action [4 font-lock-function-name-face 
font-lock-type-face])
+        (progn
+      (wisi-statement-action [1 statement-start 5 statement-end])
+      (wisi-face-apply-list-action [4 font-lock-function-name-face 
font-lock-type-face])
       (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-use 0])))
        ((USE TYPE name_list SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 4 statement-end])
-      (wisi-face-apply-list-action [3 font-lock-function-name-face 
font-lock-type-face])
+        (progn
+      (wisi-statement-action [1 statement-start 4 statement-end])
+      (wisi-face-apply-list-action [3 font-lock-function-name-face 
font-lock-type-face])
       (wisi-indent-action [0 ada-indent-broken ada-indent-use 0])))
        ((USE name_list SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 3 statement-end])
-      (wisi-face-apply-list-action [2 font-lock-function-name-face 
font-lock-function-name-face])
+        (progn
+      (wisi-statement-action [1 statement-start 3 statement-end])
+      (wisi-face-apply-list-action [2 font-lock-function-name-face 
font-lock-function-name-face])
       (wisi-indent-action [0 ada-indent-use 0]))))
       (with_clause
        ((LIMITED PRIVATE WITH name_list SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 5 statement-end])
-      (wisi-face-apply-list-action [4 font-lock-function-name-face 
font-lock-function-name-face])
+        (progn
+      (wisi-statement-action [1 statement-start 5 statement-end])
+      (wisi-face-apply-list-action [4 font-lock-function-name-face 
font-lock-function-name-face])
       (wisi-indent-action [0 ada-indent-broken ada-indent-broken 
ada-indent-with 0])))
        ((LIMITED WITH name_list SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 4 statement-end])
-      (wisi-face-apply-list-action [3 font-lock-function-name-face 
font-lock-function-name-face])
+        (progn
+      (wisi-statement-action [1 statement-start 4 statement-end])
+      (wisi-face-apply-list-action [3 font-lock-function-name-face 
font-lock-function-name-face])
       (wisi-indent-action [0 ada-indent-broken ada-indent-with 0])))
        ((PRIVATE WITH name_list SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 4 statement-end])
-      (wisi-face-apply-list-action [3 font-lock-function-name-face 
font-lock-function-name-face])
+        (progn
+      (wisi-statement-action [1 statement-start 4 statement-end])
+      (wisi-face-apply-list-action [3 font-lock-function-name-face 
font-lock-function-name-face])
       (wisi-indent-action [0 ada-indent-broken ada-indent-with 0])))
        ((WITH name_list SEMICOLON )
-        (progn
-      (wisi-statement-action [1 statement-start 3 statement-end])
-      (wisi-face-apply-list-action [2 font-lock-function-name-face 
font-lock-function-name-face])
+        (progn
+      (wisi-statement-action [1 statement-start 3 statement-end])
+      (wisi-face-apply-list-action [2 font-lock-function-name-face 
font-lock-function-name-face])
       (wisi-indent-action [0 ada-indent-with 0])))))
      [((default . error) (ACCEPT .  1) (ABORT .  2) (BEGIN . (block_label_opt 
. 1)) (CASE .  3) (DECLARE . (block_label_opt . 1)) (DELAY .  4) (ENTRY . 
(overriding_indicator_opt . 2)) (EXIT .  5) (FOR . ( 6 (block_label_opt . 1))) 
(FUNCTION . (overriding_indicator_opt . 2)) (GENERIC .  8) (GOTO .  9) (IF .  
10) (LIMITED .  11) (LOOP . (block_label_opt . 1)) (NOT .  12) (NULL .  13) 
(OVERRIDING .  14) (PACKAGE .  15) (PRAGMA .  16) (PRIVATE .  17) (PROCEDURE . 
(overriding_indicator_opt .  [...]
       ((default . error) (IDENTIFIER .  118))
diff --git a/packages/ada-mode/ada-mode.el b/packages/ada-mode/ada-mode.el
index df01243..046af9d 100644
--- a/packages/ada-mode/ada-mode.el
+++ b/packages/ada-mode/ada-mode.el
@@ -1,13 +1,13 @@
 ;;; ada-mode.el --- major-mode for editing Ada sources  -*- lexical-binding:t 
-*-
 ;;
-;; Copyright (C) 1994, 1995, 1997 - 2018  Free Software Foundation, Inc.
+;; Copyright (C) 1994, 1995, 1997 - 2019  Free Software Foundation, Inc.
 ;;
 ;; Author: Stephen Leake <address@hidden>
 ;; Maintainer: Stephen Leake <address@hidden>
 ;; Keywords: languages
 ;;  ada
-;; Version: 6.0.1
-;; package-requires: ((wisi "2.0.1") (cl-lib "1.0") (emacs "25.0"))
+;; Version: 6.1.0
+;; package-requires: ((wisi "2.1.0") (cl-lib "1.0") (emacs "25.0"))
 ;; url: http://www.nongnu.org/ada-mode/
 ;;
 ;; (Gnu ELPA requires single digits between dots in versions)
@@ -164,11 +164,12 @@
 (require 'cl-lib)
 (require 'compile)
 (require 'find-file)
+(require 'wisi) ;; FIXME: rewrite to assume wisi
 
 (defun ada-mode-version ()
   "Return Ada mode version."
   (interactive)
-  (let ((version-string "6.0.1"))
+  (let ((version-string "6.1.0"))
     ;; must match:
     ;; ada-mode.texi
     ;; README-ada-mode
@@ -312,12 +313,6 @@ nil, only the file name."
   :type 'boolean
   :safe #'booleanp)
 
-(defcustom ada-gps-indent-exec "ada_mode_gps_indent.exe"
-  ;; declared here, not in ada-gps.el, for auto-detection of indent engine 
below
-  "Name of executable to use for ada_mode_gps_indent,"
-  :type 'string
-  :group 'ada-indentation)
-
 (defcustom ada-process-parse-exec "ada_mode_wisi_lr1_parse.exe"
   ;; We use .exe even on Linux to simplify the Makefile
   "Name of executable to use for external process Ada parser.
@@ -562,8 +557,14 @@ button was clicked."
   ;; point may be in the middle of a word, so insert newline first,
   ;; then go back and indent.
   (insert "\n")
-  (forward-char -1)
-  (funcall indent-line-function)
+  (unless (and (wisi-partial-parse-p (line-beginning-position) 
(line-end-position))
+              (save-excursion (progn (forward-char -1)(looking-back 
"begin\\|else" (line-beginning-position)))))
+    ;; Partial parse may think 'begin' is just the start of a
+    ;; statement, when it's actually part of a larger declaration. So
+    ;; don't indent 'begin'. Similarly for 'else'; error recovery will
+    ;; probaly insert 'if then' immediately before it
+    (forward-char -1)
+    (funcall indent-line-function))
   (forward-char 1)
   (funcall indent-line-function))
 
@@ -1753,6 +1754,9 @@ Useful when project has been edited."
       (setq ada-prj-alist (delq parsed ada-prj-alist)))
     (ada-select-prj-file prj-file nil)))
 
+;; This is autoloaded because it is often used in Makefiles, and thus
+;; will be the first ada-mode function executed.
+;;;###autoload
 (defun ada-select-prj-file (prj-file &optional no-force)
   "Select PRJ-FILE as the current project file, parsing it if necessary.
 Deselects the current project first."
@@ -2982,10 +2986,8 @@ The paragraph is indented on the first line."
 
 (defun ada-mode-post-local-vars ()
   ;; These are run after ada-mode-hook and file local variables
-  ;; because users or other ada-* files might set the relevant
-  ;; variable inside the hook or file local variables (file local
-  ;; variables are processed after the mode is set, and thus after
-  ;; ada-mode is run).
+  ;; because users or *.ad? files might set the relevant
+  ;; variable inside the hook or file local variables.
 
   ;; This means to fully set ada-mode interactively, user must
   ;; do M-x ada-mode M-; (hack-local-variables)
@@ -3042,12 +3044,10 @@ process : wisi elisp lexer, external process parser 
specified
   by ‘ada-process-parse-exec ’.
 ")
 
-(defvar ada-fallback nil
+(defvar ada-fallback 'simple
   "Indicate fallback indentation engine for Ada buffers.
 
-simple: indent to previous line.
-
-gps: gps external parser.")
+simple: indent to previous line.")
 
 (provide 'ada-mode)
 
@@ -3060,10 +3060,6 @@ gps: gps external parser.")
 (cl-case ada-fallback
   (simple
    (require 'ada-wisi))
-  (t
-   (if (locate-file ada-gps-indent-exec exec-path '("" ".exe"))
-       (require 'ada-gps)
-     (require 'ada-wisi)))
   )
 
 (cl-case ada-parser
diff --git a/packages/ada-mode/ada-mode.info b/packages/ada-mode/ada-mode.info
index 462afa0..26b2b70 100644
--- a/packages/ada-mode/ada-mode.info
+++ b/packages/ada-mode/ada-mode.info
@@ -1,7 +1,7 @@
 This is ada-mode.info, produced by makeinfo version 6.3 from
 ada-mode.texi.
 
-Copyright (C) 1999 - 2018 Free Software Foundation, Inc.
+Copyright (C) 1999 - 2019 Free Software Foundation, Inc.
 
      Permission is granted to copy, distribute and/or modify this
      document under the terms of the GNU Free Documentation License,
@@ -22,9 +22,9 @@ END-INFO-DIR-ENTRY
 
 File: ada-mode.info,  Node: Top,  Next: Overview,  Prev: (dir),  Up: (dir)
 
-Ada Mode Version 6.0.1
+Ada Mode Version 6.1.0
 
-   Copyright (C) 1999 - 2018 Free Software Foundation, Inc.
+   Copyright (C) 1999 - 2019 Free Software Foundation, Inc.
 
      Permission is granted to copy, distribute and/or modify this
      document under the terms of the GNU Free Documentation License,
@@ -68,7 +68,6 @@ Installation
 * Ada Reference Manual::
 * gpr_query::
 * process parser::
-* ada_mode_gps_indent::
 
 gpr_query
 
@@ -76,13 +75,9 @@ gpr_query
 * Building GNATCOLL 2018::
 * Building gpr_query::
 
-ada_mode_gps_indent
-
-* ada_mode_gps_indent install::
-* ada_mode_gps_indent configure::
-
 Customizing Ada mode
 
+* Slow response::
 * Non-standard file names::
 * Other compiler::
 * Other cross-reference::
@@ -207,7 +202,6 @@ ada-mode-version'.
 * Ada Reference Manual::
 * gpr_query::
 * process parser::
-* ada_mode_gps_indent::
 
 
 File: ada-mode.info,  Node: Ada Reference Manual,  Next: gpr_query,  Prev: 
Installation,  Up: Installation
@@ -384,8 +378,6 @@ ELPA package is installed:
      cd ~/.emacs.d/elpa/ada-mode-6.0.xx
      ./build.sh
 
-   This also builds *note ada_mode_gps_indent::.
-
    'ada-mode' will use 'gpr_query' for cross reference functions if
 'gpr_query' is found in 'PATH'.
 
@@ -403,93 +395,77 @@ available.
 ''elisp' or ''parser'.
 
 
-File: ada-mode.info,  Node: ada_mode_gps_indent,  Prev: gpr_query,  Up: 
Installation
-
-2.4 ada_mode_gps_indent
-=======================
-
-'ada_mode_gps_indent' is an alternate indentation engine, using the
-indentation engine from AdaCore's GPS. It is fast for indenting in very
-large files; the default ada-wisi is slow in that case.  It also
-tolerates most syntax errors, producing reasonable indentation.
-
-   It can be used either as the primary indentation engine, or as a
-fallback when ada-wisi fails due to syntax errors or in large files.
+File: ada-mode.info,  Node: Customization,  Next: Compiling Executing,  Prev: 
Installation,  Up: Top
 
-   In either case, the ada-wisi parser is still used for syntax
-highlighting (font-lock) and navigation.
+3 Customizing Ada mode
+**********************
 
-   The ada-mode Gnu ELPA package includes a copy of the source code for
-the GPS indentation engine from GPS GPS 2016, patched to be more
-consistent with the ada-wisi indentation engine.
+Here we assume you are familiar with setting variables in Emacs, either
+thru 'customize' or in elisp (in your '.emacs' file).  For a basic
+introduction to customize, elisp, and Emacs in general, see the tutorial
+('C-h t').
 
 * Menu:
 
-* ada_mode_gps_indent install::
-* ada_mode_gps_indent configure::
+* Slow response::
+* Non-standard file names::
+* Other compiler::
+* Other cross-reference::
+* Other customization::
 
 
-File: ada-mode.info,  Node: ada_mode_gps_indent install,  Next: 
ada_mode_gps_indent configure,  Up: ada_mode_gps_indent
-
-2.4.1 Install
--------------
+File: ada-mode.info,  Node: Slow response,  Next: Non-standard file names,  
Up: Customization
 
-To install 'ada_mode_gps_indent', assuming the 'ada-mode-6.0.xx' GNU
-ELPA package is installed:
-   * Install 'gnatcoll' (*note Building GNATCOLL 2018::).
+3.1 Slow response
+=================
 
-   * Compile and install 'ada_mode_gps_indent':
-          cd ~/.emacs.d/elpa/ada-mode-6.0.xx/
-          ./build.sh
+In large files, parsing is slow, so it gets in the way of interactive
+typing due to immediate fontification triggering a parse.
 
-     This also builds *note gpr_query::.
+   There are three ways to deal with this:
 
-
-File: ada-mode.info,  Node: ada_mode_gps_indent configure,  Prev: 
ada_mode_gps_indent install,  Up: ada_mode_gps_indent
+  1. Install the process parser (*Note process parser::), and set
+     'wisi-partial-parse-threshold' appropriately in your '~./emacs':
 
-2.4.2 Configure
----------------
+          (setq wisi-partial-parse-threshold 100001)
 
-By default, 'ada-mode' will use 'ada_mode_gps_indent' as a fallback
-indentation engine if 'ada_mode_gps_indent' is found on 'PATH'.
+     The default value (100001) may already be appropriate; it depends
+     on how fast your machine is, and what your tolerance for slow
+     response is.
 
-   Large files (determined by 'ada-gps-size-threshold') will use
-'ada_mode_gps_indent' as the primary indentation engine.
+     Files larger than 'wisi-partial-parse-threshold' will be parsed
+     partially; only the part of the buffer needed for the current task
+     will be parsed.  For fontification, that is the visible part.  For
+     indent, it is approximately the current subprogram or package.  For
+     navigation, it is always the entire file, which will still be slow;
+     that is the only way to ensure useful results.
 
-   To force the use of 'ada_mode_gps_indent', set
-'ada-gps-size-threshold' to 0, either globally, or in a file-local
-variable:
+     With this setting, indentation may not be correct; the Ada menu
+     entry "Edit | Indent lines in file" (or "Edit | Indent current
+     statement", if point is on a keyword of a large enough enclosing
+     statement) will parse the entire file and indent correctly.
 
-     --  Local Variables:
-     --  ada-gps-size-threshold : 0
-     --  End:
+  2. Delay fontification by setting 'jit-lock-defer-time' in your
+     '~./emacs':
 
-   In addition, files larger than 'wisi-size-threshold' will not run the
-wisi parser for font-lock; some syntax highlighting will be lost.  This
-provides better response in files where the parser is slow.
+          (setq jit-lock-defer-time 1.5)
 
-
-File: ada-mode.info,  Node: Customization,  Next: Compiling Executing,  Prev: 
Installation,  Up: Top
+     This is a global setting; it affects all buffers.  Fontification
+     will only be performed after you have stopped typing for the
+     indicated number of seconds.
 
-3 Customizing Ada mode
-**********************
+  3. Turn off parsing for fontification by setting 'wisi-disable-face'
+     in your '~./emacs'
 
-Here we assume you are familiar with setting variables in Emacs, either
-thru 'customize' or in elisp (in your '.emacs' file).  For a basic
-introduction to customize, elisp, and Emacs in general, see the tutorial
-('C-h t').
+          (setq wisi-disable-face t)
 
-* Menu:
-
-* Non-standard file names::
-* Other compiler::
-* Other cross-reference::
-* Other customization::
+     This turns of fontification for type, package, and function names;
+     only Ada reserved words are fontified.
 
 
 File: ada-mode.info,  Node: Non-standard file names,  Next: Other compiler,  
Prev: Customization,  Up: Customization
 
-3.1 Non-standard file names
+3.2 Non-standard file names
 ===========================
 
 By default, Ada mode is configured to use the GNAT file naming
@@ -536,7 +512,7 @@ scope of this manual; see the current definitions in 
'ada-mode.el' and
 
 File: ada-mode.info,  Node: Other compiler,  Next: Other cross-reference,  
Prev: Non-standard file names,  Up: Customization
 
-3.2 Other compiler
+3.3 Other compiler
 ==================
 
 The project variable 'ada_compiler' (default elisp variable
@@ -552,7 +528,7 @@ the indirection variables.
 
 File: ada-mode.info,  Node: Other cross-reference,  Next: Other customization, 
 Prev: Other compiler,  Up: Customization
 
-3.3 Other cross-reference
+3.4 Other cross-reference
 =========================
 
 The project variable 'ada_xref' (default elisp variable 'ada-xref-tool')
@@ -572,7 +548,7 @@ Emacs lisp code that provides the interface to the tool, 
and set
 
 File: ada-mode.info,  Node: Other customization,  Prev: Other cross-reference, 
 Up: Customization
 
-3.4 Other customization
+3.5 Other customization
 =======================
 
 All user-settable Ada mode variables can be set via the menu 'Ada |
@@ -623,15 +599,6 @@ the syntax to set a variable is the following:
      dedicated window.
 'which-func'
      Display the current subprogram name in the mode bar.
-'jit-lock-defer-time'
-     In large files, parsing is slow, so it gets in the way of
-     interactive typing due to immediate font-lock triggering a parse.
-     Delay the font-lock by setting an Emacs file-local variable in an
-     Ada comment:
-
-          --  Local Variables:
-          --  jit-lock-defer-time: 1.5
-          --  End:
 
    The above can all be set by the following code in your '~/.emacs'.
 Note that some are functions are added to 'before-save-hook'; they run
@@ -1585,6 +1552,11 @@ can also configure the indentation, via the following 
variables:
 'ada-indent' (default value: 3)
      Number of columns for default indentation.
 
+'ada-indent-after-trailing-comment' (default value t)
+     If t, align comment lines imediately following a comment on the
+     same line as code with the preceding comment.  Otherwise, ignore
+     the preceding comment.
+
 'ada-indent-broken' (default value: 2)
      Number of columns to indent the continuation of a broken line.
 
@@ -2811,56 +2783,54 @@ Index
 
 Tag Table:
 Node: Top945
-Node: Overview3678
-Node: Why not LSP?4915
-Node: Installation5257
-Node: Ada Reference Manual6338
-Node: gpr_query6614
-Node: Building GNATCOLL 20178450
-Node: Building GNATCOLL 201810082
-Node: Building gpr_query12531
-Node: process parser12988
-Node: ada_mode_gps_indent13320
-Node: ada_mode_gps_indent install14234
-Node: ada_mode_gps_indent configure14699
-Node: Customization15522
-Node: Non-standard file names16004
-Node: Other compiler17845
-Node: Other cross-reference18424
-Node: Other customization19166
-Node: Compiling Executing22721
-Node: Compile commands23456
-Node: Compiling Examples26107
-Node: No project files26939
-Node: Set compiler options32305
-Node: Set source search path34267
-Node: Use GNAT project file36720
-Node: Use multiple GNAT project files39494
-Node: Use a Makefile42214
-Node: Compiler errors43529
-Node: Project files44346
-Node: Project file overview45373
-Node: Project file variables46917
-Node: Moving Through Ada Code51792
-Node: Identifier completion54491
-Node: Indentation55453
-Node: Statement skeletons59801
-Node: Aligning code61586
-Node: Automatic casing62531
-Node: Comment Handling65235
-Node: Key summary65754
-Node: Developer overview68381
-Node: Directory structure68749
-Node: Package organization72720
-Node: Ada mode72955
-Node: gpr mode75151
-Node: GNAT core75434
-Node: Wisi76268
-Node: OpenToken77168
-Node: ELPA77770
-Node: Savannah78380
-Node: ada-france78718
-Node: GNU Free Documentation License78958
-Node: Index104119
+Node: Overview3584
+Node: Why not LSP?4821
+Node: Installation5163
+Node: Ada Reference Manual6220
+Node: gpr_query6496
+Node: Building GNATCOLL 20178332
+Node: Building GNATCOLL 20189964
+Node: Building gpr_query12413
+Node: process parser12820
+Node: Customization13152
+Node: Slow response13652
+Node: Non-standard file names15540
+Node: Other compiler17381
+Node: Other cross-reference17960
+Node: Other customization18702
+Node: Compiling Executing21922
+Node: Compile commands22657
+Node: Compiling Examples25308
+Node: No project files26140
+Node: Set compiler options31506
+Node: Set source search path33468
+Node: Use GNAT project file35921
+Node: Use multiple GNAT project files38695
+Node: Use a Makefile41415
+Node: Compiler errors42730
+Node: Project files43547
+Node: Project file overview44574
+Node: Project file variables46118
+Node: Moving Through Ada Code50993
+Node: Identifier completion53692
+Node: Indentation54654
+Node: Statement skeletons59224
+Node: Aligning code61009
+Node: Automatic casing61954
+Node: Comment Handling64658
+Node: Key summary65177
+Node: Developer overview67804
+Node: Directory structure68172
+Node: Package organization72143
+Node: Ada mode72378
+Node: gpr mode74574
+Node: GNAT core74857
+Node: Wisi75691
+Node: OpenToken76591
+Node: ELPA77193
+Node: Savannah77803
+Node: ada-france78141
+Node: GNU Free Documentation License78381
+Node: Index103542
 
 End Tag Table
diff --git a/packages/ada-mode/ada-mode.texi b/packages/ada-mode/ada-mode.texi
index 4c0b0fb..3850d17 100644
--- a/packages/ada-mode/ada-mode.texi
+++ b/packages/ada-mode/ada-mode.texi
@@ -3,7 +3,7 @@
 @settitle Ada Mode
 
 @copying
-Copyright @copyright{} 1999 - 2018  Free Software Foundation, Inc.
+Copyright @copyright{} 1999 - 2019  Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -26,7 +26,7 @@ developing GNU and promoting software freedom.''
 
 @titlepage
 @sp 10
address@hidden Ada Mode Version 6.0.1
address@hidden Ada Mode Version 6.1.0
 @page
 @vskip 0pt plus 1filll
 @insertcopying
@@ -36,7 +36,7 @@ developing GNU and promoting software freedom.''
 
 @node Top, Overview, (dir), (dir)
 
-Ada Mode Version 6.0.1
+Ada Mode Version 6.1.0
 
 @ifnottex
 @insertcopying
@@ -72,7 +72,6 @@ Installation
 * Ada Reference Manual::
 * gpr_query::
 * process parser::
-* ada_mode_gps_indent::
 
 gpr_query
 
@@ -80,13 +79,9 @@ gpr_query
 * Building GNATCOLL 2018::
 * Building @file{gpr_query}::
 
-ada_mode_gps_indent
-
-* ada_mode_gps_indent install::
-* ada_mode_gps_indent configure::
-
 Customizing Ada mode
 
+* Slow response::
 * Non-standard file names::
 * Other compiler::
 * Other cross-reference::
@@ -207,7 +202,6 @@ You may also want to install additional utilities:
 * Ada Reference Manual::
 * gpr_query::
 * process parser::
-* ada_mode_gps_indent::
 @end menu
 
 @node Ada Reference Manual, gpr_query, Installation, Installation
@@ -392,8 +386,6 @@ cd ~/.emacs.d/elpa/ada-mode-6.0.xx
 ./build.sh
 @end example
 
-This also builds @ref{ada_mode_gps_indent}.
-
 @code{ada-mode} will use @file{gpr_query} for cross reference
 functions if @file{gpr_query} is found in @code{PATH}.
 
@@ -406,84 +398,76 @@ is available.
 To override the automatic choice of parser, set @var{ada-parser} to
 either @code{'elisp} or @code{'parser}.
 
address@hidden ada_mode_gps_indent, , gpr_query, Installation
address@hidden ada_mode_gps_indent
address@hidden is an alternate indentation engine, using the
-indentation engine from AdaCore's GPS. It is fast for indenting in
-very large files; the default ada-wisi is slow in that case. It also
-tolerates most syntax errors, producing reasonable indentation.
-
-It can be used either as the primary indentation engine, or as a
-fallback when ada-wisi fails due to syntax errors or in large files.
-
-In either case, the ada-wisi parser is still used for syntax
-highlighting (font-lock) and navigation.
address@hidden Customization, Compiling Executing, Installation, Top
address@hidden Customizing Ada mode
 
-The ada-mode Gnu ELPA package includes a copy of the source code for
-the GPS indentation engine from GPS GPS 2016, patched to be more
-consistent with the ada-wisi indentation engine.
+Here we assume you are familiar with setting variables in Emacs,
+either thru 'customize' or in elisp (in your @file{.emacs} file). For
+a basic introduction to customize, elisp, and Emacs in general, see
+the tutorial (@kbd{C-h t}).
 
 @menu
-* ada_mode_gps_indent install::
-* ada_mode_gps_indent configure::
+* Slow response::
+* Non-standard file names::
+* Other compiler::
+* Other cross-reference::
+* Other customization::
 @end menu
 
address@hidden ada_mode_gps_indent install
address@hidden Install
-To install @code{ada_mode_gps_indent}, assuming the
address@hidden GNU ELPA package is installed:
address@hidden
address@hidden
-Install @file{gnatcoll} (@ref{Building GNATCOLL 2018}).
address@hidden Slow response
address@hidden Slow response
+
+In large files, parsing is slow, so it gets in the way of interactive
+typing due to immediate fontification triggering a parse.
+
+There are three ways to deal with this:
+
address@hidden
address@hidden Install the process parser (@xref{process parser}), and set
address@hidden appropriately in your
address@hidden/emacs}:
 
address@hidden
-Compile and install @file{ada_mode_gps_indent}:
 @example
-cd ~/.emacs.d/elpa/ada-mode-6.0.xx/
-./build.sh
+(setq wisi-partial-parse-threshold 100001)
 @end example
 
-This also builds @ref{gpr_query}.
+The default value (100001) may already be appropriate; it depends on
+how fast your machine is, and what your tolerance for slow response
+is.
 
address@hidden itemize
-
address@hidden ada_mode_gps_indent configure
address@hidden Configure
-By default, @code{ada-mode} will use @code{ada_mode_gps_indent} as a
-fallback indentation engine if @code{ada_mode_gps_indent} is found on
address@hidden
+Files larger than @code{wisi-partial-parse-threshold} will be parsed
+partially; only the part of the buffer needed for the current task
+will be parsed. For fontification, that is the visible part. For indent,
+it is approximately the current subprogram or package. For navigation,
+it is always the entire file, which will still be slow; that is the
+only way to ensure useful results.
 
-Large files (determined by @code{ada-gps-size-threshold}) will use
address@hidden as the primary indentation engine.
+With this setting, indentation may not be correct; the Ada menu entry
+``Edit | Indent lines in file'' (or ``Edit | Indent current
+statement'', if point is on a keyword of a large enough enclosing
+statement) will parse the entire file and indent correctly.
 
-To force the use of @code{ada_mode_gps_indent}, set
address@hidden to 0, either globally, or in a
-file-local variable:
address@hidden Delay fontification by setting @code{jit-lock-defer-time} in your
address@hidden/emacs}:
 
 @example
---  Local Variables:
---  ada-gps-size-threshold : 0
---  End:
+(setq jit-lock-defer-time 1.5)
 @end example
 
-In addition, files larger than @code{wisi-size-threshold} will not run
-the wisi parser for font-lock; some syntax highlighting will be
-lost. This provides better response in files where the parser is slow.
+This is a global setting; it affects all buffers. Fontification will
+only be performed after you have stopped typing for the indicated
+number of seconds.
 
address@hidden Customization, Compiling Executing, Installation, Top
address@hidden Customizing Ada mode
address@hidden Turn off parsing for fontification by setting
address@hidden in your @file{~./emacs}
 
-Here we assume you are familiar with setting variables in Emacs,
-either thru 'customize' or in elisp (in your @file{.emacs} file). For
-a basic introduction to customize, elisp, and Emacs in general, see
-the tutorial (@kbd{C-h t}).
address@hidden
+(setq wisi-disable-face t)
address@hidden example
 
address@hidden
-* Non-standard file names::
-* Other compiler::
-* Other cross-reference::
-* Other customization::
address@hidden menu
+This turns of fontification for type, package, and function names;
+only Ada reserved words are fontified.
address@hidden enumerate
 
 @node Non-standard file names, Other compiler, Customization, Customization
 @section Non-standard file names
@@ -616,18 +600,6 @@ Navigate to subprograms and types by name, from a 
minibuffer menu.
 Navigate to subprograms and types by name, from a list in a dedicated window.
 @item which-func
 Display the current subprogram name in the mode bar.
address@hidden jit-lock-defer-time
-In large files, parsing is slow, so it gets in the way of
-interactive typing due to immediate font-lock triggering a
-parse. Delay the font-lock by setting an Emacs file-local variable
-in an Ada comment:
-
address@hidden
---  Local Variables:
---  jit-lock-defer-time: 1.5
---  End:
address@hidden example
-
 @end table
 
 The above can all be set by the following code in your
@@ -1654,6 +1626,11 @@ can also configure the indentation, via the following 
variables:
 @item @code{ada-indent}                  (default value: 3)
 Number of columns for default indentation.
 
address@hidden @code{ada-indent-after-trailing-comment} (default value t)
+If t, align comment lines imediately following a comment on the
+same line as code with the preceding comment. Otherwise, ignore
+the preceding comment.
+
 @item @code{ada-indent-broken}           (default value: 2)
 Number of columns to indent the continuation of a broken line.
 
@@ -1675,6 +1652,8 @@ of:
 
 Otherwise, they are indented with previous comments or code.
 
address@hidden @item @code{ada-indent-hanging-rel-exp} still experimental
+
 @item @code{ada-indent-label}            (default value: -3)
 Number of columns to indent a label.
 
diff --git a/packages/ada-mode/ada-process.el b/packages/ada-mode/ada-process.el
index 26077a4..c75e867 100644
--- a/packages/ada-mode/ada-process.el
+++ b/packages/ada-mode/ada-process.el
@@ -1,7 +1,7 @@
 ;;; ada-process.el --- Generated parser support file  -*- lexical-binding:t -*-
 ;;  command line: wisitoken-bnf-generate.exe  --generate LR1 Ada_Emacs re2c 
PROCESS text_rep ada.wy
 
-;;  Copyright (C) 2013 - 2018 Free Software Foundation, Inc.
+;;  Copyright (C) 2013 - 2019 Free Software Foundation, Inc.
 
 ;;  This program is free software; you can redistribute it and/or
 ;;  modify it under the terms of the GNU General Public License as
diff --git a/packages/ada-mode/ada-project.el b/packages/ada-mode/ada-project.el
deleted file mode 100644
index e917ec3..0000000
--- a/packages/ada-mode/ada-project.el
+++ /dev/null
@@ -1,81 +0,0 @@
-;; ada-project.el - project.el backend for ada-mode projects -*- 
lexical-binding: t =*-
-;;
-;; Copyright (C) 2017, 2018, 2019  Free Software Foundation, Inc.
-;;
-;; Author: Stephen Leake <address@hidden>
-;; Maintainer: Stephen Leake <address@hidden>
-;; Keywords: projects
-;; Version: 1.0.0
-;; package-requires: ((emacs "25.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/>.
-
-(require 'ada-mode)
-(require 'project-patches)
-(require 'env-project)
-(require 'uniquify-files)
-
-(cl-defstruct (ada-project
-              (:include env-project)
-              (:constructor nil) ;; no default
-              (:constructor make-ada-project
-                            (&key
-                             env-vars
-                             ada-prj-file
-                             &aux
-                             (ada-prj (expand-file-name ada-prj-file))))
-              )
-  ada-prj
-  ;; The ada-mode project file name (absolute).
-  )
-
-(cl-defmethod project-id ((prj ada-project))
-  ;; project-id is experimental
-  (ada-project-ada-prj prj))
-
-(cl-defmethod project-library-roots ((prj ada-project))
-  ;; Called from project-find-file; result is passed to
-  ;; project--file-completion-table, where it is ignored.
-  nil)
-
-(cl-defmethod project-roots ((prj ada-project))
-  ;; Called from project-find-file; result is passed to
-  ;; project--file-completion-table, where it is ignored.
-  nil)
-
-(cl-defmethod project-file-completion-table ((prj ada-project) _dirs)
-  ;; (ada-prj-get 'src_dir) is more accurate than project-*roots
-  (let ((iter (make-path-iterator
-              :user-path-non-recursive (ada-prj-get 'src_dir)
-              :user-path-recursive nil
-              :ignore-function nil)))
-    (apply-partially #'uniq-file-completion-table iter)
-    ))
-
-(cl-defmethod project-select :after ((prj ada-project))
-  ;; :after ensures env-project project-select is run first, setting env vars.
-  (ada-select-prj-file (ada-project-ada-prj prj)))
-
-(cl-defmethod project-deselect :before ((prj ada-project))
-  ;; :before ensures env vars are not erased before we are done with them.
-  (ada-deselect-prj (ada-project-ada-prj prj)))
-
-(cl-defmethod project-refresh ((_prj ada-project))
-  ;; assume prj is current
-  (ada-refresh-prj-file))
-(provide 'ada-project)
-
-;; end of file
diff --git a/packages/ada-mode/ada-wisi-elisp-parse.el 
b/packages/ada-mode/ada-wisi-elisp-parse.el
index 0e3e275..1a1e2c3 100644
--- a/packages/ada-mode/ada-wisi-elisp-parse.el
+++ b/packages/ada-mode/ada-wisi-elisp-parse.el
@@ -1,6 +1,6 @@
 ;;; ada-wisi-elisp-parse.el --- Ada functions for grammar actions called from 
the elisp parser  -*- lexical-binding:t -*-
 ;;
-;; Copyright (C) 2012 - 2018  Free Software Foundation, Inc.
+;; Copyright (C) 2012 - 2019  Free Software Foundation, Inc.
 ;;
 ;; Author: Stephen Leake <address@hidden>
 ;;
@@ -130,7 +130,7 @@
            (and prev-1
                 (eq 'WITH (wisi-tok-token prev-1))
                 (or (null prev-3)
-                    ;; FIXME: doc test case
+                    ;; IMPROVEME: doc test case
                     (not (eq 'LEFT_PAREN (wisi-tok-token prev-3))))) ;; not in 
extension aggregate
 
            ;; test/aspects.ads
diff --git a/packages/ada-mode/ada-wisi.el b/packages/ada-mode/ada-wisi.el
index 22c42b5..09b4c73 100644
--- a/packages/ada-mode/ada-wisi.el
+++ b/packages/ada-mode/ada-wisi.el
@@ -2,7 +2,7 @@
 ;;
 ;; [1] ISO/IEC 8652:2012(E); Ada 2012 reference manual
 ;;
-;; Copyright (C) 2012 - 2018  Free Software Foundation, Inc.
+;; Copyright (C) 2012 - 2019  Free Software Foundation, Inc.
 ;;
 ;; Author: Stephen Leake <address@hidden>
 ;;
@@ -120,8 +120,8 @@ For `wisi-indent-calculate-functions'.
 
        (save-excursion
          (forward-comment -1)
-         (if (looking-at "\\s *$")
-             ;; no comment on previous line
+         (if (or (not ada-indent-after-trailing-comment) ;; ignore comment on 
previous line
+                 (looking-at "\\s *$"))                  ;; no comment on 
previous line
              (setq after 'code)
 
            (setq indent (current-column))
@@ -158,8 +158,9 @@ For `wisi-indent-calculate-functions'.
 
 (defun ada-wisi-post-parse-fail ()
   "For `wisi-post-parse-fail-hook'."
+  ;; Parse indent succeeded, so we assume parse navigate will as well
+  (wisi-validate-cache (point-min) (line-end-position) nil 'navigate)
   (save-excursion
-    (wisi-validate-cache (point) nil 'navigate)
     (let ((start-cache (wisi-goto-start (or (wisi-get-cache (point)) 
(wisi-backward-cache)))))
       (when start-cache
        ;; nil when in a comment at point-min
@@ -177,7 +178,7 @@ For `wisi-indent-calculate-functions'.
 
 (defun ada-wisi-context-clause ()
   "For `ada-fix-context-clause'."
-  (wisi-validate-cache (point-max) t 'navigate)
+  (wisi-validate-cache (point-min) (point-max) t 'navigate)
   (save-excursion
     (goto-char (point-min))
     (let ((begin nil)
@@ -229,7 +230,7 @@ For `wisi-indent-calculate-functions'.
 
 (defun ada-wisi-goto-subunit-name ()
   "For `ada-goto-subunit-name'."
-  (wisi-validate-cache (point-max) t 'navigate)
+  (wisi-validate-cache (point-min) (point-max) t 'navigate)
 
   (let (cache
        (name-pos nil))
@@ -252,7 +253,7 @@ For `wisi-indent-calculate-functions'.
 (defun ada-wisi-goto-declaration-start (&optional include-type)
   "For `ada-goto-declaration-start', which see.
 Also return cache at start."
-  (wisi-validate-cache (point) t 'navigate)
+  (wisi-validate-cache (point-min) (point-max) t 'navigate)
 
   (let ((cache (wisi-get-cache (point)))
        (done nil))
@@ -305,7 +306,7 @@ Also return cache at start."
 
 (defun ada-wisi-goto-declarative-region-start ()
   "For `ada-goto-declarative-region-start', which see."
-  (wisi-validate-cache (point-max) t 'navigate)
+  (wisi-validate-cache (point-min) (point-max) t 'navigate)
 
   (let ((done nil)
        (first t)
@@ -384,7 +385,7 @@ Also return cache at start."
 
 (defun ada-wisi-in-paramlist-p (&optional parse-result)
   "For `ada-in-paramlist-p'."
-  (wisi-validate-cache (point) nil 'navigate)
+  (wisi-validate-cache (point-min) (point-max) nil 'navigate)
   ;; (info "(elisp)Parser State" "*syntax-ppss*")
   (let ((parse-result (or parse-result (syntax-ppss)))
         cache)
@@ -396,9 +397,9 @@ Also return cache at start."
 
 (defun ada-wisi-make-subprogram-body ()
   "For `ada-make-subprogram-body'."
-  ;; point is at start of subprogram specification; we need to find
-  ;; the end, so ensure parse to end of buffer.
-  (wisi-validate-cache (point-max) t 'navigate)
+  ;; point is at start of subprogram specification;
+  ;; ada-wisi-expand-region will find the terminal semicolon.
+  (wisi-validate-cache (point-min) (point-max) t 'navigate)
 
   (let* ((begin (point))
         (end (wisi-cache-end (wisi-get-cache (point))))
@@ -422,9 +423,16 @@ Also return cache at start."
 (defun ada-wisi-scan-paramlist (begin end)
   "For `ada-scan-paramlist'."
   ;; IMPROVEME: define mini grammar that does this
-  (wisi-validate-cache end t 'navigate)
+  ;;
+  ;; BEGIN is at (, end at ). We need to parse the entire
+  ;; subprogram_specification, so start back two tokens.
+  (goto-char begin)
+  (wisi-backward-token)
+  (wisi-backward-token)
+  (wisi-validate-cache (point) end t 'navigate)
 
   (goto-char begin)
+
   (let (tok
        token
        text
@@ -542,9 +550,10 @@ Also return cache at start."
 
 (defun ada-wisi-which-function (include-type)
   "For `ada-which-function'."
-  (wisi-validate-cache (point) nil 'navigate)
-  ;; no message on parse fail, since this could be called from which-func-mode
-  (when (> (wisi-cache-max 'navigate) (point))
+  ;; No message on parse fail, since this could be called from
+  ;; which-function-mode.
+  (wisi-validate-cache (point-min) (point) nil 'navigate)
+  (when (wisi-cache-covers-pos 'navigate (point))
     (save-excursion
       (let ((result nil)
            (cache (condition-case nil (ada-wisi-goto-declaration-start 
include-type) (error nil))))
@@ -710,6 +719,176 @@ TOKEN-TEXT; move point to just past token."
          (if ada-end-name-optional 1 0)
          ))
 
+(defconst ada-wisi-named-begin-regexp
+  "\\bfunction\\b\\|\\bpackage\\b\\|\\bprocedure\\b\\|\\btask\\b"
+  )
+
+(defconst ada-wisi-partial-begin-regexp
+  (concat "\\bbegin\\b\\|\\bdeclare\\b\\|"
+         ada-wisi-named-begin-regexp
+         "\\|\\bend;\\|\\bend " ada-name-regexp ";"))
+
+(defconst ada-wisi-partial-end-regexp
+  (concat ada-wisi-partial-begin-regexp
+         "\\|;"))
+
+(defun ada-wisi-search-backward-no-string-comment (regexp)
+  (let ((maybe-found-p (search-backward-regexp regexp nil t)))
+    (while (and maybe-found-p
+               (ada-in-string-or-comment-p)
+               (setq maybe-found-p (search-backward-regexp regexp nil t))))
+    maybe-found-p))
+
+(defun ada-wisi-find-begin ()
+  "Starting at current point, search backward for a parse start point."
+
+  ;; There is a trade-off in deciding where to start parsing for indent. If we 
have:
+  ;;
+  ;; procedure ...
+  ;; is
+  ;;
+  ;; and are inserting a new line after 'is', we need to include
+  ;; 'is' in the parse to see the indent. On the other hand, if we
+  ;; have:
+  ;;
+  ;;    ...
+  ;;    end;
+  ;; begin
+  ;;    Foo;
+  ;;
+  ;; Inserting new line after 'Foo;'; if we include 'begin', there
+  ;; is no error (begin starts a statement), and the indent is
+  ;; computed incorrectly.
+  ;;
+  ;; This is handled by the set of keywords in
+  ;; ada-wisi-partial-begin-regexp.
+  (cond
+   ((ada-wisi-search-backward-no-string-comment ada-wisi-partial-begin-regexp)
+    (let ((found (match-string 0))
+         cache)
+      (cond
+       ((and (>= (length found) 3)
+            (string-equal "end" (substring found 0 3)))
+       (match-end 0))
+
+       (t
+       (setq cache (wisi-get-cache (point)))
+       (when cache
+         ;; This distinguishes 'begin' as a statement start from
+         ;; 'begin' following 'declare', 'procedure' etc.  We don't
+         ;; force a parse to get this; the user may choose to do so.
+         (wisi-goto-start cache))
+       (point))
+       )))
+
+   (t
+    (point-min))
+   ))
+
+(defun ada-wisi-find-end ()
+  "Starting at current point, search forward for a reasonable parse end point."
+  (unless (bolp) (forward-line 1)) ;; get out of any current comment
+
+  (let ((start (point))
+       match
+       (end-cand nil))
+
+    (while (not end-cand)
+      (if (search-forward-regexp ada-wisi-partial-end-regexp nil 1) ;; moves 
to eob if not found
+         (unless (or (ada-in-string-or-comment-p)
+                     (ada-in-paren-p))
+           (setq match t)
+           (setq end-cand (point)))
+
+       ;; No reasonable end point found (maybe a missing right
+       ;; paren); return line after start for minimal parse, compute
+       ;; indent for line containing start.
+       (setq match nil)
+       (goto-char start)
+       (setq end-cand (line-end-position 2)))
+      )
+
+    (when (and match
+              (not (string-equal ";" (match-string 0))))
+      (setq end-cand (match-beginning 0)))
+
+    end-cand))
+
+(defun ada-wisi-find-matching-end ()
+  "Starting at current point, search forward for a matching end.
+Point must have been set by `ada-wisi-find-begin'."
+  (let (end-regexp)
+    ;; Point is at bol
+    (back-to-indentation)
+    (when (looking-at ada-wisi-named-begin-regexp)
+      (skip-syntax-forward "ws")
+      (skip-syntax-forward " ")
+      (when (looking-at "body\\|type")
+       (goto-char (match-end 0))
+       (skip-syntax-forward " "))
+      (setq end-regexp
+           (concat "end +"
+                   (buffer-substring-no-properties
+                    (point)
+                    (progn
+                      (skip-syntax-forward "ws._")
+                      (point)))
+                   ";"))
+      (if (search-forward-regexp end-regexp nil t)
+         (progn
+           (while (and (ada-in-string-or-comment-p)
+                       (search-forward-regexp end-regexp)))
+           (point))
+
+       ;; matching end not found
+       nil)
+      )))
+
+(cl-defmethod wisi-parse-expand-region ((_parser ada-wisi-parser) begin end)
+  (let (begin-cand end-cand result)
+    (save-excursion
+      (goto-char begin)
+
+      (setq begin-cand (ada-wisi-find-begin))
+      (if (= begin-cand (point-min)) ;; No code between BEGIN and bob
+         (progn
+           (goto-char end)
+           (setq result (cons begin-cand (ada-wisi-find-end))))
+
+       (setq end-cand (ada-wisi-find-matching-end))
+       (if (and end-cand
+                (>= end-cand end))
+           (setq result (cons begin-cand end-cand))
+         (goto-char end)
+         (setq result (cons begin-cand (ada-wisi-find-end))))
+
+       ))
+    result))
+
+(defun ada-wisi-show-expanded-region ()
+  "For debugging. Expand currently selected region."
+  (interactive)
+  (let ((region (wisi-parse-expand-region wisi--parser (region-beginning) 
(region-end))))
+    (message "pre (%d . %d) post %s" (region-beginning) (region-end) region)
+    (set-mark (car region))
+    (goto-char (cdr region))
+    ))
+
+(cl-defmethod wisi-parse-adjust-indent ((_parser ada-wisi-parser) indent 
repair)
+  (cond
+   ((or (wisi-list-memq (wisi--parse-error-repair-inserted repair) '(BEGIN IF 
LOOP))
+       (wisi-list-memq (wisi--parse-error-repair-deleted repair) '(END)))
+    ;; Error token terminates the block containing the start token
+    (- indent ada-indent))
+
+   ((memq 'CASE (wisi--parse-error-repair-inserted repair))
+    ;; We don't need to handle comments between 'case' and 'when'; the
+    ;; 'case' is virtual.
+    (- indent (+ ada-indent ada-indent-when)))
+
+   (t indent)
+   ))
+
 (defvar ada-parser nil) ;; declared, set in ada-mode.el for parser detection
 (defvar ada-process-token-table nil) ;; ada-process.el
 (defvar ada-process-face-table nil) ;; ada-process.el
diff --git a/packages/ada-mode/ada_lr1_parse_table.txt.gz 
b/packages/ada-mode/ada_lr1_parse_table.txt.gz
index 4533e27..8dd52ba 100644
Binary files a/packages/ada-mode/ada_lr1_parse_table.txt.gz and 
b/packages/ada-mode/ada_lr1_parse_table.txt.gz differ
diff --git a/packages/ada-mode/ada_mode_gps_indent.adb 
b/packages/ada-mode/ada_mode_gps_indent.adb
deleted file mode 100644
index ea8b0c0..0000000
--- a/packages/ada-mode/ada_mode_gps_indent.adb
+++ /dev/null
@@ -1,323 +0,0 @@
---  Abstract :
---
---  Back end for Emacs Ada mode indentation engine, using GPS
---  indentation code.
---
---  Copyright (C) 2014, 2017 Free Software Foundation, Inc.
---
---  This program is free software; you can redistribute it and/or
---  modify it under terms of the GNU General Public License as
---  published by the Free Software Foundation; either version 3, or (at
---  your option) any later version. This program is distributed in the
---  hope that it will be useful, but WITHOUT ANY WARRANTY; without even
---  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
---  PURPOSE. See the GNU General Public License for more details. You
---  should have received a copy of the GNU General Public License
---  distributed with this program; see file COPYING. If not, write to
---  the Free Software Foundation, 51 Franklin Street, Suite 500, Boston,
---  MA 02110-1335, USA.
-
-pragma License (GPL);
-
-with Ada.Command_Line;
-with Ada.Exceptions;
-with Ada.Strings.Fixed;
-with Ada.Strings.Unbounded;
-with Ada.Text_IO; use Ada.Text_IO;
-with Ada_Analyzer;
-with Case_Handling;
-with GNAT.OS_Lib;
-with GNAT.Traceback.Symbolic;
-with GNATCOLL.Symbols;
-with Language;
-with System.Storage_Elements;
-procedure Ada_Mode_GPS_Indent is
-
-   Programmer_Error : exception;
-
-   Version : constant String := "1.001";
-   --  Format: API_version . patch_level
-   --
-   --  API_version match ada-gps.el ada-gps-indent-exec-api-version.
-   --
-   --  Bump API_version for change in commands/response; bump patch
-   --  level for patches to GPS indentation code.
-
-   Prompt : constant String := "GPS_Indent> ";
-
-   --  Indentation parameters to Analyze_Ada_Source
-   --  Defaults for debugging.
-   Indent_Level      : Natural               := 0;                     -- 
ada-indent
-   Indent_Continue   : Natural               := 0;                     -- 
ada-broken-indent
-   Indent_Case_Extra : Language.Indent_Style := Language.Non_RM_Style; -- 
derived from ada-indent-when
-   Indent_Record     : Natural               := 0;                     -- 
ada-indent-record-rel-type
-
-   procedure Usage
-   is begin
-      Put_Line ("Prompt is '" & Prompt & "'");
-      Put_Line ("commands are case sensitive");
-      Put_Line ("each command starts with a two-character decimal count of 
bytes in command");
-      New_Line;
-      Put_Line ("Commands: ");
-      New_Line;
-      Put_Line ("07version");
-      Put_Line ("  outputs: <version>");
-      New_Line;
-      Put_Line ("NNset_params <ada-indent> <ada-indent-broken> 
<ada-indent-when>");
-      New_Line;
-      Put_Line ("NNcompute_indent <line> <text_byte_count><text>");
-      Put_Line ("  first line is 1 (emacs convention)");
-      Put_Line ("  text must be UTF8 encoded");
-      Put_Line ("  outputs: <line number> <indent><newline>");
-      Put_Line ("  no indent is 0 (emacs convention)");
-      New_Line;
-      Put_Line ("NNcompute_region_indent <start line> <end line> 
<text_byte_count><text>");
-      Put_Line ("  outputs for each line: <line number> <indent><newline>");
-      New_Line;
-      Put_Line ("NNnoop <text_byte_count><text>");
-      Put_Line ("  Receive text as in 'compute_indent', otherwise no 
operation.");
-      Put_Line ("  Used to time sending buffer text.");
-      New_Line;
-      Put_Line ("04exit");
-   end Usage;
-
-   procedure Read_Input
-     (A : System.Address;
-      N : Integer)
-   is
-      use System.Storage_Elements;
-
-      B         : System.Address := A;
-      Remaining : Integer        := N;
-      Read      : Integer;
-   begin
-      --  WORKAROUND: with GNAT GPL 2016, GNAT.OS_Lib.Read does _not_
-      --  wait for all N bytes or EOF; it returns as soon as it gets
-      --  some bytes.
-      --
-      --  Note that with this loop we cannot detect EOF; that's ok for
-      --  this application.
-      loop
-         Read := GNAT.OS_Lib.Read (GNAT.OS_Lib.Standin, B, Remaining);
-         Remaining := Remaining - Read;
-         exit when Remaining <= 0;
-         B := B + Storage_Offset (Read);
-      end loop;
-   end Read_Input;
-
-   function Get_Command_Length return Integer
-   is
-      Temp : aliased String (1 .. 2) := "  ";
-   begin
-      Read_Input (Temp'Address, 2);
-      return Integer'Value (Temp);
-
-   exception
-   when Constraint_Error =>
-      --  From Integer'Value
-      raise Programmer_Error with "command byte count not provided; got '" & 
Temp & "'";
-   end Get_Command_Length;
-
-   function Get_Integer
-     (Source : in     String;
-      Last   : in out Integer)
-     return Integer
-   is
-      use Ada.Exceptions;
-      use Ada.Strings.Fixed;
-      First : constant Integer := Last + 2; -- final char of previous 
word/integer, space
-   begin
-      Last := Index
-        (Source  => Source,
-         Pattern => " ",
-         From    => First);
-
-      if Last = 0 then
-         Last := Source'Last;
-      else
-         Last := Last - 1;
-      end if;
-
-      return Integer'Value (Source (First .. Last));
-   exception
-   when E : others =>
-      Put_Line ("bad integer '" & Source (First .. Source'Last) & "'");
-      Put_Line ("Exception : " & Exception_Name (E));
-      Put_Line (Exception_Message (E));
-      raise;
-   end Get_Integer;
-
-   procedure Replace_Cb
-     (Line    : in Natural;
-      First   : in Natural;
-      Last    : in Natural;
-      Replace : in String)
-   is
-      pragma Unreferenced (Last);
-   begin
-      --  analyze calls replace_cb for ":", ":=" etc. We only
-      --  want the leading spaces, for indentation.
-      if Replace'Length > 0 and First = 1 then
-         Put_Line (Natural'Image (Line) & Natural'Image (Replace'Length));
-      end if;
-   end Replace_Cb;
-
-   procedure Compute_Indent
-     (Start_Line : in Natural;
-      End_Line   : in Natural;
-      Byte_Count : in Integer)
-   is
-      use Ada.Strings.Unbounded;
-      Buffer : aliased String_Access := new String (1 .. Byte_Count);
-   begin
-      Read_Input (Buffer.all'Address, Byte_Count);
-
-      Ada_Analyzer.Analyze_Ada_Source
-        (Buffer.all, GNATCOLL.Symbols.Allocate,
-         Indent_Params          =>
-           (Indent_Level        => Indent_Level,
-            Indent_Continue     => Indent_Continue,
-            Indent_Decl         => 2, -- no ada-mode equivalent
-            Indent_Conditional  => 1, -- no ada-mode equivalent
-            Indent_Record       => Indent_Record,
-            Indent_Case_Extra   => Indent_Case_Extra,
-            Casing_Policy       => Case_Handling.Disabled,
-            Reserved_Casing     => Case_Handling.Unchanged,
-            Ident_Casing        => Case_Handling.Unchanged,
-            Format_Operators    => False,
-            Use_Tabs            => False,
-            Align_On_Colons     => False,
-            Align_On_Arrows     => False,
-            Align_Decl_On_Colon => False,
-            Indent_Comments     => True,
-            Stick_Comments      => False), -- no ada-mode equivalent.
-         --  Stick_Comments = True causes comments to be not indented.
-
-         From                   => Start_Line,
-         To                     => End_Line,
-         Replace                => Replace_Cb'Unrestricted_Access);
-
-      Free (Buffer);
-   exception
-   when E : others =>
-      declare
-         use Ada.Exceptions;
-         use GNAT.Traceback.Symbolic;
-      begin
-         Put_Line ("analyze failed on '" & Buffer.all & "'");
-         Put_Line ("Exception : " & Exception_Name (E));
-         Put_Line (Exception_Message (E));
-         Put_Line (Symbolic_Traceback (E));
-      end;
-   end Compute_Indent;
-
-   procedure Receive_Text (Byte_Count : in Integer)
-   is
-      use Ada.Strings.Unbounded;
-      Buffer : aliased String_Access := new String (1 .. Byte_Count);
-   begin
-      Read_Input (Buffer.all'Address, Byte_Count);
-      Free (Buffer);
-   end Receive_Text;
-begin
-
-   Commands :
-   loop
-      Put (Prompt); Flush;
-
-      declare
-         use Ada.Strings.Fixed;
-         Command_Length : constant Integer := Get_Command_Length;
-         Command_Line   : aliased String (1 .. Command_Length);
-         Last           : Integer;
-      begin
-         Read_Input (Command_Line'Address, Command_Length);
-         Last := Index (Source => Command_Line, Pattern => " ");
-
-         if Last = 0 then
-            Last := Command_Line'Last;
-         else
-            Last := Last - 1;
-         end if;
-
-         if Command_Line (1 .. Last) = "exit" then
-            exit Commands;
-
-         elsif Command_Line (1 .. Last) = "version" then
-            Put_Line (Version);
-
-         elsif Command_Line (1 .. Last) = "set_params" then
-            declare
-               Ada_Indent                 : constant Integer := Get_Integer 
(Command_Line, Last);
-               Ada_Broken_Indent          : constant Integer := Get_Integer 
(Command_Line, Last);
-               Ada_Indent_When            : constant Integer := Get_Integer 
(Command_Line, Last);
-               Ada_Indent_Record_Rel_Type : constant Integer := Get_Integer 
(Command_Line, Last);
-            begin
-               Indent_Level    := Ada_Indent;
-               Indent_Continue := Ada_Broken_Indent;
-               Indent_Record   := Ada_Indent_Record_Rel_Type;
-
-               if Ada_Indent_When = 0 then
-                  Indent_Case_Extra := Language.Non_RM_Style;
-               else
-                  Indent_Case_Extra := Language.RM_Style;
-                  --  IMPROVEME: maybe Automatic if ada-indent-when < 0?
-               end if;
-            end;
-
-         elsif Command_Line (1 .. Last) = "compute_indent" then
-            declare
-               Line       : constant Integer := Get_Integer (Command_Line, 
Last);
-               Byte_Count : constant Integer := Get_Integer (Command_Line, 
Last);
-            begin
-               Compute_Indent (Line, Line, Byte_Count);
-            end;
-
-         elsif Command_Line (1 .. Last) = "compute_region_indent" then
-            declare
-               Start_Line : constant Integer := Get_Integer (Command_Line, 
Last);
-               End_Line   : constant Integer := Get_Integer (Command_Line, 
Last);
-               Byte_Count : constant Integer := Get_Integer (Command_Line, 
Last);
-            begin
-               Compute_Indent (Start_Line, End_Line, Byte_Count);
-            end;
-
-         elsif Command_Line (1 .. Last) = "noop" then
-            declare
-               Byte_Count : constant Integer := Get_Integer (Command_Line, 
Last);
-            begin
-               Receive_Text (Byte_Count);
-            end;
-
-         else
-            Put_Line ("unrecognized command '" & Command_Line & "'");
-            Usage;
-         end if;
-      exception
-      when E : Programmer_Error =>
-         declare
-            use Ada.Exceptions;
-         begin
-            Put_Line (Exception_Message (E));
-            Usage;
-            Ada.Command_Line.Set_Exit_Status (Ada.Command_Line.Failure);
-            exit Commands;
-         end;
-
-      when E : others =>
-         declare
-            use Ada.Exceptions;
-            use GNAT.Traceback.Symbolic;
-         begin
-            Put_Line ("Bad command '" & Command_Line & "'");
-            Put_Line ("Exception : " & Exception_Name (E));
-            Put_Line (Exception_Message (E));
-            Put_Line (Symbolic_Traceback (E));
-            Usage;
-            Ada.Command_Line.Set_Exit_Status (Ada.Command_Line.Failure);
-            exit Commands;
-         end;
-      end;
-   end loop Commands;
-
-end Ada_Mode_GPS_Indent;
diff --git a/packages/ada-mode/ada_mode_gps_indent.gpr.gp 
b/packages/ada-mode/ada_mode_gps_indent.gpr.gp
deleted file mode 100644
index 1f09cd8..0000000
--- a/packages/ada-mode/ada_mode_gps_indent.gpr.gp
+++ /dev/null
@@ -1,81 +0,0 @@
---  Abstract :
---
---  build ada_mode_gps_indent
---
---  Copyright (C) 2014 Free Software Foundation, Inc.
---
---  This program is free software; you can redistribute it and/or
---  modify it under terms of the GNU General Public License as
---  published by the Free Software Foundation; either version 3, or (at
---  your option) any later version. This program is distributed in the
---  hope that it will be useful, but WITHOUT ANY WARRANTY; without even
---  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
---  PURPOSE. See the GNU General Public License for more details. You
---  should have received a copy of the GNU General Public License
---  distributed with this program; see file COPYING. If not, write to
---  the Free Software Foundation, 51 Franklin Street, Suite 500, Boston,
---  MA 02110-1335, USA.
-
-with "gnat_util";
-with "gnatcoll_iconv";
-with "gnatcoll_sqlite";
-#if HAVE_GNATCOLL_XREF="yes"
-with "gnatcoll_xref";
-#end if;
-project Ada_Mode_GPS_Indent is
-   for Main use ("ada_mode_gps_indent.adb");
-
-   type GPS_Source_Type is ("ada-mode", "GPS");
-   GPS_Source : GPS_Source_Type := External ("Ada_Mode_GPS_Source", 
"ada-mode");
-
-   case GPS_Source is
-   when "ada-mode" =>
-      for Source_Dirs use (".", "gps_source");
-   when "GPS" =>
-      for Source_Dirs use
-        (".",
-         External ("GPS_ROOT") & "/common/core/src",
-         External ("GPS_ROOT") & "/syntax/src",
-         External ("GPS_ROOT") & "/language/src/"
-        );
-   end case;
-
-   for Object_Dir use "obj";
-
-   for Exec_Dir use ".";
-
-   type Build_Type is ("Debug", "Normal");
-   Build : Build_Type := External ("Ada_Mode_GPS_Indent_Build", "Normal");
-
-   for Languages use ("Ada");
-
-   package Compiler is
-
-      Common_Switches :=
-        ("-g",
-         "-gnata",  -- assertions
-         "-gnatfoqQ",
-         "-gnatVa", -- validity checks
-         "-gnaty3abcefhiklM120nprtx", -- no 'O'; gnatcoll-traces missing 
"overriding"
-         "-gnateE", -- extra info in exceptions
-         "-gnatwaBCeJL",
-         "-fstack-check",
-         "-gnat12");
-
-      case Build is
-         when "Debug" =>
-            for Switches ("Ada") use Common_Switches & ("-O0");
-         when "Normal" =>
-            for Switches ("Ada") use Common_Switches & ("-O2", "-gnatn");
-      end case;
-   end Compiler;
-
-   package Linker is
-      for Default_Switches ("Ada") use ("-lpthread");
-   end Linker;
-
-   package Binder is
-      for default_switches ("Ada") use ("-E"); -- symbolic traceback
-   end Binder;
-
-end Ada_Mode_GPS_Indent;
diff --git a/packages/ada-mode/ada_mode_wisi_lalr_parse.ads 
b/packages/ada-mode/ada_mode_wisi_lalr_parse.ads
index f709796..321edfc 100644
--- a/packages/ada-mode/ada_mode_wisi_lalr_parse.ads
+++ b/packages/ada-mode/ada_mode_wisi_lalr_parse.ads
@@ -2,7 +2,7 @@
 --
 --  External process parser for Ada mode
 --
---  Copyright (C) 2017, 2018 Free Software Foundation, Inc.
+--  Copyright (C) 2017 - 2019 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or
 --  modify it under terms of the GNU General Public License as
@@ -24,10 +24,11 @@ with Gen_Emacs_Wisi_LR_Parse;
 with WisiToken.Parse.LR.McKenzie_Recover.Ada;
 with Wisi.Ada;
 procedure Ada_Mode_Wisi_LALR_Parse is new Gen_Emacs_Wisi_LR_Parse
-  (Parse_Data_Type              => Wisi.Ada.Parse_Data_Type,
-   Name                         => "Ada_mode_wisi_lalr_parse",
-   Descriptor                   => Ada_Process_Actions.Descriptor,
-   Language_Fixes               => 
WisiToken.Parse.LR.McKenzie_Recover.Ada.Language_Fixes'Access,
+  (Parse_Data_Type                       => Wisi.Ada.Parse_Data_Type,
+   Name                                  => "Ada_mode_wisi_lalr_parse",
+   Descriptor                            => Ada_Process_Actions.Descriptor,
+   Partial_Parse_Active                  => 
Ada_Process_Actions.Partial_Parse_Active,
+   Language_Fixes                        => 
WisiToken.Parse.LR.McKenzie_Recover.Ada.Language_Fixes'Access,
    Language_Use_Minimal_Complete_Actions => 
WisiToken.Parse.LR.McKenzie_Recover.Ada.Use_Minimal_Complete_Actions'Access,
-   Language_String_ID_Set       => 
WisiToken.Parse.LR.McKenzie_Recover.Ada.String_ID_Set'Access,
-   Create_Parser                => Ada_Process_LALR_Main.Create_Parser);
+   Language_String_ID_Set                => 
WisiToken.Parse.LR.McKenzie_Recover.Ada.String_ID_Set'Access,
+   Create_Parser                         => 
Ada_Process_LALR_Main.Create_Parser);
diff --git a/packages/ada-mode/ada_mode_wisi_lr1_parse.ads 
b/packages/ada-mode/ada_mode_wisi_lr1_parse.ads
index 3e54061..52af611 100644
--- a/packages/ada-mode/ada_mode_wisi_lr1_parse.ads
+++ b/packages/ada-mode/ada_mode_wisi_lr1_parse.ads
@@ -2,7 +2,7 @@
 --
 --  External process parser for Ada mode
 --
---  Copyright (C) 2017, 2018 Free Software Foundation, Inc.
+--  Copyright (C) 2017 - 2019 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or
 --  modify it under terms of the GNU General Public License as
@@ -24,11 +24,12 @@ with Gen_Emacs_Wisi_LR_Text_Rep_Parse;
 with WisiToken.Parse.LR.McKenzie_Recover.Ada;
 with Wisi.Ada;
 procedure Ada_Mode_Wisi_LR1_Parse is new Gen_Emacs_Wisi_LR_Text_Rep_Parse
-  (Parse_Data_Type              => Wisi.Ada.Parse_Data_Type,
-   Name                         => "Ada_mode_wisi_lr1_parse",
-   Descriptor                   => Ada_Process_Actions.Descriptor,
-   Language_Fixes               => 
WisiToken.Parse.LR.McKenzie_Recover.Ada.Language_Fixes'Access,
+  (Parse_Data_Type                       => Wisi.Ada.Parse_Data_Type,
+   Name                                  => "Ada_mode_wisi_lr1_parse",
+   Descriptor                            => Ada_Process_Actions.Descriptor,
+   Partial_Parse_Active                  => 
Ada_Process_Actions.Partial_Parse_Active,
+   Language_Fixes                        => 
WisiToken.Parse.LR.McKenzie_Recover.Ada.Language_Fixes'Access,
    Language_Use_Minimal_Complete_Actions => 
WisiToken.Parse.LR.McKenzie_Recover.Ada.Use_Minimal_Complete_Actions'Access,
-   Language_String_ID_Set       => 
WisiToken.Parse.LR.McKenzie_Recover.Ada.String_ID_Set'Access,
-   Text_Rep_File_Name           => "ada_lr1_parse_table.txt",
-   Create_Parser                => Ada_Process_LR1_Main.Create_Parser);
+   Language_String_ID_Set                => 
WisiToken.Parse.LR.McKenzie_Recover.Ada.String_ID_Set'Access,
+   Text_Rep_File_Name                    => "ada_lr1_parse_table.txt",
+   Create_Parser                         => 
Ada_Process_LR1_Main.Create_Parser);
diff --git a/packages/ada-mode/ada_mode_wisi_parse.gpr.gp 
b/packages/ada-mode/ada_mode_wisi_parse.gpr.gp
index 02bba4d..158ee54 100644
--- a/packages/ada-mode/ada_mode_wisi_parse.gpr.gp
+++ b/packages/ada-mode/ada_mode_wisi_parse.gpr.gp
@@ -108,13 +108,15 @@ project Ada_Mode_Wisi_Parse is
    end Compiler;
 
    package Builder is
-      case Standard_Common.Profile is
-      when "On" =>
-         for Default_Switches ("Ada") use 
Standard_Common.Builder'Default_Switches ("Ada") & ("-pg");
-
-      when "Off" =>
-         for Default_Switches ("Ada") use 
Standard_Common.Builder'Default_Switches ("Ada");
-      end case;
+      --  Specifying some configuration pragmas can reduce parse times
+      --  by 10% or so, on some systems. But doing so only here causes
+      --  recompiling of wisitoken. If we add Global_ or Local_
+      --  Configuration_Pragmas in wisitoken.gpr, we get compilation
+      --  errors there. So we leave it up to users to patch this if
+      --  they want it.
+      --  for Global_Configuration_Pragmas use "config.pragmas";
+
+      for Global_Compilation_Switches ("Ada") use 
Standard_Common.Builder'Global_Compilation_Switches ("Ada");
 
       --  We use ".exe" extension even on non-Windows, to simplify the 
makefiles.
       for Executable_Suffix use ".exe";
diff --git a/packages/ada-mode/ada_process_actions.adb 
b/packages/ada-mode/ada_process_actions.adb
index a01a89a..a4e8035 100644
--- a/packages/ada-mode/ada_process_actions.adb
+++ b/packages/ada-mode/ada_process_actions.adb
@@ -2,7 +2,7 @@
 --  command line: wisitoken-bnf-generate.exe  --generate LR1 Ada_Emacs re2c 
PROCESS text_rep ada.wy
 --
 
---  Copyright (C) 2013 - 2018 Free Software Foundation, Inc.
+--  Copyright (C) 2013 - 2019 Free Software Foundation, Inc.
 
 --  This program is free software; you can redistribute it and/or
 --  modify it under the terms of the GNU General Public License as
@@ -72,12 +72,14 @@ package body Ada_Process_Actions is
    end accept_statement_0;
 
    function accept_statement_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status
    is
       pragma Unreferenced (Nonterm);
+      pragma Unreferenced (Recover_Active);
    begin
       return Match_Names (Lexer, Descriptor, Tokens, 2, 8, End_Names_Optional);
    end accept_statement_0_check;
@@ -516,23 +518,27 @@ package body Ada_Process_Actions is
    end block_label_0;
 
    function block_label_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status
    is
       pragma Unreferenced (Lexer);
+      pragma Unreferenced (Recover_Active);
    begin
       return Propagate_Name (Nonterm, Tokens, 1);
    end block_label_0_check;
 
    function block_label_opt_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status
    is
       pragma Unreferenced (Lexer);
+      pragma Unreferenced (Recover_Active);
    begin
       return Propagate_Name (Nonterm, Tokens, 1);
    end block_label_opt_0_check;
@@ -564,12 +570,14 @@ package body Ada_Process_Actions is
    end block_statement_0;
 
    function block_statement_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status
    is
       pragma Unreferenced (Nonterm);
+      pragma Unreferenced (Recover_Active);
    begin
       return Match_Names (Lexer, Descriptor, Tokens, 1, 7, End_Names_Optional);
    end block_statement_0_check;
@@ -597,12 +605,14 @@ package body Ada_Process_Actions is
    end block_statement_1;
 
    function block_statement_1_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status
    is
       pragma Unreferenced (Nonterm);
+      pragma Unreferenced (Recover_Active);
    begin
       return Match_Names (Lexer, Descriptor, Tokens, 1, 5, End_Names_Optional);
    end block_statement_1_check;
@@ -682,8 +692,9 @@ package body Ada_Process_Actions is
          null;
       when Indent =>
          Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Int, 0))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (True, (Simple, (Int, 0)), (Simple, (Int, 
Ada_Indent_When))), (False, (Simple, (Int,
-         Ada_Indent_When))), (False, (Simple, (Int, 0))), (False, (Simple, 
(Int, 0))), (False, (Simple, (Int, 0)))));
+         Ada_Indent_Broken))), (True, (Simple, (Int, 0)), (Simple, (Int, 
Ada_Indent_When))), (True, (Simple, (Int,
+         Ada_Indent_When)), (Simple, (Int, Ada_Indent_When))), (False, 
(Simple, (Int, 0))), (False, (Simple, (Int,
+         0))), (False, (Simple, (Int, 0)))));
       end case;
    end case_statement_0;
 
@@ -707,6 +718,75 @@ package body Ada_Process_Actions is
       end case;
    end case_statement_alternative_0;
 
+   procedure compilation_unit_2
+    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
+     Tree      : in out WisiToken.Syntax_Trees.Tree;
+     Nonterm   : in     WisiToken.Syntax_Trees.Valid_Node_Index;
+     Tokens    : in     WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+   is
+      Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type 
(User_Data);
+   begin
+      case Parse_Data.Post_Parse_Action is
+      when Navigate =>
+         null;
+      when Face =>
+         null;
+      when Indent =>
+         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Int, 0))), (False, (Simple, (Int,
+         0)))));
+      end case;
+   end compilation_unit_2;
+
+   procedure compilation_unit_list_0
+    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
+     Tree      : in out WisiToken.Syntax_Trees.Tree;
+     Nonterm   : in     WisiToken.Syntax_Trees.Valid_Node_Index;
+     Tokens    : in     WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+   is
+      Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type 
(User_Data);
+   begin
+      case Parse_Data.Post_Parse_Action is
+      when Navigate =>
+         null;
+      when Face =>
+         null;
+      when Indent =>
+         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Int, 0))), (True, (Simple, (Int, 0)),
+         (Simple, (Int, 0)))));
+      end case;
+   end compilation_unit_list_0;
+
+   procedure compilation_unit_list_1
+    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
+     Tree      : in out WisiToken.Syntax_Trees.Tree;
+     Nonterm   : in     WisiToken.Syntax_Trees.Valid_Node_Index;
+     Tokens    : in     WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+   is
+      Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type 
(User_Data);
+   begin
+      case Parse_Data.Post_Parse_Action is
+      when Navigate =>
+         null;
+      when Face =>
+         null;
+      when Indent =>
+         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, (1 => (True, 
(Simple, (Int, 0)), (Simple, (Int, 0)))));
+      end case;
+   end compilation_unit_list_1;
+
+   function compilation_unit_list_1_check
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
+    return WisiToken.Semantic_Checks.Check_Status
+   is
+      pragma Unreferenced (Lexer);
+      pragma Unreferenced (Tokens);
+   begin
+      return Terminate_Partial_Parse (Partial_Parse_Active, 
Partial_Parse_Byte_Goal, Recover_Active, Nonterm);
+   end compilation_unit_list_1_check;
+
    procedure component_clause_0
     (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
      Tree      : in out WisiToken.Syntax_Trees.Tree;
@@ -941,8 +1021,9 @@ package body Ada_Process_Actions is
       when Face =>
          null;
       when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Int, 0))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, 0))), (False, (Simple, 
(Int, Ada_Indent)))));
+         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Int, 0))), (True, (Simple, (Int,
+         Ada_Indent_Broken)), (Simple, (Int, Ada_Indent_Broken))), (False, 
(Simple, (Int, 0))), (False, (Simple, (Int,
+         Ada_Indent)))));
       end case;
    end elsif_expression_item_0;
 
@@ -960,9 +1041,9 @@ package body Ada_Process_Actions is
       when Face =>
          null;
       when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Int, 0))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, 0))), (True, (Simple, 
(Int, Ada_Indent)), (Simple, (Int,
-         Ada_Indent)))));
+         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Int, 0))), (True, (Simple, (Int,
+         Ada_Indent_Broken)), (Simple, (Int, Ada_Indent_Broken))), (False, 
(Simple, (Int, 0))), (True, (Simple, (Int,
+         Ada_Indent)), (Simple, (Int, Ada_Indent)))));
       end case;
    end elsif_statement_item_0;
 
@@ -996,12 +1077,14 @@ package body Ada_Process_Actions is
    end entry_body_0;
 
    function entry_body_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status
    is
       pragma Unreferenced (Nonterm);
+      pragma Unreferenced (Recover_Active);
    begin
       return Match_Names (Lexer, Descriptor, Tokens, 2, 11, 
End_Names_Optional);
    end entry_body_0_check;
@@ -1656,12 +1739,14 @@ package body Ada_Process_Actions is
    end function_specification_0;
 
    function function_specification_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status
    is
       pragma Unreferenced (Lexer);
+      pragma Unreferenced (Recover_Active);
    begin
       return Propagate_Name (Nonterm, Tokens, 2);
    end function_specification_0_check;
@@ -1903,7 +1988,8 @@ package body Ada_Process_Actions is
          null;
       when Indent =>
          Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((True, (Simple, 
(Int, 0)), (Simple, (Int, 0))), (False,
-         (Simple, (Int, -Ada_Indent))), (False, (Simple, (Int, Ada_Indent_When 
- Ada_Indent)))));
+         (Simple, (Int, -Ada_Indent))), (True, (Simple, (Int, Ada_Indent_When 
- Ada_Indent)), (Simple, (Int,
+         Ada_Indent_When - Ada_Indent)))));
       end case;
    end handled_sequence_of_statements_0;
 
@@ -1927,12 +2013,14 @@ package body Ada_Process_Actions is
    end identifier_list_0;
 
    function identifier_opt_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status
    is
       pragma Unreferenced (Lexer);
+      pragma Unreferenced (Recover_Active);
    begin
       return Propagate_Name (Nonterm, Tokens, 1);
    end identifier_opt_0_check;
@@ -1954,9 +2042,10 @@ package body Ada_Process_Actions is
       when Face =>
          null;
       when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Int, 0))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, 0))), (False, (Simple, 
(Int, Ada_Indent))), (False, (Simple,
-         (Int, 0))), (False, (Simple, (Int, 0))), (False, (Simple, (Int, 
Ada_Indent)))));
+         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Int, 0))), (True, (Simple, (Int,
+         Ada_Indent_Broken)), (Simple, (Int, Ada_Indent_Broken))), (False, 
(Simple, (Int, 0))), (False, (Simple, (Int,
+         Ada_Indent))), (False, (Simple, (Int, 0))), (False, (Simple, (Int, 
0))), (False, (Simple, (Int,
+         Ada_Indent)))));
       end case;
    end if_expression_0;
 
@@ -1976,9 +2065,9 @@ package body Ada_Process_Actions is
       when Face =>
          null;
       when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Int, 0))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, 0))), (False, (Simple, 
(Int, Ada_Indent))), (False, (Simple,
-         (Int, 0))), (False, (Simple, (Int, Ada_Indent)))));
+         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Int, 0))), (True, (Simple, (Int,
+         Ada_Indent_Broken)), (Simple, (Int, Ada_Indent_Broken))), (False, 
(Simple, (Int, 0))), (False, (Simple, (Int,
+         Ada_Indent))), (False, (Simple, (Int, 0))), (False, (Simple, (Int, 
Ada_Indent)))));
       end case;
    end if_expression_1;
 
@@ -1998,9 +2087,9 @@ package body Ada_Process_Actions is
       when Face =>
          null;
       when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Int, 0))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, 0))), (False, (Simple, 
(Int, Ada_Indent))), (False, (Simple,
-         (Int, 0)))));
+         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Int, 0))), (True, (Simple, (Int,
+         Ada_Indent_Broken)), (Simple, (Int, Ada_Indent_Broken))), (False, 
(Simple, (Int, 0))), (False, (Simple, (Int,
+         Ada_Indent))), (False, (Simple, (Int, 0)))));
       end case;
    end if_expression_2;
 
@@ -2020,8 +2109,9 @@ package body Ada_Process_Actions is
       when Face =>
          null;
       when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Int, 0))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, 0))), (False, (Simple, 
(Int, Ada_Indent)))));
+         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Int, 0))), (True, (Simple, (Int,
+         Ada_Indent_Broken)), (Simple, (Int, Ada_Indent_Broken))), (False, 
(Simple, (Int, 0))), (False, (Simple, (Int,
+         Ada_Indent)))));
       end case;
    end if_expression_3;
 
@@ -2046,11 +2136,12 @@ package body Ada_Process_Actions is
       when Face =>
          null;
       when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Int, 0))), (False, (Hanging_1, (Int,
-         Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))), (True, (Simple, 
(Int, 0)), (Simple, (Int, Ada_Indent))),
-         (True, (Simple, (Int, Ada_Indent)), (Simple, (Int, Ada_Indent))), 
(False, (Simple, (Int, 0))), (True, (Simple,
-         (Int, 0)), (Simple, (Int, Ada_Indent))), (True, (Simple, (Int, 
Ada_Indent)), (Simple, (Int, Ada_Indent))),
-         (False, (Simple, (Int, 0))), (False, (Simple, (Int, 0))), (False, 
(Simple, (Int, 0)))));
+         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Int, 0))), (True, (Hanging_1, (Int,
+         Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken)), (Simple, (Int, 
Ada_Indent_Broken))), (True, (Simple, (Int,
+         0)), (Simple, (Int, Ada_Indent))), (True, (Simple, (Int, 
Ada_Indent)), (Simple, (Int, Ada_Indent))), (False,
+         (Simple, (Int, 0))), (True, (Simple, (Int, 0)), (Simple, (Int, 
Ada_Indent))), (True, (Simple, (Int,
+         Ada_Indent)), (Simple, (Int, Ada_Indent))), (False, (Simple, (Int, 
0))), (False, (Simple, (Int, 0))), (False,
+         (Simple, (Int, 0)))));
       end case;
    end if_statement_0;
 
@@ -2074,11 +2165,11 @@ package body Ada_Process_Actions is
       when Face =>
          null;
       when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Int, 0))), (False, (Hanging_1, (Int,
-         Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))), (True, (Simple, 
(Int, 0)), (Simple, (Int, Ada_Indent))),
-         (True, (Simple, (Int, Ada_Indent)), (Simple, (Int, Ada_Indent))), 
(True, (Simple, (Int, 0)), (Simple, (Int,
-         Ada_Indent))), (True, (Simple, (Int, Ada_Indent)), (Simple, (Int, 
Ada_Indent))), (False, (Simple, (Int, 0))),
-         (False, (Simple, (Int, 0))), (False, (Simple, (Int, 0)))));
+         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Int, 0))), (True, (Hanging_1, (Int,
+         Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken)), (Simple, (Int, 
Ada_Indent_Broken))), (True, (Simple, (Int,
+         0)), (Simple, (Int, Ada_Indent))), (True, (Simple, (Int, 
Ada_Indent)), (Simple, (Int, Ada_Indent))), (True,
+         (Simple, (Int, 0)), (Simple, (Int, Ada_Indent))), (True, (Simple, 
(Int, Ada_Indent)), (Simple, (Int,
+         Ada_Indent))), (False, (Simple, (Int, 0))), (False, (Simple, (Int, 
0))), (False, (Simple, (Int, 0)))));
       end case;
    end if_statement_1;
 
@@ -2101,10 +2192,10 @@ package body Ada_Process_Actions is
       when Face =>
          null;
       when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Int, 0))), (False, (Hanging_1, (Int,
-         Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))), (True, (Simple, 
(Int, 0)), (Simple, (Int, Ada_Indent))),
-         (True, (Simple, (Int, Ada_Indent)), (Simple, (Int, Ada_Indent))), 
(False, (Simple, (Int, 0))), (False,
-         (Simple, (Int, 0))), (False, (Simple, (Int, 0))), (False, (Simple, 
(Int, 0)))));
+         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Int, 0))), (True, (Hanging_1, (Int,
+         Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken)), (Simple, (Int, 
Ada_Indent_Broken))), (True, (Simple, (Int,
+         0)), (Simple, (Int, Ada_Indent))), (True, (Simple, (Int, 
Ada_Indent)), (Simple, (Int, Ada_Indent))), (False,
+         (Simple, (Int, 0))), (False, (Simple, (Int, 0))), (False, (Simple, 
(Int, 0))), (False, (Simple, (Int, 0)))));
       end case;
    end if_statement_2;
 
@@ -2125,10 +2216,10 @@ package body Ada_Process_Actions is
       when Face =>
          null;
       when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Int, 0))), (False, (Hanging_1, (Int,
-         Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))), (True, (Simple, 
(Int, 0)), (Simple, (Int, Ada_Indent))),
-         (True, (Simple, (Int, Ada_Indent)), (Simple, (Int, Ada_Indent))), 
(False, (Simple, (Int, 0))), (False,
-         (Simple, (Int, 0))), (False, (Simple, (Int, 0)))));
+         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Int, 0))), (True, (Hanging_1, (Int,
+         Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken)), (Simple, (Int, 
Ada_Indent_Broken))), (True, (Simple, (Int,
+         0)), (Simple, (Int, Ada_Indent))), (True, (Simple, (Int, 
Ada_Indent)), (Simple, (Int, Ada_Indent))), (False,
+         (Simple, (Int, 0))), (False, (Simple, (Int, 0))), (False, (Simple, 
(Int, 0)))));
       end case;
    end if_statement_3;
 
@@ -2325,12 +2416,14 @@ package body Ada_Process_Actions is
    end loop_statement_0;
 
    function loop_statement_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status
    is
       pragma Unreferenced (Nonterm);
+      pragma Unreferenced (Recover_Active);
    begin
       return Match_Names (Lexer, Descriptor, Tokens, 1, 7, End_Names_Optional);
    end loop_statement_0_check;
@@ -2357,12 +2450,14 @@ package body Ada_Process_Actions is
    end loop_statement_1;
 
    function loop_statement_1_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status
    is
       pragma Unreferenced (Nonterm);
+      pragma Unreferenced (Recover_Active);
    begin
       return Match_Names (Lexer, Descriptor, Tokens, 1, 6, End_Names_Optional);
    end loop_statement_1_check;
@@ -2409,12 +2504,14 @@ package body Ada_Process_Actions is
    end name_1;
 
    function name_2_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status
    is
       pragma Unreferenced (Lexer);
+      pragma Unreferenced (Recover_Active);
    begin
       return Propagate_Name (Nonterm, Tokens, 1);
    end name_2_check;
@@ -2438,34 +2535,40 @@ package body Ada_Process_Actions is
    end name_5;
 
    function name_5_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status
    is
       pragma Unreferenced (Lexer);
+      pragma Unreferenced (Recover_Active);
    begin
       return Propagate_Name (Nonterm, Tokens, 1);
    end name_5_check;
 
    function name_7_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status
    is
       pragma Unreferenced (Lexer);
+      pragma Unreferenced (Recover_Active);
    begin
       return Propagate_Name (Nonterm, Tokens, 1);
    end name_7_check;
 
    function name_opt_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status
    is
       pragma Unreferenced (Lexer);
+      pragma Unreferenced (Recover_Active);
    begin
       return Propagate_Name (Nonterm, Tokens, 1);
    end name_opt_0_check;
@@ -2825,12 +2928,14 @@ package body Ada_Process_Actions is
    end package_body_0;
 
    function package_body_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status
    is
       pragma Unreferenced (Nonterm);
+      pragma Unreferenced (Recover_Active);
    begin
       return Match_Names (Lexer, Descriptor, Tokens, 3, 10, 
End_Names_Optional);
    end package_body_0_check;
@@ -2860,12 +2965,14 @@ package body Ada_Process_Actions is
    end package_body_1;
 
    function package_body_1_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status
    is
       pragma Unreferenced (Nonterm);
+      pragma Unreferenced (Recover_Active);
    begin
       return Match_Names (Lexer, Descriptor, Tokens, 3, 8, End_Names_Optional);
    end package_body_1_check;
@@ -2957,12 +3064,14 @@ package body Ada_Process_Actions is
    end package_specification_0;
 
    function package_specification_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status
    is
       pragma Unreferenced (Nonterm);
+      pragma Unreferenced (Recover_Active);
    begin
       return Match_Names (Lexer, Descriptor, Tokens, 2, 9, End_Names_Optional);
    end package_specification_0_check;
@@ -2992,12 +3101,14 @@ package body Ada_Process_Actions is
    end package_specification_1;
 
    function package_specification_1_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status
    is
       pragma Unreferenced (Nonterm);
+      pragma Unreferenced (Recover_Active);
    begin
       return Match_Names (Lexer, Descriptor, Tokens, 2, 7, End_Names_Optional);
    end package_specification_1_check;
@@ -3378,12 +3489,14 @@ package body Ada_Process_Actions is
    end procedure_specification_0;
 
    function procedure_specification_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status
    is
       pragma Unreferenced (Lexer);
+      pragma Unreferenced (Recover_Active);
    begin
       return Propagate_Name (Nonterm, Tokens, 2);
    end procedure_specification_0_check;
@@ -3413,12 +3526,14 @@ package body Ada_Process_Actions is
    end protected_body_0;
 
    function protected_body_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status
    is
       pragma Unreferenced (Nonterm);
+      pragma Unreferenced (Recover_Active);
    begin
       return Match_Names (Lexer, Descriptor, Tokens, 3, 8, End_Names_Optional);
    end protected_body_0_check;
@@ -3465,12 +3580,14 @@ package body Ada_Process_Actions is
    end protected_definition_0;
 
    function protected_definition_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status
    is
       pragma Unreferenced (Lexer);
+      pragma Unreferenced (Recover_Active);
    begin
       return Propagate_Name (Nonterm, Tokens, 5);
    end protected_definition_0_check;
@@ -3495,12 +3612,14 @@ package body Ada_Process_Actions is
    end protected_definition_1;
 
    function protected_definition_1_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status
    is
       pragma Unreferenced (Lexer);
+      pragma Unreferenced (Recover_Active);
    begin
       return Propagate_Name (Nonterm, Tokens, 3);
    end protected_definition_1_check;
@@ -3532,12 +3651,14 @@ package body Ada_Process_Actions is
    end protected_type_declaration_0;
 
    function protected_type_declaration_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status
    is
       pragma Unreferenced (Nonterm);
+      pragma Unreferenced (Recover_Active);
    begin
       return Match_Names (Lexer, Descriptor, Tokens, 3, 10, 
End_Names_Optional);
    end protected_type_declaration_0_check;
@@ -3568,12 +3689,14 @@ package body Ada_Process_Actions is
    end protected_type_declaration_1;
 
    function protected_type_declaration_1_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status
    is
       pragma Unreferenced (Nonterm);
+      pragma Unreferenced (Recover_Active);
    begin
       return Match_Names (Lexer, Descriptor, Tokens, 3, 7, End_Names_Optional);
    end protected_type_declaration_1_check;
@@ -3854,12 +3977,14 @@ package body Ada_Process_Actions is
    end selected_component_0;
 
    function selected_component_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status
    is
       pragma Unreferenced (Lexer);
+      pragma Unreferenced (Recover_Active);
    begin
       return Merge_Names (Nonterm, Tokens, 1, 3);
    end selected_component_0_check;
@@ -3901,12 +4026,14 @@ package body Ada_Process_Actions is
    end selected_component_2;
 
    function selected_component_2_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status
    is
       pragma Unreferenced (Lexer);
+      pragma Unreferenced (Recover_Active);
    begin
       return Merge_Names (Nonterm, Tokens, 1, 3);
    end selected_component_2_check;
@@ -4189,12 +4316,14 @@ package body Ada_Process_Actions is
    end single_protected_declaration_0;
 
    function single_protected_declaration_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status
    is
       pragma Unreferenced (Nonterm);
+      pragma Unreferenced (Recover_Active);
    begin
       return Match_Names (Lexer, Descriptor, Tokens, 2, 8, End_Names_Optional);
    end single_protected_declaration_0_check;
@@ -4224,12 +4353,14 @@ package body Ada_Process_Actions is
    end single_protected_declaration_1;
 
    function single_protected_declaration_1_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status
    is
       pragma Unreferenced (Nonterm);
+      pragma Unreferenced (Recover_Active);
    begin
       return Match_Names (Lexer, Descriptor, Tokens, 2, 5, End_Names_Optional);
    end single_protected_declaration_1_check;
@@ -4261,12 +4392,14 @@ package body Ada_Process_Actions is
    end single_task_declaration_0;
 
    function single_task_declaration_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status
    is
       pragma Unreferenced (Nonterm);
+      pragma Unreferenced (Recover_Active);
    begin
       return Match_Names (Lexer, Descriptor, Tokens, 2, 10, 
End_Names_Optional);
    end single_task_declaration_0_check;
@@ -4296,12 +4429,14 @@ package body Ada_Process_Actions is
    end single_task_declaration_1;
 
    function single_task_declaration_1_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status
    is
       pragma Unreferenced (Nonterm);
+      pragma Unreferenced (Recover_Active);
    begin
       return Match_Names (Lexer, Descriptor, Tokens, 2, 7, End_Names_Optional);
    end single_task_declaration_1_check;
@@ -4354,12 +4489,14 @@ package body Ada_Process_Actions is
    end subprogram_body_0;
 
    function subprogram_body_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status
    is
       pragma Unreferenced (Nonterm);
+      pragma Unreferenced (Recover_Active);
    begin
       return Match_Names (Lexer, Descriptor, Tokens, 2, 9, End_Names_Optional);
    end subprogram_body_0_check;
@@ -4444,23 +4581,27 @@ package body Ada_Process_Actions is
    end subprogram_renaming_declaration_0;
 
    function subprogram_specification_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status
    is
       pragma Unreferenced (Lexer);
+      pragma Unreferenced (Recover_Active);
    begin
       return Propagate_Name (Nonterm, Tokens, 1);
    end subprogram_specification_0_check;
 
    function subprogram_specification_1_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status
    is
       pragma Unreferenced (Lexer);
+      pragma Unreferenced (Recover_Active);
    begin
       return Propagate_Name (Nonterm, Tokens, 1);
    end subprogram_specification_1_check;
@@ -4605,12 +4746,14 @@ package body Ada_Process_Actions is
    end task_body_0;
 
    function task_body_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status
    is
       pragma Unreferenced (Nonterm);
+      pragma Unreferenced (Recover_Active);
    begin
       return Match_Names (Lexer, Descriptor, Tokens, 3, 10, 
End_Names_Optional);
    end task_body_0_check;
@@ -4702,12 +4845,14 @@ package body Ada_Process_Actions is
    end task_type_declaration_0;
 
    function task_type_declaration_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status
    is
       pragma Unreferenced (Nonterm);
+      pragma Unreferenced (Recover_Active);
    begin
       return Match_Names (Lexer, Descriptor, Tokens, 3, 12, 
End_Names_Optional);
    end task_type_declaration_0_check;
@@ -4739,12 +4884,14 @@ package body Ada_Process_Actions is
    end task_type_declaration_1;
 
    function task_type_declaration_1_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status
    is
       pragma Unreferenced (Nonterm);
+      pragma Unreferenced (Recover_Active);
    begin
       return Match_Names (Lexer, Descriptor, Tokens, 3, 9, End_Names_Optional);
    end task_type_declaration_1_check;
diff --git a/packages/ada-mode/ada_process_actions.ads 
b/packages/ada-mode/ada_process_actions.ads
index 7a789a1..6b61e0a 100644
--- a/packages/ada-mode/ada_process_actions.ads
+++ b/packages/ada-mode/ada_process_actions.ads
@@ -2,7 +2,7 @@
 --  command line: wisitoken-bnf-generate.exe  --generate LR1 Ada_Emacs re2c 
PROCESS text_rep ada.wy
 --
 
---  Copyright (C) 2013 - 2018 Free Software Foundation, Inc.
+--  Copyright (C) 2013 - 2019 Free Software Foundation, Inc.
 
 --  This program is free software; you can redistribute it and/or
 --  modify it under the terms of the GNU General Public License as
@@ -27,7 +27,7 @@ package Ada_Process_Actions is
       Last_Terminal                 => 107,
       First_Nonterminal             => 108,
       Last_Nonterminal              => 332,
-      EOF_ID                        => 107,
+      EOI_ID                        => 107,
       Accept_ID                     => 108,
       Case_Insensitive              => True,
       New_Line_ID                   => 1,
@@ -873,6 +873,21 @@ package Ada_Process_Actions is
      Tree      : in out WisiToken.Syntax_Trees.Tree;
      Nonterm   : in     WisiToken.Syntax_Trees.Valid_Node_Index;
      Tokens    : in     WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+   procedure compilation_unit_2
+    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
+     Tree      : in out WisiToken.Syntax_Trees.Tree;
+     Nonterm   : in     WisiToken.Syntax_Trees.Valid_Node_Index;
+     Tokens    : in     WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+   procedure compilation_unit_list_0
+    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
+     Tree      : in out WisiToken.Syntax_Trees.Tree;
+     Nonterm   : in     WisiToken.Syntax_Trees.Valid_Node_Index;
+     Tokens    : in     WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+   procedure compilation_unit_list_1
+    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
+     Tree      : in out WisiToken.Syntax_Trees.Tree;
+     Nonterm   : in     WisiToken.Syntax_Trees.Valid_Node_Index;
+     Tokens    : in     WisiToken.Syntax_Trees.Valid_Node_Index_Array);
    procedure component_clause_0
     (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
      Tree      : in out WisiToken.Syntax_Trees.Tree;
@@ -1829,183 +1844,228 @@ package Ada_Process_Actions is
      Nonterm   : in     WisiToken.Syntax_Trees.Valid_Node_Index;
      Tokens    : in     WisiToken.Syntax_Trees.Valid_Node_Index_Array);
    function accept_statement_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status;
    function block_label_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status;
    function block_label_opt_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status;
    function block_statement_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status;
    function block_statement_1_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
+    return WisiToken.Semantic_Checks.Check_Status;
+   function compilation_unit_list_1_check
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status;
    function entry_body_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status;
    function function_specification_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status;
    function identifier_opt_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status;
    function loop_statement_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status;
    function loop_statement_1_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status;
    function name_2_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status;
    function name_5_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status;
    function name_7_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status;
    function name_opt_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status;
    function package_body_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status;
    function package_body_1_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status;
    function package_specification_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status;
    function package_specification_1_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status;
    function procedure_specification_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status;
    function protected_body_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status;
    function protected_definition_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status;
    function protected_definition_1_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status;
    function protected_type_declaration_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status;
    function protected_type_declaration_1_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status;
    function selected_component_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status;
    function selected_component_2_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status;
    function single_protected_declaration_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status;
    function single_protected_declaration_1_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status;
    function single_task_declaration_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status;
    function single_task_declaration_1_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status;
    function subprogram_body_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status;
    function subprogram_specification_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status;
    function subprogram_specification_1_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status;
    function task_body_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status;
    function task_type_declaration_0_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status;
    function task_type_declaration_1_check
-    (Lexer   : access constant WisiToken.Lexer.Instance'Class;
-     Nonterm : in out WisiToken.Recover_Token;
-     Tokens  : in     WisiToken.Recover_Token_Array)
+    (Lexer          : access constant WisiToken.Lexer.Instance'Class;
+     Nonterm        : in out WisiToken.Recover_Token;
+     Tokens         : in     WisiToken.Recover_Token_Array;
+     Recover_Active : in     Boolean)
     return WisiToken.Semantic_Checks.Check_Status;
+
+   Partial_Parse_Active    : Boolean := False;
+   Partial_Parse_Byte_Goal : WisiToken.Buffer_Pos := WisiToken.Buffer_Pos'Last;
 end Ada_Process_Actions;
diff --git a/packages/ada-mode/ada_process_lalr_main.adb 
b/packages/ada-mode/ada_process_lalr_main.adb
index ede307e..a95a398 100644
--- a/packages/ada-mode/ada_process_lalr_main.adb
+++ b/packages/ada-mode/ada_process_lalr_main.adb
@@ -2,7 +2,7 @@
 --  command line: wisitoken-bnf-generate.exe  --generate LALR Ada_Emacs re2c 
PROCESS ada.wy
 --
 
---  Copyright (C) 2013 - 2018 Free Software Foundation, Inc.
+--  Copyright (C) 2013 - 2019 Free Software Foundation, Inc.
 
 --  This program is free software; you can redistribute it and/or
 --  modify it under the terms of the GNU General Public License as
@@ -48,9 +48,9 @@ package body Ada_Process_LALR_Main is
             3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 2, 3, 3, 
2, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 2, 3, 3,
             3, 2, 1, 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 
3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3),
          Delete =>
-           (3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 3, 2, 3, 1, 3, 3, 3, 3, 1, 3, 1, 
3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 2, 3,
+           (3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 3, 2, 3, 1, 3, 3, 3, 3, 1, 3, 2, 
3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 2, 3, 2, 3,
             3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
-            3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 
3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3),
+            3, 3, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 
3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3),
          Push_Back =>
            (2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1, 
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
             2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -204,11 +204,11 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (0), 325, 115);
             Add_Goto (Table.States (0), 331, 116);
             Add_Goto (Table.States (0), 332, 117);
-            Set_Minimal_Action (Table.States (0).Minimal_Complete_Actions, (1 
=> (Shift, 52, 20)));
+            Table.States (0).Minimal_Complete_Action := (Shift, 41, 13);
             Table.States (1).Productions := WisiToken.To_Vector (((113, 0), 
(113, 1)));
             Add_Action (Table.States (1), 104, 118);
             Add_Error (Table.States (1));
-            Set_Minimal_Action (Table.States (1).Minimal_Complete_Actions, (1 
=> (Shift, 104, 118)));
+            Table.States (1).Minimal_Complete_Action := (Shift, 104, 118);
             Table.States (2).Productions := WisiToken.To_Vector ((1 => (303, 
8)));
             Add_Action (Table.States (2), 104, 119);
             Add_Action (Table.States (2), 105, 33);
@@ -218,7 +218,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (2), 239, 120);
             Add_Goto (Table.States (2), 272, 92);
             Add_Goto (Table.States (2), 293, 97);
-            Set_Minimal_Action (Table.States (2).Minimal_Complete_Actions, (1 
=> (Shift, 105, 33)));
+            Table.States (2).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (3).Productions := WisiToken.To_Vector ((1 => (139, 
0)));
             Add_Action (Table.States (3), 3, 121);
             Add_Action (Table.States (3), 35, Reduce, (192, 1), 0, null, null);
@@ -254,7 +254,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (3), 320, 144);
             Add_Goto (Table.States (3), 321, 145);
             Add_Goto (Table.States (3), 330, 146);
-            Set_Minimal_Action (Table.States (3).Minimal_Complete_Actions, (1 
=> (Reduce, 192, 0)));
+            Table.States (3).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (4).Productions := WisiToken.To_Vector (((161, 0), 
(161, 1)));
             Add_Action (Table.States (4), 3, 121);
             Add_Action (Table.States (4), 39, 122);
@@ -291,14 +291,14 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (4), 320, 144);
             Add_Goto (Table.States (4), 321, 145);
             Add_Goto (Table.States (4), 330, 146);
-            Set_Minimal_Action (Table.States (4).Minimal_Complete_Actions, 
((Shift, 70, 147), (Reduce, 192, 0)));
+            Table.States (4).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (5).Productions := WisiToken.To_Vector (((190, 0), 
(190, 1)));
             Add_Action (Table.States (5), 72, Reduce, (220, 1), 0, null, null);
             Add_Action (Table.States (5), 96, Reduce, (220, 1), 0, null, null);
             Add_Action (Table.States (5), 104, 149);
             Add_Error (Table.States (5));
             Add_Goto (Table.States (5), 220, 150);
-            Set_Minimal_Action (Table.States (5).Minimal_Complete_Actions, (1 
=> (Reduce, 220, 0)));
+            Table.States (5).Minimal_Complete_Action := (Reduce, 220, 0);
             Table.States (6).Productions := WisiToken.To_Vector (((121, 0), 
(127, 0), (182, 0), (229, 1), (281, 0)));
             Add_Action (Table.States (6), 104, 151);
             Add_Action (Table.States (6), 105, 152);
@@ -311,7 +311,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (6), 239, 157);
             Add_Goto (Table.States (6), 272, 92);
             Add_Goto (Table.States (6), 293, 97);
-            Set_Minimal_Action (Table.States (6).Minimal_Complete_Actions, 
((Shift, 105, 152), (Reduce, 231, 0)));
+            Table.States (6).Minimal_Complete_Action := (Reduce, 231, 0);
             Table.States (7).Productions := WisiToken.To_Vector ((1 => (207, 
0)));
             Add_Action (Table.States (7), 104, 119);
             Add_Action (Table.States (7), 105, 33);
@@ -321,7 +321,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (7), 239, 158);
             Add_Goto (Table.States (7), 272, 92);
             Add_Goto (Table.States (7), 293, 97);
-            Set_Minimal_Action (Table.States (7).Minimal_Complete_Actions, (1 
=> (Shift, 105, 33)));
+            Table.States (7).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (8).Productions := WisiToken.To_Vector (((210, 0), 
(210, 1), (215, 0), (215, 1), (215, 2)));
             Add_Action (Table.States (8), 29, 159, (210, 1), 1, 
generic_formal_part_1'Access, null);
             Add_Action (Table.States (8), 47, 160, (210, 1), 1, 
generic_formal_part_1'Access, null);
@@ -341,12 +341,11 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (8), 219, 171);
             Add_Goto (Table.States (8), 257, 172);
             Add_Goto (Table.States (8), 331, 173);
-            Set_Minimal_Action (Table.States (8).Minimal_Complete_Actions, 
((Shift, 29, 159), (Shift, 47, 160), (Shift,
-            50, 161), (Reduce, 210, 1)));
+            Table.States (8).Minimal_Complete_Action := (Reduce, 210, 1);
             Table.States (9).Productions := WisiToken.To_Vector ((1 => (303, 
3)));
             Add_Action (Table.States (9), 104, 174);
             Add_Error (Table.States (9));
-            Set_Minimal_Action (Table.States (9).Minimal_Complete_Actions, (1 
=> (Shift, 104, 174)));
+            Table.States (9).Minimal_Complete_Action := (Shift, 104, 174);
             Table.States (10).Productions := WisiToken.To_Vector (((222, 0), 
(222, 1), (222, 2), (222, 3)));
             Add_Action (Table.States (10), 3, 121);
             Add_Action (Table.States (10), 39, 122);
@@ -382,23 +381,23 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (10), 320, 144);
             Add_Goto (Table.States (10), 321, 145);
             Add_Goto (Table.States (10), 330, 146);
-            Set_Minimal_Action (Table.States (10).Minimal_Complete_Actions, (1 
=> (Reduce, 192, 0)));
+            Table.States (10).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (11).Productions := WisiToken.To_Vector (((332, 0), 
(332, 1)));
             Add_Action (Table.States (11), 49, 176);
             Add_Action (Table.States (11), 74, 177);
             Add_Error (Table.States (11));
-            Set_Minimal_Action (Table.States (11).Minimal_Complete_Actions, 
((Shift, 49, 176), (Shift, 74, 177)));
+            Table.States (11).Minimal_Complete_Action := (Shift, 74, 177);
             Table.States (12).Productions := WisiToken.To_Vector ((1 => (246, 
0)));
             Add_Action (Table.States (12), 46, 178);
             Add_Error (Table.States (12));
-            Set_Minimal_Action (Table.States (12).Minimal_Complete_Actions, (1 
=> (Shift, 46, 178)));
+            Table.States (12).Minimal_Complete_Action := (Shift, 46, 178);
             Table.States (13).Productions := WisiToken.To_Vector ((1 => (303, 
0)));
             Add_Action (Table.States (13), 96, 179);
             Add_Error (Table.States (13));
-            Set_Minimal_Action (Table.States (13).Minimal_Complete_Actions, (1 
=> (Shift, 96, 179)));
+            Table.States (13).Minimal_Complete_Action := (Shift, 96, 179);
             Table.States (14).Productions := WisiToken.To_Vector ((1 => (246, 
1)));
             Add_Action (Table.States (14), (25, 29, 50), (246, 1), 1, 
overriding_indicator_opt_1'Access, null);
-            Set_Minimal_Action (Table.States (14).Minimal_Complete_Actions, (1 
=> (Reduce, 246, 1)));
+            Table.States (14).Minimal_Complete_Action := (Reduce, 246, 1);
             Table.States (15).Productions := WisiToken.To_Vector (((213, 0), 
(247, 0), (247, 1), (248, 0), (250, 0),
             (251, 0), (251, 1)));
             Add_Action (Table.States (15), 14, 180);
@@ -410,11 +409,11 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (15), 239, 181);
             Add_Goto (Table.States (15), 272, 92);
             Add_Goto (Table.States (15), 293, 97);
-            Set_Minimal_Action (Table.States (15).Minimal_Complete_Actions, 
((Shift, 14, 180), (Shift, 105, 33)));
+            Table.States (15).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (16).Productions := WisiToken.To_Vector (((257, 0), 
(257, 1), (257, 2)));
             Add_Action (Table.States (16), 104, 182);
             Add_Error (Table.States (16));
-            Set_Minimal_Action (Table.States (16).Minimal_Complete_Actions, (1 
=> (Shift, 104, 182)));
+            Table.States (16).Minimal_Complete_Action := (Shift, 104, 182);
             Table.States (17).Productions := WisiToken.To_Vector (((142, 2), 
(332, 2)));
             Add_Action (Table.States (17), 25, Reduce, (246, 2), 0, null, 
null);
             Add_Action (Table.States (17), 28, 183);
@@ -482,7 +481,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (17), 319, 113);
             Add_Goto (Table.States (17), 325, 115);
             Add_Goto (Table.States (17), 331, 116);
-            Set_Minimal_Action (Table.States (17).Minimal_Complete_Actions, 
((Shift, 71, 28), (Shift, 74, 184)));
+            Table.States (17).Minimal_Complete_Action := (Reduce, 246, 0);
             Table.States (18).Productions := WisiToken.To_Vector ((1 => (262, 
0)));
             Add_Action (Table.States (18), 104, 119);
             Add_Action (Table.States (18), 105, 33);
@@ -492,15 +491,14 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (18), 239, 187);
             Add_Goto (Table.States (18), 272, 92);
             Add_Goto (Table.States (18), 293, 97);
-            Set_Minimal_Action (Table.States (18).Minimal_Complete_Actions, (1 
=> (Shift, 105, 33)));
+            Table.States (18).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (19).Productions := WisiToken.To_Vector (((264, 0), 
(265, 0), (271, 0), (271, 1), (304, 0),
             (304, 1)));
             Add_Action (Table.States (19), 14, 188);
             Add_Action (Table.States (19), 69, 189);
             Add_Action (Table.States (19), 104, 190);
             Add_Error (Table.States (19));
-            Set_Minimal_Action (Table.States (19).Minimal_Complete_Actions, 
((Shift, 14, 188), (Shift, 69, 189),
-            (Shift, 104, 190)));
+            Table.States (19).Minimal_Complete_Action := (Shift, 104, 190);
             Table.States (20).Productions := WisiToken.To_Vector (((276, 0), 
(276, 1), (276, 2)));
             Add_Action (Table.States (20), 96, 191);
             Add_Action (Table.States (20), 104, 119);
@@ -511,7 +509,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (20), 239, 192);
             Add_Goto (Table.States (20), 272, 92);
             Add_Goto (Table.States (20), 293, 97);
-            Set_Minimal_Action (Table.States (20).Minimal_Complete_Actions, 
((Shift, 96, 191), (Shift, 105, 33)));
+            Table.States (20).Minimal_Complete_Action := (Shift, 96, 191);
             Table.States (21).Productions := WisiToken.To_Vector (((290, 0), 
(290, 1)));
             Add_Action (Table.States (21), 104, 119);
             Add_Action (Table.States (21), 105, 33);
@@ -521,7 +519,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (21), 239, 193);
             Add_Goto (Table.States (21), 272, 92);
             Add_Goto (Table.States (21), 293, 97);
-            Set_Minimal_Action (Table.States (21).Minimal_Complete_Actions, (1 
=> (Shift, 105, 33)));
+            Table.States (21).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (22).Productions := WisiToken.To_Vector (((196, 0), 
(196, 1), (302, 0)));
             Add_Action (Table.States (22), 3, 121);
             Add_Action (Table.States (22), 21, Reduce, (195, 1), 0, null, 
null);
@@ -560,12 +558,11 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (22), 320, 144);
             Add_Goto (Table.States (22), 321, 145);
             Add_Goto (Table.States (22), 330, 146);
-            Set_Minimal_Action (Table.States (22).Minimal_Complete_Actions, 
((Shift, 104, 194), (Reduce, 192, 0),
-            (Reduce, 195, 0)));
+            Table.States (22).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (23).Productions := WisiToken.To_Vector ((1 => (315, 
0)));
             Add_Action (Table.States (23), 76, 198);
             Add_Error (Table.States (23));
-            Set_Minimal_Action (Table.States (23).Minimal_Complete_Actions, (1 
=> (Shift, 76, 198)));
+            Table.States (23).Minimal_Complete_Action := (Shift, 76, 198);
             Table.States (24).Productions := WisiToken.To_Vector (((126, 0), 
(152, 0), (294, 0), (294, 1), (323, 0)));
             Add_Action (Table.States (24), 4, 1);
             Add_Action (Table.States (24), 18, 4);
@@ -590,23 +587,22 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (24), 296, 208);
             Add_Goto (Table.States (24), 297, 209);
             Add_Goto (Table.States (24), 324, 210);
-            Set_Minimal_Action (Table.States (24).Minimal_Complete_Actions, 
((Shift, 105, 33), (Reduce, 297, 0)));
+            Table.States (24).Minimal_Complete_Action := (Reduce, 297, 0);
             Table.States (25).Productions := WisiToken.To_Vector ((1 => (313, 
0)));
             Add_Action (Table.States (25), 104, 211);
             Add_Error (Table.States (25));
-            Set_Minimal_Action (Table.States (25).Minimal_Complete_Actions, (1 
=> (Shift, 104, 211)));
+            Table.States (25).Minimal_Complete_Action := (Shift, 104, 211);
             Table.States (26).Productions := WisiToken.To_Vector (((305, 0), 
(305, 1), (305, 2), (316, 0), (317, 0),
             (319, 0), (319, 1), (319, 2)));
             Add_Action (Table.States (26), 14, 212);
             Add_Action (Table.States (26), 69, 213);
             Add_Action (Table.States (26), 104, 214);
             Add_Error (Table.States (26));
-            Set_Minimal_Action (Table.States (26).Minimal_Complete_Actions, 
((Shift, 14, 212), (Shift, 69, 213),
-            (Shift, 104, 214)));
+            Table.States (26).Minimal_Complete_Action := (Shift, 104, 214);
             Table.States (27).Productions := WisiToken.To_Vector (((206, 0), 
(223, 0), (223, 1), (259, 0), (260, 0)));
             Add_Action (Table.States (27), 104, 215);
             Add_Error (Table.States (27));
-            Set_Minimal_Action (Table.States (27).Minimal_Complete_Actions, (1 
=> (Shift, 104, 215)));
+            Table.States (27).Minimal_Complete_Action := (Shift, 104, 215);
             Table.States (28).Productions := WisiToken.To_Vector (((331, 0), 
(331, 1), (331, 2)));
             Add_Action (Table.States (28), 9, 216);
             Add_Action (Table.States (28), 69, 217);
@@ -619,8 +615,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (28), 239, 219);
             Add_Goto (Table.States (28), 272, 92);
             Add_Goto (Table.States (28), 293, 97);
-            Set_Minimal_Action (Table.States (28).Minimal_Complete_Actions, 
((Shift, 9, 216), (Shift, 69, 217), (Shift,
-            105, 33)));
+            Table.States (28).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (29).Productions := WisiToken.To_Vector ((1 => (229, 
0)));
             Add_Action (Table.States (29), 3, 121);
             Add_Action (Table.States (29), 37, Reduce, (192, 1), 0, null, 
null);
@@ -656,7 +651,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (29), 320, 144);
             Add_Goto (Table.States (29), 321, 145);
             Add_Goto (Table.States (29), 330, 146);
-            Set_Minimal_Action (Table.States (29).Minimal_Complete_Actions, (1 
=> (Reduce, 192, 0)));
+            Table.States (29).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (30).Productions := WisiToken.To_Vector ((1 => (332, 
3)));
             Add_Action (Table.States (30), 104, 119);
             Add_Action (Table.States (30), 105, 33);
@@ -667,11 +662,11 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (30), 239, 219);
             Add_Goto (Table.States (30), 272, 92);
             Add_Goto (Table.States (30), 293, 97);
-            Set_Minimal_Action (Table.States (30).Minimal_Complete_Actions, (1 
=> (Shift, 105, 33)));
+            Table.States (30).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (31).Productions := WisiToken.To_Vector ((1 => (217, 
0)));
             Add_Action (Table.States (31), 104, 222);
             Add_Error (Table.States (31));
-            Set_Minimal_Action (Table.States (31).Minimal_Complete_Actions, (1 
=> (Shift, 104, 222)));
+            Table.States (31).Minimal_Complete_Action := (Shift, 104, 222);
             Table.States (32).Productions := WisiToken.To_Vector (((131, 0), 
(219, 1), (239, 5), (245, 0), (245, 1),
             (245, 2)));
             Add_Action (Table.States (32), 76, Reduce, (239, 5), 1, 
name_5'Access, name_5_check'Access);
@@ -683,57 +678,56 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (32), 101, Reduce, (239, 5), 1, 
name_5'Access, name_5_check'Access);
             Add_Action (Table.States (32), 102, Reduce, (239, 5), 1, 
name_5'Access, name_5_check'Access);
             Add_Error (Table.States (32));
-            Set_Minimal_Action (Table.States (32).Minimal_Complete_Actions, 
((Shift, 81, 223), (Reduce, 219, 1),
-            (Reduce, 239, 1)));
+            Table.States (32).Minimal_Complete_Action := (Reduce, 219, 1);
             Table.States (33).Productions := WisiToken.To_Vector ((1 => (239, 
7)));
             Add_Action (Table.States (33), (4, 5, 10, 13, 15, 17, 18, 20, 21, 
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
             40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74, 
75, 76, 77, 78, 79, 82, 83, 84, 85, 86, 87,
             88, 89, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 104, 
105, 106), (239, 7), 1, null,
             name_7_check'Access);
-            Set_Minimal_Action (Table.States (33).Minimal_Complete_Actions, (1 
=> (Reduce, 239, 1)));
+            Table.States (33).Minimal_Complete_Action := (Reduce, 239, 1);
             Table.States (34).Productions := WisiToken.To_Vector ((1 => (239, 
6)));
             Add_Action (Table.States (34), (4, 5, 10, 13, 15, 17, 18, 20, 21, 
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
             40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74, 
75, 76, 77, 78, 79, 82, 83, 84, 85, 86, 87,
             88, 89, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 104, 
105, 106), (239, 6), 1, null, null);
-            Set_Minimal_Action (Table.States (34).Minimal_Complete_Actions, (1 
=> (Reduce, 239, 1)));
+            Table.States (34).Minimal_Complete_Action := (Reduce, 239, 1);
             Table.States (35).Productions := WisiToken.To_Vector ((1 => (157, 
0)));
             Add_Action (Table.States (35), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (157, 0), 1, null,
             null);
-            Set_Minimal_Action (Table.States (35).Minimal_Complete_Actions, (1 
=> (Reduce, 157, 1)));
+            Table.States (35).Minimal_Complete_Action := (Reduce, 157, 1);
             Table.States (36).Productions := WisiToken.To_Vector ((1 => (151, 
5)));
             Add_Action (Table.States (36), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (151, 5), 1, null, null);
-            Set_Minimal_Action (Table.States (36).Minimal_Complete_Actions, (1 
=> (Reduce, 151, 1)));
+            Table.States (36).Minimal_Complete_Action := (Reduce, 151, 1);
             Table.States (37).Productions := WisiToken.To_Vector ((1 => (157, 
1)));
             Add_Action (Table.States (37), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (157, 1), 1, null,
             null);
-            Set_Minimal_Action (Table.States (37).Minimal_Complete_Actions, (1 
=> (Reduce, 157, 1)));
+            Table.States (37).Minimal_Complete_Action := (Reduce, 157, 1);
             Table.States (38).Productions := WisiToken.To_Vector ((1 => (303, 
1)));
             Add_Action (Table.States (38), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (303, 1), 1, null, null);
-            Set_Minimal_Action (Table.States (38).Minimal_Complete_Actions, (1 
=> (Reduce, 303, 1)));
+            Table.States (38).Minimal_Complete_Action := (Reduce, 303, 1);
             Table.States (39).Productions := WisiToken.To_Vector ((1 => (298, 
3)));
             Add_Action (Table.States (39), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (298, 3), 1, null, null);
-            Set_Minimal_Action (Table.States (39).Minimal_Complete_Actions, (1 
=> (Reduce, 298, 1)));
+            Table.States (39).Minimal_Complete_Action := (Reduce, 298, 1);
             Table.States (40).Productions := WisiToken.To_Vector ((1 => (121, 
3)));
             Add_Action (Table.States (40), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 72, 73, 
74, 93, 104, 105, 106, 107), (121, 3), 1,
             null, null);
-            Set_Minimal_Action (Table.States (40).Minimal_Complete_Actions, (1 
=> (Reduce, 121, 1)));
+            Table.States (40).Minimal_Complete_Action := (Reduce, 121, 1);
             Table.States (41).Productions := WisiToken.To_Vector ((1 => (239, 
3)));
             Add_Action (Table.States (41), (4, 5, 10, 13, 15, 17, 18, 20, 21, 
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
             40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74, 
75, 76, 77, 78, 79, 82, 83, 84, 85, 86, 87,
             88, 89, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 104, 
105, 106), (239, 3), 1, null, null);
-            Set_Minimal_Action (Table.States (41).Minimal_Complete_Actions, (1 
=> (Reduce, 239, 1)));
+            Table.States (41).Minimal_Complete_Action := (Reduce, 239, 1);
             Table.States (42).Productions := WisiToken.To_Vector ((1 => (132, 
0)));
             Add_Action (Table.States (42), (13, 17, 28, 37, 73), (132, 0), 1, 
null, block_label_opt_0_check'Access);
-            Set_Minimal_Action (Table.States (42).Minimal_Complete_Actions, (1 
=> (Reduce, 132, 1)));
+            Table.States (42).Minimal_Complete_Action := (Reduce, 132, 1);
             Table.States (43).Productions := WisiToken.To_Vector (((133, 0), 
(133, 1), (232, 0), (232, 1)));
             Add_Action (Table.States (43), 13, 224);
             Add_Action (Table.States (43), 17, 225);
@@ -742,33 +736,32 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (43), 73, 29);
             Add_Error (Table.States (43));
             Add_Goto (Table.States (43), 229, 228);
-            Set_Minimal_Action (Table.States (43).Minimal_Complete_Actions, 
((Shift, 13, 224), (Shift, 17, 225),
-            (Shift, 28, 226), (Shift, 37, 227)));
+            Table.States (43).Minimal_Complete_Action := (Shift, 13, 224);
             Table.States (44).Productions := WisiToken.To_Vector ((1 => (151, 
3)));
             Add_Action (Table.States (44), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (151, 3), 1, null, null);
-            Set_Minimal_Action (Table.States (44).Minimal_Complete_Actions, (1 
=> (Reduce, 151, 1)));
+            Table.States (44).Minimal_Complete_Action := (Reduce, 151, 1);
             Table.States (45).Productions := WisiToken.To_Vector ((1 => (157, 
2)));
             Add_Action (Table.States (45), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (157, 2), 1, null,
             null);
-            Set_Minimal_Action (Table.States (45).Minimal_Complete_Actions, (1 
=> (Reduce, 157, 1)));
+            Table.States (45).Minimal_Complete_Action := (Reduce, 157, 1);
             Table.States (46).Productions := WisiToken.To_Vector ((1 => (134, 
1)));
             Add_Action (Table.States (46), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (134, 1), 1, null,
             null);
-            Set_Minimal_Action (Table.States (46).Minimal_Complete_Actions, (1 
=> (Reduce, 134, 1)));
+            Table.States (46).Minimal_Complete_Action := (Reduce, 134, 1);
             Table.States (47).Productions := WisiToken.To_Vector ((1 => (151, 
1)));
             Add_Action (Table.States (47), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (151, 1), 1, null, null);
-            Set_Minimal_Action (Table.States (47).Minimal_Complete_Actions, (1 
=> (Reduce, 151, 1)));
+            Table.States (47).Minimal_Complete_Action := (Reduce, 151, 1);
             Table.States (48).Productions := WisiToken.To_Vector ((1 => (143, 
1)));
             Add_Action (Table.States (48), (4, 5, 13, 15, 17, 18, 25, 27, 28, 
29, 30, 31, 32, 36, 37, 40, 41, 46, 47,
-            48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 93, 
104, 105, 106, 107), (143, 1), 1, null,
-            null);
-            Set_Minimal_Action (Table.States (48).Minimal_Complete_Actions, (1 
=> (Reduce, 143, 1)));
+            48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 93, 
104, 105, 106, 107), (143, 1), 1,
+            compilation_unit_list_1'Access, 
compilation_unit_list_1_check'Access);
+            Table.States (48).Minimal_Complete_Action := (Reduce, 143, 1);
             Table.States (49).Productions := WisiToken.To_Vector (((108, 0), 
(143, 0)));
             Add_Action (Table.States (49), 4, 1);
             Add_Action (Table.States (49), 5, 2);
@@ -899,65 +892,65 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (50), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (306, 2), 1, null, null);
-            Set_Minimal_Action (Table.States (50).Minimal_Complete_Actions, (1 
=> (Reduce, 306, 1)));
+            Table.States (50).Minimal_Complete_Action := (Reduce, 306, 1);
             Table.States (51).Productions := WisiToken.To_Vector ((1 => (298, 
2)));
             Add_Action (Table.States (51), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (298, 2), 1, null, null);
-            Set_Minimal_Action (Table.States (51).Minimal_Complete_Actions, (1 
=> (Reduce, 298, 1)));
+            Table.States (51).Minimal_Complete_Action := (Reduce, 298, 1);
             Table.States (52).Productions := WisiToken.To_Vector ((1 => (142, 
3)));
             Add_Action (Table.States (52), (4, 5, 13, 15, 17, 18, 25, 27, 28, 
29, 30, 31, 32, 36, 37, 40, 41, 46, 47,
             48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 93, 
104, 105, 106, 107), (142, 3), 1, null,
             null);
-            Set_Minimal_Action (Table.States (52).Minimal_Complete_Actions, (1 
=> (Reduce, 142, 1)));
+            Table.States (52).Minimal_Complete_Action := (Reduce, 142, 1);
             Table.States (53).Productions := WisiToken.To_Vector ((1 => (303, 
7)));
             Add_Action (Table.States (53), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (303, 7), 1, null, null);
-            Set_Minimal_Action (Table.States (53).Minimal_Complete_Actions, (1 
=> (Reduce, 303, 1)));
+            Table.States (53).Minimal_Complete_Action := (Reduce, 303, 1);
             Table.States (54).Productions := WisiToken.To_Vector ((1 => (157, 
3)));
             Add_Action (Table.States (54), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (157, 3), 1, null,
             null);
-            Set_Minimal_Action (Table.States (54).Minimal_Complete_Actions, (1 
=> (Reduce, 157, 1)));
+            Table.States (54).Minimal_Complete_Action := (Reduce, 157, 1);
             Table.States (55).Productions := WisiToken.To_Vector ((1 => (121, 
1)));
             Add_Action (Table.States (55), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 72, 73, 
74, 93, 104, 105, 106, 107), (121, 1), 1,
             null, null);
-            Set_Minimal_Action (Table.States (55).Minimal_Complete_Actions, (1 
=> (Reduce, 121, 1)));
+            Table.States (55).Minimal_Complete_Action := (Reduce, 121, 1);
             Table.States (56).Productions := WisiToken.To_Vector ((1 => (157, 
4)));
             Add_Action (Table.States (56), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (157, 4), 1, null,
             null);
-            Set_Minimal_Action (Table.States (56).Minimal_Complete_Actions, (1 
=> (Reduce, 157, 1)));
+            Table.States (56).Minimal_Complete_Action := (Reduce, 157, 1);
             Table.States (57).Productions := WisiToken.To_Vector ((1 => (303, 
2)));
             Add_Action (Table.States (57), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (303, 2), 1, null, null);
-            Set_Minimal_Action (Table.States (57).Minimal_Complete_Actions, (1 
=> (Reduce, 303, 1)));
+            Table.States (57).Minimal_Complete_Action := (Reduce, 303, 1);
             Table.States (58).Productions := WisiToken.To_Vector ((1 => (157, 
5)));
             Add_Action (Table.States (58), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (157, 5), 1, null,
             null);
-            Set_Minimal_Action (Table.States (58).Minimal_Complete_Actions, (1 
=> (Reduce, 157, 1)));
+            Table.States (58).Minimal_Complete_Action := (Reduce, 157, 1);
             Table.States (59).Productions := WisiToken.To_Vector ((1 => (151, 
4)));
             Add_Action (Table.States (59), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (151, 4), 1, null, null);
-            Set_Minimal_Action (Table.States (59).Minimal_Complete_Actions, (1 
=> (Reduce, 151, 1)));
+            Table.States (59).Minimal_Complete_Action := (Reduce, 151, 1);
             Table.States (60).Productions := WisiToken.To_Vector ((1 => (325, 
0)));
             Add_Action (Table.States (60), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (325, 0), 1, null,
             null);
-            Set_Minimal_Action (Table.States (60).Minimal_Complete_Actions, (1 
=> (Reduce, 325, 1)));
+            Table.States (60).Minimal_Complete_Action := (Reduce, 325, 1);
             Table.States (61).Productions := WisiToken.To_Vector ((1 => (312, 
1)));
             Add_Action (Table.States (61), (35, 74, 96), (312, 1), 1, null, 
subprogram_specification_1_check'Access);
-            Set_Minimal_Action (Table.States (61).Minimal_Complete_Actions, (1 
=> (Reduce, 312, 1)));
+            Table.States (61).Minimal_Complete_Action := (Reduce, 312, 1);
             Table.States (62).Productions := WisiToken.To_Vector ((1 => (157, 
6)));
             Add_Action (Table.States (62), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (157, 6), 1, null,
             null);
-            Set_Minimal_Action (Table.States (62).Minimal_Complete_Actions, (1 
=> (Reduce, 157, 1)));
+            Table.States (62).Minimal_Complete_Action := (Reduce, 157, 1);
             Table.States (63).Productions := WisiToken.To_Vector (((214, 0), 
(216, 0)));
             Add_Action (Table.States (63), 29, 7);
             Add_Action (Table.States (63), 47, 230);
@@ -967,53 +960,53 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (63), 251, 231);
             Add_Goto (Table.States (63), 262, 87);
             Add_Goto (Table.States (63), 312, 232);
-            Set_Minimal_Action (Table.States (63).Minimal_Complete_Actions, 
((Shift, 47, 230), (Shift, 50, 18)));
+            Table.States (63).Minimal_Complete_Action := (Shift, 50, 18);
             Table.States (64).Productions := WisiToken.To_Vector ((1 => (157, 
7)));
             Add_Action (Table.States (64), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (157, 7), 1, null,
             null);
-            Set_Minimal_Action (Table.States (64).Minimal_Complete_Actions, (1 
=> (Reduce, 157, 1)));
+            Table.States (64).Minimal_Complete_Action := (Reduce, 157, 1);
             Table.States (65).Productions := WisiToken.To_Vector ((1 => (209, 
1)));
             Add_Action (Table.States (65), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (209, 1), 1, null,
             null);
-            Set_Minimal_Action (Table.States (65).Minimal_Complete_Actions, (1 
=> (Reduce, 209, 1)));
+            Table.States (65).Minimal_Complete_Action := (Reduce, 209, 1);
             Table.States (66).Productions := WisiToken.To_Vector ((1 => (289, 
3)));
             Add_Action (Table.States (66), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (289, 3), 1, null,
             null);
-            Set_Minimal_Action (Table.States (66).Minimal_Complete_Actions, (1 
=> (Reduce, 289, 1)));
+            Table.States (66).Minimal_Complete_Action := (Reduce, 289, 1);
             Table.States (67).Productions := WisiToken.To_Vector ((1 => (209, 
0)));
             Add_Action (Table.States (67), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (209, 0), 1, null,
             null);
-            Set_Minimal_Action (Table.States (67).Minimal_Complete_Actions, (1 
=> (Reduce, 209, 1)));
+            Table.States (67).Minimal_Complete_Action := (Reduce, 209, 1);
             Table.States (68).Productions := WisiToken.To_Vector ((1 => (306, 
0)));
             Add_Action (Table.States (68), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (306, 0), 1, null, null);
-            Set_Minimal_Action (Table.States (68).Minimal_Complete_Actions, (1 
=> (Reduce, 306, 1)));
+            Table.States (68).Minimal_Complete_Action := (Reduce, 306, 1);
             Table.States (69).Productions := WisiToken.To_Vector (((157, 9), 
(186, 0), (219, 0), (244, 0), (244, 1),
             (244, 2), (244, 3), (244, 4), (244, 5)));
             Add_Action (Table.States (69), 81, 233);
             Add_Action (Table.States (69), 83, 234);
             Add_Error (Table.States (69));
-            Set_Minimal_Action (Table.States (69).Minimal_Complete_Actions, (1 
=> (Shift, 81, 233)));
+            Table.States (69).Minimal_Complete_Action := (Shift, 81, 233);
             Table.States (70).Productions := WisiToken.To_Vector ((1 => (151, 
0)));
             Add_Action (Table.States (70), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (151, 0), 1, null, null);
-            Set_Minimal_Action (Table.States (70).Minimal_Complete_Actions, (1 
=> (Reduce, 151, 1)));
+            Table.States (70).Minimal_Complete_Action := (Reduce, 151, 1);
             Table.States (71).Productions := WisiToken.To_Vector ((1 => (325, 
1)));
             Add_Action (Table.States (71), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (325, 1), 1, null,
             null);
-            Set_Minimal_Action (Table.States (71).Minimal_Complete_Actions, (1 
=> (Reduce, 325, 1)));
+            Table.States (71).Minimal_Complete_Action := (Reduce, 325, 1);
             Table.States (72).Productions := WisiToken.To_Vector ((1 => (151, 
2)));
             Add_Action (Table.States (72), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (151, 2), 1, null, null);
-            Set_Minimal_Action (Table.States (72).Minimal_Complete_Actions, (1 
=> (Reduce, 151, 1)));
+            Table.States (72).Minimal_Complete_Action := (Reduce, 151, 1);
             Table.States (73).Productions := WisiToken.To_Vector (((123, 0), 
(128, 0), (239, 0), (239, 1), (261, 0),
             (272, 0), (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (73), 76, 235);
@@ -1025,23 +1018,22 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (73));
             Add_Goto (Table.States (73), 115, 241);
             Add_Goto (Table.States (73), 322, 242);
-            Set_Minimal_Action (Table.States (73).Minimal_Complete_Actions, 
((Shift, 82, 236), (Shift, 84, 237),
-            (Shift, 96, 238), (Shift, 102, 240)));
+            Table.States (73).Minimal_Complete_Action := (Shift, 96, 238);
             Table.States (74).Productions := WisiToken.To_Vector ((1 => (157, 
8)));
             Add_Action (Table.States (74), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (157, 8), 1, null,
             null);
-            Set_Minimal_Action (Table.States (74).Minimal_Complete_Actions, (1 
=> (Reduce, 157, 1)));
+            Table.States (74).Minimal_Complete_Action := (Reduce, 157, 1);
             Table.States (75).Productions := WisiToken.To_Vector ((1 => (157, 
10)));
             Add_Action (Table.States (75), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (157, 10), 1,
             null, null);
-            Set_Minimal_Action (Table.States (75).Minimal_Complete_Actions, (1 
=> (Reduce, 157, 1)));
+            Table.States (75).Minimal_Complete_Action := (Reduce, 157, 1);
             Table.States (76).Productions := WisiToken.To_Vector ((1 => (289, 
0)));
             Add_Action (Table.States (76), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (289, 0), 1, null,
             null);
-            Set_Minimal_Action (Table.States (76).Minimal_Complete_Actions, (1 
=> (Reduce, 289, 1)));
+            Table.States (76).Minimal_Complete_Action := (Reduce, 289, 1);
             Table.States (77).Productions := WisiToken.To_Vector (((112, 0), 
(179, 0), (179, 1), (193, 0), (213, 1),
             (213, 2), (243, 0), (307, 0), (308, 0), (309, 0), (311, 0)));
             Add_Action (Table.States (77), 25, 243);
@@ -1051,206 +1043,205 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (77), 207, 246);
             Add_Goto (Table.States (77), 262, 247);
             Add_Goto (Table.States (77), 312, 248);
-            Set_Minimal_Action (Table.States (77).Minimal_Complete_Actions, 
((Shift, 25, 243), (Shift, 29, 244),
-            (Shift, 50, 245)));
+            Table.States (77).Minimal_Complete_Action := (Shift, 25, 243);
             Table.States (78).Productions := WisiToken.To_Vector ((1 => (263, 
1)));
             Add_Action (Table.States (78), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (263, 1), 1, null,
             null);
-            Set_Minimal_Action (Table.States (78).Minimal_Complete_Actions, (1 
=> (Reduce, 263, 1)));
+            Table.States (78).Minimal_Complete_Action := (Reduce, 263, 1);
             Table.States (79).Productions := WisiToken.To_Vector ((1 => (135, 
1)));
             Add_Action (Table.States (79), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (135, 1), 1, null,
             null);
-            Set_Minimal_Action (Table.States (79).Minimal_Complete_Actions, (1 
=> (Reduce, 135, 1)));
+            Table.States (79).Minimal_Complete_Action := (Reduce, 135, 1);
             Table.States (80).Productions := WisiToken.To_Vector ((1 => (157, 
11)));
             Add_Action (Table.States (80), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (157, 11), 1,
             null, null);
-            Set_Minimal_Action (Table.States (80).Minimal_Complete_Actions, (1 
=> (Reduce, 157, 1)));
+            Table.States (80).Minimal_Complete_Action := (Reduce, 157, 1);
             Table.States (81).Productions := WisiToken.To_Vector ((1 => (289, 
1)));
             Add_Action (Table.States (81), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (289, 1), 1, null,
             null);
-            Set_Minimal_Action (Table.States (81).Minimal_Complete_Actions, (1 
=> (Reduce, 289, 1)));
+            Table.States (81).Minimal_Complete_Action := (Reduce, 289, 1);
             Table.States (82).Productions := WisiToken.To_Vector ((1 => (249, 
0)));
             Add_Action (Table.States (82), 96, 249);
             Add_Error (Table.States (82));
-            Set_Minimal_Action (Table.States (82).Minimal_Complete_Actions, (1 
=> (Shift, 96, 249)));
+            Table.States (82).Minimal_Complete_Action := (Shift, 96, 249);
             Table.States (83).Productions := WisiToken.To_Vector ((1 => (303, 
10)));
             Add_Action (Table.States (83), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (303, 10), 1, null, null);
-            Set_Minimal_Action (Table.States (83).Minimal_Complete_Actions, (1 
=> (Reduce, 303, 1)));
+            Table.States (83).Minimal_Complete_Action := (Reduce, 303, 1);
             Table.States (84).Productions := WisiToken.To_Vector ((1 => (325, 
3)));
             Add_Action (Table.States (84), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (325, 3), 1, null,
             null);
-            Set_Minimal_Action (Table.States (84).Minimal_Complete_Actions, (1 
=> (Reduce, 325, 1)));
+            Table.States (84).Minimal_Complete_Action := (Reduce, 325, 1);
             Table.States (85).Productions := WisiToken.To_Vector ((1 => (325, 
2)));
             Add_Action (Table.States (85), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (325, 2), 1, null,
             null);
-            Set_Minimal_Action (Table.States (85).Minimal_Complete_Actions, (1 
=> (Reduce, 325, 1)));
+            Table.States (85).Minimal_Complete_Action := (Reduce, 325, 1);
             Table.States (86).Productions := WisiToken.To_Vector ((1 => (303, 
4)));
             Add_Action (Table.States (86), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (303, 4), 1, null, null);
-            Set_Minimal_Action (Table.States (86).Minimal_Complete_Actions, (1 
=> (Reduce, 303, 1)));
+            Table.States (86).Minimal_Complete_Action := (Reduce, 303, 1);
             Table.States (87).Productions := WisiToken.To_Vector ((1 => (312, 
0)));
             Add_Action (Table.States (87), (35, 74, 96), (312, 0), 1, null, 
subprogram_specification_0_check'Access);
-            Set_Minimal_Action (Table.States (87).Minimal_Complete_Actions, (1 
=> (Reduce, 312, 1)));
+            Table.States (87).Minimal_Complete_Action := (Reduce, 312, 1);
             Table.States (88).Productions := WisiToken.To_Vector ((1 => (134, 
0)));
             Add_Action (Table.States (88), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (134, 0), 1, null,
             null);
-            Set_Minimal_Action (Table.States (88).Minimal_Complete_Actions, (1 
=> (Reduce, 134, 1)));
+            Table.States (88).Minimal_Complete_Action := (Reduce, 134, 1);
             Table.States (89).Productions := WisiToken.To_Vector ((1 => (263, 
3)));
             Add_Action (Table.States (89), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (263, 3), 1, null,
             null);
-            Set_Minimal_Action (Table.States (89).Minimal_Complete_Actions, (1 
=> (Reduce, 263, 1)));
+            Table.States (89).Minimal_Complete_Action := (Reduce, 263, 1);
             Table.States (90).Productions := WisiToken.To_Vector ((1 => (135, 
3)));
             Add_Action (Table.States (90), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (135, 3), 1, null,
             null);
-            Set_Minimal_Action (Table.States (90).Minimal_Complete_Actions, (1 
=> (Reduce, 135, 1)));
+            Table.States (90).Minimal_Complete_Action := (Reduce, 135, 1);
             Table.States (91).Productions := WisiToken.To_Vector ((1 => (206, 
2)));
             Add_Action (Table.States (91), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (206, 2), 1, null,
             null);
-            Set_Minimal_Action (Table.States (91).Minimal_Complete_Actions, (1 
=> (Reduce, 206, 1)));
+            Table.States (91).Minimal_Complete_Action := (Reduce, 206, 1);
             Table.States (92).Productions := WisiToken.To_Vector ((1 => (239, 
4)));
             Add_Action (Table.States (92), (4, 5, 10, 13, 15, 17, 18, 20, 21, 
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
             40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74, 
75, 76, 77, 78, 79, 82, 83, 84, 85, 86, 87,
             88, 89, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 104, 
105, 106), (239, 4), 1, null, null);
-            Set_Minimal_Action (Table.States (92).Minimal_Complete_Actions, (1 
=> (Reduce, 239, 1)));
+            Table.States (92).Minimal_Complete_Action := (Reduce, 239, 1);
             Table.States (93).Productions := WisiToken.To_Vector ((1 => (303, 
9)));
             Add_Action (Table.States (93), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (303, 9), 1, null, null);
-            Set_Minimal_Action (Table.States (93).Minimal_Complete_Actions, (1 
=> (Reduce, 303, 1)));
+            Table.States (93).Minimal_Complete_Action := (Reduce, 303, 1);
             Table.States (94).Productions := WisiToken.To_Vector ((1 => (121, 
2)));
             Add_Action (Table.States (94), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 72, 73, 
74, 93, 104, 105, 106, 107), (121, 2), 1,
             null, null);
-            Set_Minimal_Action (Table.States (94).Minimal_Complete_Actions, (1 
=> (Reduce, 121, 1)));
+            Table.States (94).Minimal_Complete_Action := (Reduce, 121, 1);
             Table.States (95).Productions := WisiToken.To_Vector ((1 => (157, 
12)));
             Add_Action (Table.States (95), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (157, 12), 1,
             null, null);
-            Set_Minimal_Action (Table.States (95).Minimal_Complete_Actions, (1 
=> (Reduce, 157, 1)));
+            Table.States (95).Minimal_Complete_Action := (Reduce, 157, 1);
             Table.States (96).Productions := WisiToken.To_Vector ((1 => (303, 
6)));
             Add_Action (Table.States (96), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (303, 6), 1, null, null);
-            Set_Minimal_Action (Table.States (96).Minimal_Complete_Actions, (1 
=> (Reduce, 303, 1)));
+            Table.States (96).Minimal_Complete_Action := (Reduce, 303, 1);
             Table.States (97).Productions := WisiToken.To_Vector ((1 => (239, 
2)));
             Add_Action (Table.States (97), (4, 5, 10, 13, 15, 17, 18, 20, 21, 
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
             40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74, 
75, 76, 77, 78, 79, 82, 83, 84, 85, 86, 87,
             88, 89, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 104, 
105, 106), (239, 2), 1, null,
             name_2_check'Access);
-            Set_Minimal_Action (Table.States (97).Minimal_Complete_Actions, (1 
=> (Reduce, 239, 1)));
+            Table.States (97).Minimal_Complete_Action := (Reduce, 239, 1);
             Table.States (98).Productions := WisiToken.To_Vector ((1 => (298, 
0)));
             Add_Action (Table.States (98), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (298, 0), 1, null, null);
-            Set_Minimal_Action (Table.States (98).Minimal_Complete_Actions, (1 
=> (Reduce, 298, 1)));
+            Table.States (98).Minimal_Complete_Action := (Reduce, 298, 1);
             Table.States (99).Productions := WisiToken.To_Vector ((1 => (151, 
6)));
             Add_Action (Table.States (99), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (151, 6), 1, null, null);
-            Set_Minimal_Action (Table.States (99).Minimal_Complete_Actions, (1 
=> (Reduce, 151, 1)));
+            Table.States (99).Minimal_Complete_Action := (Reduce, 151, 1);
             Table.States (100).Productions := WisiToken.To_Vector ((1 => (303, 
5)));
             Add_Action (Table.States (100), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (303, 5), 1, null, null);
-            Set_Minimal_Action (Table.States (100).Minimal_Complete_Actions, 
(1 => (Reduce, 303, 1)));
+            Table.States (100).Minimal_Complete_Action := (Reduce, 303, 1);
             Table.States (101).Productions := WisiToken.To_Vector ((1 => (306, 
1)));
             Add_Action (Table.States (101), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (306, 1), 1, null, null);
-            Set_Minimal_Action (Table.States (101).Minimal_Complete_Actions, 
(1 => (Reduce, 306, 1)));
+            Table.States (101).Minimal_Complete_Action := (Reduce, 306, 1);
             Table.States (102).Productions := WisiToken.To_Vector ((1 => (244, 
7)));
             Add_Action (Table.States (102), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (244, 7), 1, null,
             null);
-            Set_Minimal_Action (Table.States (102).Minimal_Complete_Actions, 
(1 => (Reduce, 244, 1)));
+            Table.States (102).Minimal_Complete_Action := (Reduce, 244, 1);
             Table.States (103).Productions := WisiToken.To_Vector ((1 => (244, 
6)));
             Add_Action (Table.States (103), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (244, 6), 1, null,
             null);
-            Set_Minimal_Action (Table.States (103).Minimal_Complete_Actions, 
(1 => (Reduce, 244, 1)));
+            Table.States (103).Minimal_Complete_Action := (Reduce, 244, 1);
             Table.States (104).Productions := WisiToken.To_Vector ((1 => (142, 
4)));
             Add_Action (Table.States (104), (4, 5, 13, 15, 17, 18, 25, 27, 28, 
29, 30, 31, 32, 36, 37, 40, 41, 46, 47,
             48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 93, 
104, 105, 106, 107), (142, 4), 1, null,
             null);
-            Set_Minimal_Action (Table.States (104).Minimal_Complete_Actions, 
(1 => (Reduce, 142, 1)));
+            Table.States (104).Minimal_Complete_Action := (Reduce, 142, 1);
             Table.States (105).Productions := WisiToken.To_Vector ((1 => (263, 
0)));
             Add_Action (Table.States (105), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (263, 0), 1, null,
             null);
-            Set_Minimal_Action (Table.States (105).Minimal_Complete_Actions, 
(1 => (Reduce, 263, 1)));
+            Table.States (105).Minimal_Complete_Action := (Reduce, 263, 1);
             Table.States (106).Productions := WisiToken.To_Vector ((1 => (135, 
0)));
             Add_Action (Table.States (106), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (135, 0), 1, null,
             null);
-            Set_Minimal_Action (Table.States (106).Minimal_Complete_Actions, 
(1 => (Reduce, 135, 1)));
+            Table.States (106).Minimal_Complete_Action := (Reduce, 135, 1);
             Table.States (107).Productions := WisiToken.To_Vector ((1 => (157, 
13)));
             Add_Action (Table.States (107), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (157, 13), 1,
             null, null);
-            Set_Minimal_Action (Table.States (107).Minimal_Complete_Actions, 
(1 => (Reduce, 157, 1)));
+            Table.States (107).Minimal_Complete_Action := (Reduce, 157, 1);
             Table.States (108).Productions := WisiToken.To_Vector ((1 => (289, 
2)));
             Add_Action (Table.States (108), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (289, 2), 1, null,
             null);
-            Set_Minimal_Action (Table.States (108).Minimal_Complete_Actions, 
(1 => (Reduce, 289, 1)));
+            Table.States (108).Minimal_Complete_Action := (Reduce, 289, 1);
             Table.States (109).Productions := WisiToken.To_Vector ((1 => (157, 
14)));
             Add_Action (Table.States (109), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (157, 14), 1,
             null, null);
-            Set_Minimal_Action (Table.States (109).Minimal_Complete_Actions, 
(1 => (Reduce, 157, 1)));
+            Table.States (109).Minimal_Complete_Action := (Reduce, 157, 1);
             Table.States (110).Productions := WisiToken.To_Vector ((1 => (142, 
1)));
             Add_Action (Table.States (110), (4, 5, 13, 15, 17, 18, 25, 27, 28, 
29, 30, 31, 32, 36, 37, 40, 41, 46, 47,
             48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 93, 
104, 105, 106, 107), (142, 1), 1, null,
             null);
-            Set_Minimal_Action (Table.States (110).Minimal_Complete_Actions, 
(1 => (Reduce, 142, 1)));
+            Table.States (110).Minimal_Complete_Action := (Reduce, 142, 1);
             Table.States (111).Productions := WisiToken.To_Vector ((1 => (263, 
2)));
             Add_Action (Table.States (111), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (263, 2), 1, null,
             null);
-            Set_Minimal_Action (Table.States (111).Minimal_Complete_Actions, 
(1 => (Reduce, 263, 1)));
+            Table.States (111).Minimal_Complete_Action := (Reduce, 263, 1);
             Table.States (112).Productions := WisiToken.To_Vector ((1 => (135, 
2)));
             Add_Action (Table.States (112), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (135, 2), 1, null,
             null);
-            Set_Minimal_Action (Table.States (112).Minimal_Complete_Actions, 
(1 => (Reduce, 135, 1)));
+            Table.States (112).Minimal_Complete_Action := (Reduce, 135, 1);
             Table.States (113).Productions := WisiToken.To_Vector ((1 => (206, 
1)));
             Add_Action (Table.States (113), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (206, 1), 1, null,
             null);
-            Set_Minimal_Action (Table.States (113).Minimal_Complete_Actions, 
(1 => (Reduce, 206, 1)));
+            Table.States (113).Minimal_Complete_Action := (Reduce, 206, 1);
             Table.States (114).Productions := WisiToken.To_Vector ((1 => (298, 
1)));
             Add_Action (Table.States (114), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (298, 1), 1, null, null);
-            Set_Minimal_Action (Table.States (114).Minimal_Complete_Actions, 
(1 => (Reduce, 298, 1)));
+            Table.States (114).Minimal_Complete_Action := (Reduce, 298, 1);
             Table.States (115).Productions := WisiToken.To_Vector ((1 => (157, 
15)));
             Add_Action (Table.States (115), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (157, 15), 1,
             null, null);
-            Set_Minimal_Action (Table.States (115).Minimal_Complete_Actions, 
(1 => (Reduce, 157, 1)));
+            Table.States (115).Minimal_Complete_Action := (Reduce, 157, 1);
             Table.States (116).Productions := WisiToken.To_Vector ((1 => (157, 
16)));
             Add_Action (Table.States (116), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (157, 16), 1,
             null, null);
-            Set_Minimal_Action (Table.States (116).Minimal_Complete_Actions, 
(1 => (Reduce, 157, 1)));
+            Table.States (116).Minimal_Complete_Action := (Reduce, 157, 1);
             Table.States (117).Productions := WisiToken.To_Vector ((1 => (142, 
0)));
             Add_Action (Table.States (117), (4, 5, 13, 15, 17, 18, 25, 27, 28, 
29, 30, 31, 32, 36, 37, 40, 41, 46, 47,
             48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 93, 
104, 105, 106, 107), (142, 0), 1, null,
             null);
-            Set_Minimal_Action (Table.States (117).Minimal_Complete_Actions, 
(1 => (Reduce, 142, 1)));
+            Table.States (117).Minimal_Complete_Action := (Reduce, 142, 1);
             Table.States (118).Productions := WisiToken.To_Vector (((113, 0), 
(113, 1)));
             Add_Action (Table.States (118), 21, Reduce, (116, 1), 0, null, 
null);
             Add_Action (Table.States (118), 76, 250, (116, 1), 0, null, null);
@@ -1258,13 +1249,13 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (118));
             Add_Goto (Table.States (118), 115, 251);
             Add_Goto (Table.States (118), 116, 252);
-            Set_Minimal_Action (Table.States (118).Minimal_Complete_Actions, 
(1 => (Reduce, 116, 0)));
+            Table.States (118).Minimal_Complete_Action := (Reduce, 116, 0);
             Table.States (119).Productions := WisiToken.To_Vector ((1 => (239, 
5)));
             Add_Action (Table.States (119), (4, 5, 10, 13, 15, 17, 18, 20, 21, 
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
             40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74, 
75, 76, 77, 78, 79, 82, 83, 84, 85, 86, 87,
             88, 89, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 104, 
105, 106), (239, 5), 1, name_5'Access,
             name_5_check'Access);
-            Set_Minimal_Action (Table.States (119).Minimal_Complete_Actions, 
(1 => (Reduce, 239, 1)));
+            Table.States (119).Minimal_Complete_Action := (Reduce, 239, 1);
             Table.States (120).Productions := WisiToken.To_Vector (((128, 0), 
(239, 0), (239, 1), (272, 0), (293, 0),
             (293, 1), (293, 2), (293, 3), (303, 8)));
             Add_Action (Table.States (120), 76, 235);
@@ -1275,8 +1266,7 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (120));
             Add_Goto (Table.States (120), 115, 241);
             Add_Goto (Table.States (120), 322, 242);
-            Set_Minimal_Action (Table.States (120).Minimal_Complete_Actions, 
((Shift, 84, 237), (Shift, 96, 253),
-            (Shift, 102, 240)));
+            Table.States (120).Minimal_Complete_Action := (Shift, 96, 253);
             Table.States (121).Productions := WisiToken.To_Vector ((1 => (197, 
2)));
             Add_Action (Table.States (121), 39, 122);
             Add_Action (Table.States (121), 41, 124);
@@ -1292,7 +1282,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (121), 258, 254);
             Add_Goto (Table.States (121), 272, 92);
             Add_Goto (Table.States (121), 293, 97);
-            Set_Minimal_Action (Table.States (121).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (121).Minimal_Complete_Action := (Shift, 103, 129);
             Table.States (122).Productions := WisiToken.To_Vector ((1 => (258, 
4)));
             Add_Action (Table.States (122), 104, 119);
             Add_Action (Table.States (122), 105, 33);
@@ -1302,7 +1292,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (122), 239, 255);
             Add_Goto (Table.States (122), 272, 92);
             Add_Goto (Table.States (122), 293, 97);
-            Set_Minimal_Action (Table.States (122).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (122).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (123).Productions := WisiToken.To_Vector ((1 => (197, 
3)));
             Add_Action (Table.States (123), 39, 122);
             Add_Action (Table.States (123), 41, 124);
@@ -1318,11 +1308,11 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (123), 258, 256);
             Add_Goto (Table.States (123), 272, 92);
             Add_Goto (Table.States (123), 293, 97);
-            Set_Minimal_Action (Table.States (123).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (123).Minimal_Complete_Action := (Shift, 103, 129);
             Table.States (124).Productions := WisiToken.To_Vector ((1 => (258, 
1)));
             Add_Action (Table.States (124), (10, 20, 21, 22, 23, 33, 35, 37, 
38, 40, 42, 43, 53, 55, 68, 74, 75, 77,
             78, 79, 82, 83, 85, 86, 87, 88, 89, 91, 92, 94, 95, 96, 97, 98, 
99, 100), (258, 1), 1, null, null);
-            Set_Minimal_Action (Table.States (124).Minimal_Complete_Actions, 
(1 => (Reduce, 258, 1)));
+            Table.States (124).Minimal_Complete_Action := (Reduce, 258, 1);
             Table.States (125).Productions := WisiToken.To_Vector (((275, 0), 
(275, 1)));
             Add_Action (Table.States (125), 104, 119);
             Add_Action (Table.States (125), 105, 33);
@@ -1332,7 +1322,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (125), 239, 257);
             Add_Goto (Table.States (125), 272, 92);
             Add_Goto (Table.States (125), 293, 97);
-            Set_Minimal_Action (Table.States (125).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (125).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (126).Productions := WisiToken.To_Vector (((117, 0), 
(117, 1), (117, 2), (117, 3), (117, 4)));
             Add_Action (Table.States (126), 3, 121);
             Add_Action (Table.States (126), 15, 258);
@@ -1385,36 +1375,35 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (126), 320, 144);
             Add_Goto (Table.States (126), 321, 145);
             Add_Goto (Table.States (126), 330, 146);
-            Set_Minimal_Action (Table.States (126).Minimal_Complete_Actions, 
((Shift, 32, 260), (Shift, 41, 262),
-            (Reduce, 125, 0), (Reduce, 192, 0)));
+            Table.States (126).Minimal_Complete_Action := (Reduce, 125, 0);
             Table.States (127).Productions := WisiToken.To_Vector ((1 => (330, 
1)));
             Add_Action (Table.States (127), (3, 39, 40, 41, 76, 103, 104, 105, 
106), (330, 1), 1, null, null);
-            Set_Minimal_Action (Table.States (127).Minimal_Complete_Actions, 
(1 => (Reduce, 330, 1)));
+            Table.States (127).Minimal_Complete_Action := (Reduce, 330, 1);
             Table.States (128).Productions := WisiToken.To_Vector ((1 => (330, 
0)));
             Add_Action (Table.States (128), (3, 39, 40, 41, 76, 103, 104, 105, 
106), (330, 0), 1, null, null);
-            Set_Minimal_Action (Table.States (128).Minimal_Complete_Actions, 
(1 => (Reduce, 330, 1)));
+            Table.States (128).Minimal_Complete_Action := (Reduce, 330, 1);
             Table.States (129).Productions := WisiToken.To_Vector ((1 => (258, 
0)));
             Add_Action (Table.States (129), (10, 20, 21, 22, 23, 33, 35, 37, 
38, 40, 42, 43, 53, 55, 68, 74, 75, 77,
             78, 79, 82, 83, 85, 86, 87, 88, 89, 91, 92, 94, 95, 96, 97, 98, 
99, 100), (258, 0), 1, primary_0'Access,
             null);
-            Set_Minimal_Action (Table.States (129).Minimal_Complete_Actions, 
(1 => (Reduce, 258, 1)));
+            Table.States (129).Minimal_Complete_Action := (Reduce, 258, 1);
             Table.States (130).Productions := WisiToken.To_Vector ((1 => (258, 
2)));
             Add_Action (Table.States (130), (10, 20, 21, 22, 23, 33, 35, 37, 
38, 40, 42, 43, 53, 55, 68, 74, 75, 77,
             78, 79, 82, 83, 85, 86, 87, 88, 89, 91, 92, 94, 95, 96, 97, 98, 
99, 100), (258, 2), 1, primary_2'Access,
             null);
-            Set_Minimal_Action (Table.States (130).Minimal_Complete_Actions, 
(1 => (Reduce, 258, 1)));
+            Table.States (130).Minimal_Complete_Action := (Reduce, 258, 1);
             Table.States (131).Productions := WisiToken.To_Vector ((1 => (192, 
0)));
             Add_Action (Table.States (131), (10, 20, 21, 22, 23, 35, 37, 43, 
53, 68, 74, 75, 77, 79, 83, 87, 96), (192,
             0), 1, null, null);
-            Set_Minimal_Action (Table.States (131).Minimal_Complete_Actions, 
(1 => (Reduce, 192, 1)));
+            Table.States (131).Minimal_Complete_Action := (Reduce, 192, 1);
             Table.States (132).Productions := WisiToken.To_Vector ((1 => (139, 
0)));
             Add_Action (Table.States (132), 35, 278);
             Add_Error (Table.States (132));
-            Set_Minimal_Action (Table.States (132).Minimal_Complete_Actions, 
(1 => (Shift, 35, 278)));
+            Table.States (132).Minimal_Complete_Action := (Shift, 35, 278);
             Table.States (133).Productions := WisiToken.To_Vector ((1 => (320, 
1)));
             Add_Action (Table.States (133), (10, 20, 21, 22, 23, 33, 35, 37, 
38, 40, 42, 43, 53, 55, 68, 74, 75, 77,
             78, 79, 82, 83, 85, 86, 87, 88, 89, 91, 92, 94, 95, 96, 97, 98, 
99), (320, 1), 1, null, null);
-            Set_Minimal_Action (Table.States (133).Minimal_Complete_Actions, 
(1 => (Reduce, 320, 1)));
+            Table.States (133).Minimal_Complete_Action := (Reduce, 320, 1);
             Table.States (134).Productions := WisiToken.To_Vector (((128, 0), 
(239, 0), (239, 1), (258, 3), (272, 0),
             (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (134), 10, Reduce, (258, 3), 1, null, 
null);
@@ -1460,8 +1449,7 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (134));
             Add_Goto (Table.States (134), 115, 241);
             Add_Goto (Table.States (134), 322, 242);
-            Set_Minimal_Action (Table.States (134).Minimal_Complete_Actions, 
((Shift, 84, 237), (Shift, 102, 240),
-            (Reduce, 258, 1)));
+            Table.States (134).Minimal_Complete_Action := (Reduce, 258, 1);
             Table.States (135).Productions := WisiToken.To_Vector (((197, 0), 
(197, 1)));
             Add_Action (Table.States (135), 10, Reduce, (197, 1), 1, null, 
null);
             Add_Action (Table.States (135), 20, Reduce, (197, 1), 1, null, 
null);
@@ -1500,11 +1488,11 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (135), 99, Reduce, (197, 1), 1, null, 
null);
             Add_Action (Table.States (135), 100, 279);
             Add_Error (Table.States (135));
-            Set_Minimal_Action (Table.States (135).Minimal_Complete_Actions, 
(1 => (Reduce, 197, 1)));
+            Table.States (135).Minimal_Complete_Action := (Reduce, 197, 1);
             Table.States (136).Productions := WisiToken.To_Vector ((1 => (287, 
4)));
             Add_Action (Table.States (136), (10, 20, 21, 22, 23, 35, 37, 43, 
53, 68, 74, 75, 77, 79, 83, 87, 96), (287,
             4), 1, null, null);
-            Set_Minimal_Action (Table.States (136).Minimal_Complete_Actions, 
(1 => (Reduce, 287, 1)));
+            Table.States (136).Minimal_Complete_Action := (Reduce, 287, 1);
             Table.States (137).Productions := WisiToken.To_Vector (((191, 1), 
(282, 0)));
             Add_Action (Table.States (137), 10, 280, (191, 1), 1, null, null);
             Add_Action (Table.States (137), 20, Reduce, (191, 1), 1, null, 
null);
@@ -1524,7 +1512,7 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (137), 87, Reduce, (191, 1), 1, null, 
null);
             Add_Action (Table.States (137), 96, Reduce, (191, 1), 1, null, 
null);
             Add_Error (Table.States (137));
-            Set_Minimal_Action (Table.States (137).Minimal_Complete_Actions, 
(1 => (Reduce, 191, 1)));
+            Table.States (137).Minimal_Complete_Action := (Reduce, 191, 1);
             Table.States (138).Productions := WisiToken.To_Vector (((191, 2), 
(283, 0)));
             Add_Action (Table.States (138), 10, 281, (191, 2), 1, null, null);
             Add_Action (Table.States (138), 20, Reduce, (191, 2), 1, null, 
null);
@@ -1544,7 +1532,7 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (138), 87, Reduce, (191, 2), 1, null, 
null);
             Add_Action (Table.States (138), 96, Reduce, (191, 2), 1, null, 
null);
             Add_Error (Table.States (138));
-            Set_Minimal_Action (Table.States (138).Minimal_Complete_Actions, 
(1 => (Reduce, 191, 1)));
+            Table.States (138).Minimal_Complete_Action := (Reduce, 191, 1);
             Table.States (139).Productions := WisiToken.To_Vector (((191, 3), 
(284, 0)));
             Add_Action (Table.States (139), 10, Reduce, (191, 3), 1, null, 
null);
             Add_Action (Table.States (139), 20, Reduce, (191, 3), 1, null, 
null);
@@ -1564,7 +1552,7 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (139), 87, Reduce, (191, 3), 1, null, 
null);
             Add_Action (Table.States (139), 96, Reduce, (191, 3), 1, null, 
null);
             Add_Error (Table.States (139));
-            Set_Minimal_Action (Table.States (139).Minimal_Complete_Actions, 
(1 => (Reduce, 191, 1)));
+            Table.States (139).Minimal_Complete_Action := (Reduce, 191, 1);
             Table.States (140).Productions := WisiToken.To_Vector (((191, 4), 
(285, 0)));
             Add_Action (Table.States (140), 10, Reduce, (191, 4), 1, null, 
null);
             Add_Action (Table.States (140), 20, Reduce, (191, 4), 1, null, 
null);
@@ -1584,7 +1572,7 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (140), 87, Reduce, (191, 4), 1, null, 
null);
             Add_Action (Table.States (140), 96, Reduce, (191, 4), 1, null, 
null);
             Add_Error (Table.States (140));
-            Set_Minimal_Action (Table.States (140).Minimal_Complete_Actions, 
(1 => (Reduce, 191, 1)));
+            Table.States (140).Minimal_Complete_Action := (Reduce, 191, 1);
             Table.States (141).Productions := WisiToken.To_Vector (((191, 5), 
(286, 0)));
             Add_Action (Table.States (141), 10, Reduce, (191, 5), 1, null, 
null);
             Add_Action (Table.States (141), 20, Reduce, (191, 5), 1, null, 
null);
@@ -1604,7 +1592,7 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (141), 87, Reduce, (191, 5), 1, null, 
null);
             Add_Action (Table.States (141), 96, Reduce, (191, 5), 1, null, 
null);
             Add_Error (Table.States (141));
-            Set_Minimal_Action (Table.States (141).Minimal_Complete_Actions, 
(1 => (Reduce, 191, 1)));
+            Table.States (141).Minimal_Complete_Action := (Reduce, 191, 1);
          end Subr_2;
          procedure Subr_3
          is begin
@@ -1628,8 +1616,7 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (142), 87, Reduce, (191, 0), 1, null, 
null);
             Add_Action (Table.States (142), 96, Reduce, (191, 0), 1, null, 
null);
             Add_Error (Table.States (142));
-            Set_Minimal_Action (Table.States (142).Minimal_Complete_Actions, 
((Shift, 10, 285), (Shift, 43, 286),
-            (Shift, 75, 287), (Reduce, 191, 1)));
+            Table.States (142).Minimal_Complete_Action := (Reduce, 191, 1);
             Table.States (143).Productions := WisiToken.To_Vector (((287, 0), 
(287, 1), (287, 2), (287, 3)));
             Add_Action (Table.States (143), 10, Reduce, (287, 3), 1, null, 
null);
             Add_Action (Table.States (143), 20, Reduce, (287, 3), 1, null, 
null);
@@ -1658,7 +1645,7 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (143), 98, 295);
             Add_Error (Table.States (143));
             Add_Goto (Table.States (143), 288, 296);
-            Set_Minimal_Action (Table.States (143).Minimal_Complete_Actions, 
(1 => (Reduce, 287, 1)));
+            Table.States (143).Minimal_Complete_Action := (Reduce, 287, 1);
             Table.States (144).Productions := WisiToken.To_Vector (((320, 0), 
(321, 1)));
             Add_Action (Table.States (144), 10, Reduce, (321, 1), 1, null, 
null);
             Add_Action (Table.States (144), 20, Reduce, (321, 1), 1, null, 
null);
@@ -1697,7 +1684,7 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (144), 99, 300);
             Add_Error (Table.States (144));
             Add_Goto (Table.States (144), 237, 301);
-            Set_Minimal_Action (Table.States (144).Minimal_Complete_Actions, 
(1 => (Reduce, 321, 1)));
+            Table.States (144).Minimal_Complete_Action := (Reduce, 321, 1);
             Table.States (145).Productions := WisiToken.To_Vector (((301, 1), 
(321, 0)));
             Add_Action (Table.States (145), 10, Reduce, (301, 1), 1, null, 
null);
             Add_Action (Table.States (145), 20, Reduce, (301, 1), 1, null, 
null);
@@ -1732,7 +1719,7 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (145), 98, Reduce, (301, 1), 1, null, 
null);
             Add_Error (Table.States (145));
             Add_Goto (Table.States (145), 130, 305);
-            Set_Minimal_Action (Table.States (145).Minimal_Complete_Actions, 
(1 => (Reduce, 301, 1)));
+            Table.States (145).Minimal_Complete_Action := (Reduce, 301, 1);
             Table.States (146).Productions := WisiToken.To_Vector ((1 => (301, 
0)));
             Add_Action (Table.States (146), 3, 121);
             Add_Action (Table.States (146), 39, 122);
@@ -1753,7 +1740,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (146), 293, 97);
             Add_Goto (Table.States (146), 320, 144);
             Add_Goto (Table.States (146), 321, 306);
-            Set_Minimal_Action (Table.States (146).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (146).Minimal_Complete_Action := (Shift, 103, 129);
             Table.States (147).Productions := WisiToken.To_Vector ((1 => (161, 
0)));
             Add_Action (Table.States (147), 3, 121);
             Add_Action (Table.States (147), 39, 122);
@@ -1789,19 +1776,19 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (147), 320, 144);
             Add_Goto (Table.States (147), 321, 145);
             Add_Goto (Table.States (147), 330, 146);
-            Set_Minimal_Action (Table.States (147).Minimal_Complete_Actions, 
(1 => (Reduce, 192, 0)));
+            Table.States (147).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (148).Productions := WisiToken.To_Vector ((1 => (161, 
1)));
             Add_Action (Table.States (148), 96, 308);
             Add_Error (Table.States (148));
-            Set_Minimal_Action (Table.States (148).Minimal_Complete_Actions, 
(1 => (Shift, 96, 308)));
+            Table.States (148).Minimal_Complete_Action := (Shift, 96, 308);
             Table.States (149).Productions := WisiToken.To_Vector ((1 => (220, 
0)));
             Add_Action (Table.States (149), (72, 96), (220, 0), 1, null, 
identifier_opt_0_check'Access);
-            Set_Minimal_Action (Table.States (149).Minimal_Complete_Actions, 
(1 => (Reduce, 220, 1)));
+            Table.States (149).Minimal_Complete_Action := (Reduce, 220, 1);
             Table.States (150).Productions := WisiToken.To_Vector (((190, 0), 
(190, 1)));
             Add_Action (Table.States (150), 72, 309);
             Add_Action (Table.States (150), 96, 310);
             Add_Error (Table.States (150));
-            Set_Minimal_Action (Table.States (150).Minimal_Complete_Actions, 
((Shift, 72, 309), (Shift, 96, 310)));
+            Table.States (150).Minimal_Complete_Action := (Shift, 96, 310);
             Table.States (151).Productions := WisiToken.To_Vector (((163, 0), 
(230, 0), (230, 1), (230, 2), (230, 3),
             (230, 4), (230, 5), (239, 5)));
             Add_Action (Table.States (151), 33, 311);
@@ -1814,8 +1801,7 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (151), 101, Reduce, (239, 5), 1, 
name_5'Access, name_5_check'Access);
             Add_Action (Table.States (151), 102, Reduce, (239, 5), 1, 
name_5'Access, name_5_check'Access);
             Add_Error (Table.States (151));
-            Set_Minimal_Action (Table.States (151).Minimal_Complete_Actions, 
((Shift, 33, 311), (Shift, 42, 312),
-            (Shift, 81, 313), (Reduce, 163, 1), (Reduce, 239, 1)));
+            Table.States (151).Minimal_Complete_Action := (Reduce, 163, 1);
             Table.States (152).Productions := WisiToken.To_Vector (((163, 1), 
(239, 7)));
             Add_Action (Table.States (152), 71, Reduce, (163, 1), 1, null, 
null, (239, 7), 1, null,
             name_7_check'Access);
@@ -1824,7 +1810,7 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (152), 101, Reduce, (239, 7), 1, null, 
name_7_check'Access);
             Add_Action (Table.States (152), 102, Reduce, (239, 7), 1, null, 
name_7_check'Access);
             Add_Error (Table.States (152));
-            Set_Minimal_Action (Table.States (152).Minimal_Complete_Actions, 
((Reduce, 163, 1), (Reduce, 239, 1)));
+            Table.States (152).Minimal_Complete_Action := (Reduce, 163, 1);
             Table.States (153).Productions := WisiToken.To_Vector (((121, 0), 
(239, 3)));
             Add_Action (Table.States (153), 71, 314, (239, 3), 1, null, null);
             Add_Action (Table.States (153), 76, Reduce, (239, 3), 1, null, 
null);
@@ -1832,17 +1818,17 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (153), 101, Reduce, (239, 3), 1, null, 
null);
             Add_Action (Table.States (153), 102, Reduce, (239, 3), 1, null, 
null);
             Add_Error (Table.States (153));
-            Set_Minimal_Action (Table.States (153).Minimal_Complete_Actions, 
((Shift, 71, 314), (Reduce, 239, 1)));
+            Table.States (153).Minimal_Complete_Action := (Reduce, 239, 1);
             Table.States (154).Productions := WisiToken.To_Vector ((1 => (127, 
0)));
             Add_Action (Table.States (154), 71, 315);
             Add_Error (Table.States (154));
-            Set_Minimal_Action (Table.States (154).Minimal_Complete_Actions, 
(1 => (Shift, 71, 315)));
+            Table.States (154).Minimal_Complete_Action := (Shift, 71, 315);
             Table.States (155).Productions := WisiToken.To_Vector ((1 => (231, 
0)));
             Add_Action (Table.States (155), (1 =>  37), (231, 0), 1, null, 
null);
-            Set_Minimal_Action (Table.States (155).Minimal_Complete_Actions, 
(1 => (Reduce, 231, 1)));
+            Table.States (155).Minimal_Complete_Action := (Reduce, 231, 1);
             Table.States (156).Productions := WisiToken.To_Vector ((1 => (229, 
1)));
             Add_Action (Table.States (156), (1 =>  37), (229, 1), 2, 
iteration_scheme_1'Access, null);
-            Set_Minimal_Action (Table.States (156).Minimal_Complete_Actions, 
(1 => (Reduce, 229, 2)));
+            Table.States (156).Minimal_Complete_Action := (Reduce, 229, 2);
             Table.States (157).Productions := WisiToken.To_Vector (((128, 0), 
(182, 0), (239, 0), (239, 1), (272, 0),
             (281, 0), (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (157), 71, 316);
@@ -1853,8 +1839,7 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (157));
             Add_Goto (Table.States (157), 115, 241);
             Add_Goto (Table.States (157), 322, 242);
-            Set_Minimal_Action (Table.States (157).Minimal_Complete_Actions, 
((Shift, 71, 316), (Shift, 84, 237),
-            (Shift, 102, 240)));
+            Table.States (157).Minimal_Complete_Action := (Shift, 71, 316);
             Table.States (158).Productions := WisiToken.To_Vector (((128, 0), 
(207, 0), (239, 0), (239, 1), (272, 0),
             (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (158), 58, 317);
@@ -1868,8 +1853,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (158), 252, 320);
             Add_Goto (Table.States (158), 291, 321);
             Add_Goto (Table.States (158), 322, 242);
-            Set_Minimal_Action (Table.States (158).Minimal_Complete_Actions, 
((Shift, 58, 317), (Shift, 84, 237),
-            (Shift, 102, 240)));
+            Table.States (158).Minimal_Complete_Action := (Shift, 58, 317);
             Table.States (159).Productions := WisiToken.To_Vector ((1 => (215, 
2)));
             Add_Action (Table.States (159), 104, 119);
             Add_Action (Table.States (159), 105, 33);
@@ -1879,7 +1863,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (159), 239, 322);
             Add_Goto (Table.States (159), 272, 92);
             Add_Goto (Table.States (159), 293, 97);
-            Set_Minimal_Action (Table.States (159).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (159).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (160).Productions := WisiToken.To_Vector ((1 => (215, 
0)));
             Add_Action (Table.States (160), 104, 119);
             Add_Action (Table.States (160), 105, 33);
@@ -1889,7 +1873,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (160), 239, 323);
             Add_Goto (Table.States (160), 272, 92);
             Add_Goto (Table.States (160), 293, 97);
-            Set_Minimal_Action (Table.States (160).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (160).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (161).Productions := WisiToken.To_Vector ((1 => (215, 
1)));
             Add_Action (Table.States (161), 104, 119);
             Add_Action (Table.States (161), 105, 33);
@@ -1899,11 +1883,11 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (161), 239, 324);
             Add_Goto (Table.States (161), 272, 92);
             Add_Goto (Table.States (161), 293, 97);
-            Set_Minimal_Action (Table.States (161).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (161).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (162).Productions := WisiToken.To_Vector (((201, 0), 
(201, 1), (201, 2)));
             Add_Action (Table.States (162), 104, 325);
             Add_Error (Table.States (162));
-            Set_Minimal_Action (Table.States (162).Minimal_Complete_Actions, 
(1 => (Shift, 104, 325)));
+            Table.States (162).Minimal_Complete_Action := (Shift, 104, 325);
             Table.States (163).Productions := WisiToken.To_Vector (((200, 0), 
(200, 1), (200, 2), (200, 3), (204, 0)));
             Add_Action (Table.States (163), 29, 7);
             Add_Action (Table.States (163), 47, 326);
@@ -1912,22 +1896,22 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (163), 207, 61);
             Add_Goto (Table.States (163), 262, 87);
             Add_Goto (Table.States (163), 312, 327);
-            Set_Minimal_Action (Table.States (163).Minimal_Complete_Actions, 
((Shift, 47, 326), (Shift, 50, 18)));
+            Table.States (163).Minimal_Complete_Action := (Shift, 50, 18);
             Table.States (164).Productions := WisiToken.To_Vector ((1 => (219, 
1)));
             Add_Action (Table.States (164), (81, 83), (219, 1), 1, null, null);
-            Set_Minimal_Action (Table.States (164).Minimal_Complete_Actions, 
(1 => (Reduce, 219, 1)));
+            Table.States (164).Minimal_Complete_Action := (Reduce, 219, 1);
             Table.States (165).Productions := WisiToken.To_Vector ((1 => (212, 
0)));
             Add_Action (Table.States (165), (29, 47, 48, 50, 69, 71, 74, 104), 
(212, 0), 1, null, null);
-            Set_Minimal_Action (Table.States (165).Minimal_Complete_Actions, 
(1 => (Reduce, 212, 1)));
+            Table.States (165).Minimal_Complete_Action := (Reduce, 212, 1);
             Table.States (166).Productions := WisiToken.To_Vector ((1 => (212, 
2)));
             Add_Action (Table.States (166), (29, 47, 48, 50, 69, 71, 74, 104), 
(212, 2), 1, null, null);
-            Set_Minimal_Action (Table.States (166).Minimal_Complete_Actions, 
(1 => (Reduce, 212, 1)));
+            Table.States (166).Minimal_Complete_Action := (Reduce, 212, 1);
             Table.States (167).Productions := WisiToken.To_Vector ((1 => (212, 
1)));
             Add_Action (Table.States (167), (29, 47, 48, 50, 69, 71, 74, 104), 
(212, 1), 1, null, null);
-            Set_Minimal_Action (Table.States (167).Minimal_Complete_Actions, 
(1 => (Reduce, 212, 1)));
+            Table.States (167).Minimal_Complete_Action := (Reduce, 212, 1);
             Table.States (168).Productions := WisiToken.To_Vector ((1 => (212, 
3)));
             Add_Action (Table.States (168), (29, 47, 48, 50, 69, 71, 74, 104), 
(212, 3), 1, null, null);
-            Set_Minimal_Action (Table.States (168).Minimal_Complete_Actions, 
(1 => (Reduce, 212, 1)));
+            Table.States (168).Minimal_Complete_Action := (Reduce, 212, 1);
             Table.States (169).Productions := WisiToken.To_Vector (((210, 0), 
(211, 0)));
             Add_Action (Table.States (169), 29, Reduce, (210, 0), 2, 
generic_formal_part_0'Access, null);
             Add_Action (Table.States (169), 47, Reduce, (210, 0), 2, 
generic_formal_part_0'Access, null);
@@ -1946,33 +1930,33 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (169), 219, 171);
             Add_Goto (Table.States (169), 257, 172);
             Add_Goto (Table.States (169), 331, 173);
-            Set_Minimal_Action (Table.States (169).Minimal_Complete_Actions, 
(1 => (Reduce, 210, 2)));
+            Table.States (169).Minimal_Complete_Action := (Reduce, 210, 2);
             Table.States (170).Productions := WisiToken.To_Vector ((1 => (211, 
1)));
             Add_Action (Table.States (170), (29, 47, 48, 50, 69, 71, 74, 104), 
(211, 1), 1, null, null);
-            Set_Minimal_Action (Table.States (170).Minimal_Complete_Actions, 
(1 => (Reduce, 211, 1)));
+            Table.States (170).Minimal_Complete_Action := (Reduce, 211, 1);
             Table.States (171).Productions := WisiToken.To_Vector (((198, 0), 
(198, 1), (198, 2), (198, 3), (219, 0)));
             Add_Action (Table.States (171), 81, 329);
             Add_Action (Table.States (171), 83, 234);
             Add_Error (Table.States (171));
-            Set_Minimal_Action (Table.States (171).Minimal_Complete_Actions, 
(1 => (Shift, 81, 329)));
+            Table.States (171).Minimal_Complete_Action := (Shift, 81, 329);
             Table.States (172).Productions := WisiToken.To_Vector ((1 => (212, 
4)));
             Add_Action (Table.States (172), (29, 47, 48, 50, 69, 71, 74, 104), 
(212, 4), 1, null, null);
-            Set_Minimal_Action (Table.States (172).Minimal_Complete_Actions, 
(1 => (Reduce, 212, 1)));
+            Table.States (172).Minimal_Complete_Action := (Reduce, 212, 1);
             Table.States (173).Productions := WisiToken.To_Vector ((1 => (212, 
5)));
             Add_Action (Table.States (173), (29, 47, 48, 50, 69, 71, 74, 104), 
(212, 5), 1, null, null);
-            Set_Minimal_Action (Table.States (173).Minimal_Complete_Actions, 
(1 => (Reduce, 212, 1)));
+            Table.States (173).Minimal_Complete_Action := (Reduce, 212, 1);
             Table.States (174).Productions := WisiToken.To_Vector ((1 => (303, 
3)));
             Add_Action (Table.States (174), 96, 330);
             Add_Error (Table.States (174));
-            Set_Minimal_Action (Table.States (174).Minimal_Complete_Actions, 
(1 => (Shift, 96, 330)));
+            Table.States (174).Minimal_Complete_Action := (Shift, 96, 330);
             Table.States (175).Productions := WisiToken.To_Vector (((222, 0), 
(222, 1), (222, 2), (222, 3)));
             Add_Action (Table.States (175), 68, 331);
             Add_Error (Table.States (175));
-            Set_Minimal_Action (Table.States (175).Minimal_Complete_Actions, 
(1 => (Shift, 68, 331)));
+            Table.States (175).Minimal_Complete_Action := (Shift, 68, 331);
             Table.States (176).Productions := WisiToken.To_Vector ((1 => (332, 
0)));
             Add_Action (Table.States (176), 74, 332);
             Add_Error (Table.States (176));
-            Set_Minimal_Action (Table.States (176).Minimal_Complete_Actions, 
(1 => (Shift, 74, 332)));
+            Table.States (176).Minimal_Complete_Action := (Shift, 74, 332);
             Table.States (177).Productions := WisiToken.To_Vector ((1 => (332, 
1)));
             Add_Action (Table.States (177), 104, 119);
             Add_Action (Table.States (177), 105, 33);
@@ -1983,15 +1967,15 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (177), 239, 219);
             Add_Goto (Table.States (177), 272, 92);
             Add_Goto (Table.States (177), 293, 97);
-            Set_Minimal_Action (Table.States (177).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (177).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (178).Productions := WisiToken.To_Vector ((1 => (246, 
0)));
             Add_Action (Table.States (178), (25, 29, 50), (246, 0), 2, 
overriding_indicator_opt_0'Access, null);
-            Set_Minimal_Action (Table.States (178).Minimal_Complete_Actions, 
(1 => (Reduce, 246, 2)));
+            Table.States (178).Minimal_Complete_Action := (Reduce, 246, 2);
             Table.States (179).Productions := WisiToken.To_Vector ((1 => (303, 
0)));
             Add_Action (Table.States (179), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (303, 0), 2, simple_statement_0'Access, null);
-            Set_Minimal_Action (Table.States (179).Minimal_Complete_Actions, 
(1 => (Reduce, 303, 2)));
+            Table.States (179).Minimal_Complete_Action := (Reduce, 303, 2);
             Table.States (180).Productions := WisiToken.To_Vector (((247, 0), 
(247, 1), (248, 0)));
             Add_Action (Table.States (180), 104, 119);
             Add_Action (Table.States (180), 105, 33);
@@ -2001,7 +1985,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (180), 239, 334);
             Add_Goto (Table.States (180), 272, 92);
             Add_Goto (Table.States (180), 293, 97);
-            Set_Minimal_Action (Table.States (180).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (180).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (181).Productions := WisiToken.To_Vector (((128, 0), 
(213, 0), (239, 0), (239, 1), (250, 0),
             (251, 0), (251, 1), (272, 0), (293, 0), (293, 1), (293, 2), (293, 
3)));
             Add_Action (Table.States (181), 35, 335, (122, 1), 0, null, null);
@@ -2015,13 +1999,12 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (181), 115, 241);
             Add_Goto (Table.States (181), 122, 338);
             Add_Goto (Table.States (181), 322, 242);
-            Set_Minimal_Action (Table.States (181).Minimal_Complete_Actions, 
((Shift, 35, 335), (Shift, 56, 336),
-            (Shift, 84, 237), (Shift, 102, 240), (Reduce, 122, 0)));
+            Table.States (181).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (182).Productions := WisiToken.To_Vector (((257, 0), 
(257, 1), (257, 2)));
             Add_Action (Table.States (182), 76, 339);
             Add_Action (Table.States (182), 96, 340);
             Add_Error (Table.States (182));
-            Set_Minimal_Action (Table.States (182).Minimal_Complete_Actions, 
((Shift, 76, 339), (Shift, 96, 340)));
+            Table.States (182).Minimal_Complete_Action := (Shift, 96, 340);
             Table.States (183).Productions := WisiToken.To_Vector (((121, 0), 
(127, 0), (182, 0), (281, 0)));
             Add_Action (Table.States (183), 104, 341);
             Add_Action (Table.States (183), 105, 152);
@@ -2032,7 +2015,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (183), 239, 157);
             Add_Goto (Table.States (183), 272, 92);
             Add_Goto (Table.States (183), 293, 97);
-            Set_Minimal_Action (Table.States (183).Minimal_Complete_Actions, 
(1 => (Shift, 105, 152)));
+            Table.States (183).Minimal_Complete_Action := (Shift, 104, 341);
             Table.States (184).Productions := WisiToken.To_Vector ((1 => (332, 
2)));
             Add_Action (Table.States (184), 104, 119);
             Add_Action (Table.States (184), 105, 33);
@@ -2043,17 +2026,17 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (184), 239, 219);
             Add_Goto (Table.States (184), 272, 92);
             Add_Goto (Table.States (184), 293, 97);
-            Set_Minimal_Action (Table.States (184).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (184).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (185).Productions := WisiToken.To_Vector (((219, 1), 
(245, 0), (245, 1), (245, 2)));
             Add_Action (Table.States (185), 81, 343, (219, 1), 1, null, null);
             Add_Action (Table.States (185), 83, Reduce, (219, 1), 1, null, 
null);
             Add_Error (Table.States (185));
-            Set_Minimal_Action (Table.States (185).Minimal_Complete_Actions, 
((Shift, 81, 343), (Reduce, 219, 1)));
+            Table.States (185).Minimal_Complete_Action := (Reduce, 219, 1);
             Table.States (186).Productions := WisiToken.To_Vector ((1 => (142, 
2)));
             Add_Action (Table.States (186), (4, 5, 13, 15, 17, 18, 25, 27, 28, 
29, 30, 31, 32, 36, 37, 40, 41, 46, 47,
-            48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 93, 
104, 105, 106, 107), (142, 2), 2, null,
-            null);
-            Set_Minimal_Action (Table.States (186).Minimal_Complete_Actions, 
(1 => (Reduce, 142, 2)));
+            48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 93, 
104, 105, 106, 107), (142, 2), 2,
+            compilation_unit_2'Access, null);
+            Table.States (186).Minimal_Complete_Action := (Reduce, 142, 2);
             Table.States (187).Productions := WisiToken.To_Vector (((128, 0), 
(239, 0), (239, 1), (262, 0), (272, 0),
             (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (187), 35, Reduce, (253, 1), 0, null, 
null);
@@ -2068,27 +2051,26 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (187), 199, 344);
             Add_Goto (Table.States (187), 253, 345);
             Add_Goto (Table.States (187), 322, 242);
-            Set_Minimal_Action (Table.States (187).Minimal_Complete_Actions, 
((Shift, 84, 237), (Shift, 102, 240),
-            (Reduce, 253, 0)));
+            Table.States (187).Minimal_Complete_Action := (Reduce, 253, 0);
             Table.States (188).Productions := WisiToken.To_Vector (((264, 0), 
(265, 0)));
             Add_Action (Table.States (188), 104, 346);
             Add_Error (Table.States (188));
-            Set_Minimal_Action (Table.States (188).Minimal_Complete_Actions, 
(1 => (Shift, 104, 346)));
+            Table.States (188).Minimal_Complete_Action := (Shift, 104, 346);
             Table.States (189).Productions := WisiToken.To_Vector (((271, 0), 
(271, 1)));
             Add_Action (Table.States (189), 104, 347);
             Add_Error (Table.States (189));
-            Set_Minimal_Action (Table.States (189).Minimal_Complete_Actions, 
(1 => (Shift, 104, 347)));
+            Table.States (189).Minimal_Complete_Action := (Shift, 104, 347);
             Table.States (190).Productions := WisiToken.To_Vector (((304, 0), 
(304, 1)));
             Add_Action (Table.States (190), 35, Reduce, (122, 1), 0, null, 
null);
             Add_Action (Table.States (190), 74, 337);
             Add_Error (Table.States (190));
             Add_Goto (Table.States (190), 122, 348);
-            Set_Minimal_Action (Table.States (190).Minimal_Complete_Actions, 
(1 => (Reduce, 122, 0)));
+            Table.States (190).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (191).Productions := WisiToken.To_Vector ((1 => (276, 
2)));
             Add_Action (Table.States (191), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (276, 2), 2, raise_statement_2'Access, null);
-            Set_Minimal_Action (Table.States (191).Minimal_Complete_Actions, 
(1 => (Reduce, 276, 2)));
+            Table.States (191).Minimal_Complete_Action := (Reduce, 276, 2);
             Table.States (192).Productions := WisiToken.To_Vector (((128, 0), 
(239, 0), (239, 1), (272, 0), (276, 0),
             (276, 1), (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (192), 74, 349);
@@ -2100,8 +2082,7 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (192));
             Add_Goto (Table.States (192), 115, 241);
             Add_Goto (Table.States (192), 322, 242);
-            Set_Minimal_Action (Table.States (192).Minimal_Complete_Actions, 
((Shift, 74, 349), (Shift, 84, 237),
-            (Shift, 96, 350), (Shift, 102, 240)));
+            Table.States (192).Minimal_Complete_Action := (Shift, 96, 350);
             Table.States (193).Productions := WisiToken.To_Vector (((128, 0), 
(239, 0), (239, 1), (272, 0), (290, 0),
             (290, 1), (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (193), 74, 351);
@@ -2113,8 +2094,7 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (193));
             Add_Goto (Table.States (193), 115, 241);
             Add_Goto (Table.States (193), 322, 242);
-            Set_Minimal_Action (Table.States (193).Minimal_Complete_Actions, 
((Shift, 74, 351), (Shift, 84, 237),
-            (Shift, 96, 352), (Shift, 102, 240)));
+            Table.States (193).Minimal_Complete_Action := (Shift, 96, 352);
             Table.States (194).Productions := WisiToken.To_Vector (((194, 0), 
(194, 1), (239, 5)));
             Add_Action (Table.States (194), 10, Reduce, (239, 5), 1, 
name_5'Access, name_5_check'Access);
             Add_Action (Table.States (194), 33, Reduce, (239, 5), 1, 
name_5'Access, name_5_check'Access);
@@ -2142,20 +2122,20 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (194), 101, Reduce, (239, 5), 1, 
name_5'Access, name_5_check'Access);
             Add_Action (Table.States (194), 102, Reduce, (239, 5), 1, 
name_5'Access, name_5_check'Access);
             Add_Error (Table.States (194));
-            Set_Minimal_Action (Table.States (194).Minimal_Complete_Actions, 
((Shift, 81, 353), (Reduce, 239, 1)));
+            Table.States (194).Minimal_Complete_Action := (Reduce, 239, 1);
             Table.States (195).Productions := WisiToken.To_Vector ((1 => (302, 
0)));
             Add_Action (Table.States (195), 96, 354);
             Add_Error (Table.States (195));
-            Set_Minimal_Action (Table.States (195).Minimal_Complete_Actions, 
(1 => (Shift, 96, 354)));
+            Table.States (195).Minimal_Complete_Action := (Shift, 96, 354);
             Table.States (196).Productions := WisiToken.To_Vector (((195, 0), 
(196, 1)));
             Add_Action (Table.States (196), 21, Reduce, (195, 0), 1, null, 
null);
             Add_Action (Table.States (196), 96, 355);
             Add_Error (Table.States (196));
-            Set_Minimal_Action (Table.States (196).Minimal_Complete_Actions, 
((Shift, 96, 355), (Reduce, 195, 1)));
+            Table.States (196).Minimal_Complete_Action := (Reduce, 195, 1);
             Table.States (197).Productions := WisiToken.To_Vector ((1 => (196, 
0)));
             Add_Action (Table.States (197), 21, 356);
             Add_Error (Table.States (197));
-            Set_Minimal_Action (Table.States (197).Minimal_Complete_Actions, 
(1 => (Shift, 21, 356)));
+            Table.States (197).Minimal_Complete_Action := (Shift, 21, 356);
             Table.States (198).Productions := WisiToken.To_Vector ((1 => (315, 
0)));
             Add_Action (Table.States (198), 104, 119);
             Add_Action (Table.States (198), 105, 33);
@@ -2165,11 +2145,11 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (198), 239, 357);
             Add_Goto (Table.States (198), 272, 92);
             Add_Goto (Table.States (198), 293, 97);
-            Set_Minimal_Action (Table.States (198).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (198).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (199).Productions := WisiToken.To_Vector ((1 => (295, 
4)));
             Add_Action (Table.States (199), 96, 358);
             Add_Error (Table.States (199));
-            Set_Minimal_Action (Table.States (199).Minimal_Complete_Actions, 
(1 => (Shift, 96, 358)));
+            Table.States (199).Minimal_Complete_Action := (Shift, 96, 358);
             Table.States (200).Productions := WisiToken.To_Vector (((295, 0), 
(295, 1), (295, 2)));
             Add_Action (Table.States (200), 3, 121);
             Add_Action (Table.States (200), 39, 122);
@@ -2205,7 +2185,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (200), 320, 144);
             Add_Goto (Table.States (200), 321, 145);
             Add_Goto (Table.States (200), 330, 146);
-            Set_Minimal_Action (Table.States (200).Minimal_Complete_Actions, 
(1 => (Reduce, 192, 0)));
+            Table.States (200).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (201).Productions := WisiToken.To_Vector ((1 => (295, 
3)));
             Add_Action (Table.States (201), 4, 1);
             Add_Action (Table.States (201), 5, 2);
@@ -2264,13 +2244,13 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (201), 303, 101);
             Add_Goto (Table.States (201), 306, 363);
             Add_Goto (Table.States (201), 323, 114);
-            Set_Minimal_Action (Table.States (201).Minimal_Complete_Actions, 
(1 => (Reduce, 300, 0)));
+            Table.States (201).Minimal_Complete_Action := (Reduce, 300, 0);
          end Subr_3;
          procedure Subr_4
          is begin
             Table.States (202).Productions := WisiToken.To_Vector ((1 => (295, 
5)));
             Add_Action (Table.States (202), (22, 24, 43), (295, 5), 1, null, 
null);
-            Set_Minimal_Action (Table.States (202).Minimal_Complete_Actions, 
(1 => (Reduce, 295, 1)));
+            Table.States (202).Minimal_Complete_Action := (Reduce, 295, 1);
             Table.States (203).Productions := WisiToken.To_Vector (((160, 0), 
(324, 2)));
             Add_Action (Table.States (203), 4, 1);
             Add_Action (Table.States (203), 5, 2);
@@ -2330,12 +2310,12 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (203), 303, 101);
             Add_Goto (Table.States (203), 306, 363);
             Add_Goto (Table.States (203), 323, 114);
-            Set_Minimal_Action (Table.States (203).Minimal_Complete_Actions, 
(1 => (Reduce, 300, 0)));
+            Table.States (203).Minimal_Complete_Action := (Reduce, 300, 0);
             Table.States (204).Productions := WisiToken.To_Vector (((152, 0), 
(323, 0)));
             Add_Action (Table.States (204), 22, 365);
             Add_Action (Table.States (204), 43, 366);
             Add_Error (Table.States (204));
-            Set_Minimal_Action (Table.States (204).Minimal_Complete_Actions, 
((Shift, 22, 365), (Shift, 43, 366)));
+            Table.States (204).Minimal_Complete_Action := (Shift, 22, 365);
             Table.States (205).Productions := WisiToken.To_Vector (((128, 0), 
(178, 1), (239, 0), (239, 1), (261, 0),
             (272, 0), (293, 0), (293, 1), (293, 2), (293, 3), (324, 1)));
             Add_Action (Table.States (205), 4, 1);
@@ -2402,8 +2382,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (205), 306, 363);
             Add_Goto (Table.States (205), 322, 242);
             Add_Goto (Table.States (205), 323, 114);
-            Set_Minimal_Action (Table.States (205).Minimal_Complete_Actions, 
((Shift, 84, 237), (Shift, 96, 238),
-            (Shift, 102, 240), (Reduce, 300, 0)));
+            Table.States (205).Minimal_Complete_Action := (Reduce, 300, 0);
             Table.States (206).Productions := WisiToken.To_Vector (((178, 0), 
(324, 0)));
             Add_Action (Table.States (206), 4, 1);
             Add_Action (Table.States (206), 5, 2);
@@ -2462,55 +2441,55 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (206), 303, 101);
             Add_Goto (Table.States (206), 306, 363);
             Add_Goto (Table.States (206), 323, 114);
-            Set_Minimal_Action (Table.States (206).Minimal_Complete_Actions, 
(1 => (Reduce, 300, 0)));
+            Table.States (206).Minimal_Complete_Action := (Reduce, 300, 0);
             Table.States (207).Productions := WisiToken.To_Vector ((1 => (296, 
1)));
             Add_Action (Table.States (207), (22, 24, 43), (296, 1), 1, 
select_alternative_list_1'Access, null);
-            Set_Minimal_Action (Table.States (207).Minimal_Complete_Actions, 
(1 => (Reduce, 296, 1)));
+            Table.States (207).Minimal_Complete_Action := (Reduce, 296, 1);
             Table.States (208).Productions := WisiToken.To_Vector (((296, 0), 
(297, 0)));
             Add_Action (Table.States (208), 22, Reduce, (297, 0), 1, null, 
null);
             Add_Action (Table.States (208), 24, Reduce, (297, 0), 1, null, 
null);
             Add_Action (Table.States (208), 43, 369);
             Add_Error (Table.States (208));
-            Set_Minimal_Action (Table.States (208).Minimal_Complete_Actions, 
(1 => (Reduce, 297, 1)));
+            Table.States (208).Minimal_Complete_Action := (Reduce, 297, 1);
             Table.States (209).Productions := WisiToken.To_Vector (((294, 0), 
(294, 1)));
             Add_Action (Table.States (209), 22, 370);
             Add_Action (Table.States (209), 24, 371);
             Add_Error (Table.States (209));
-            Set_Minimal_Action (Table.States (209).Minimal_Complete_Actions, 
((Shift, 22, 370), (Shift, 24, 371)));
+            Table.States (209).Minimal_Complete_Action := (Shift, 24, 371);
             Table.States (210).Productions := WisiToken.To_Vector ((1 => (126, 
0)));
             Add_Action (Table.States (210), 68, 372);
             Add_Error (Table.States (210));
-            Set_Minimal_Action (Table.States (210).Minimal_Complete_Actions, 
(1 => (Shift, 68, 372)));
+            Table.States (210).Minimal_Complete_Action := (Shift, 68, 372);
             Table.States (211).Productions := WisiToken.To_Vector ((1 => (313, 
0)));
             Add_Action (Table.States (211), 35, 373);
             Add_Error (Table.States (211));
-            Set_Minimal_Action (Table.States (211).Minimal_Complete_Actions, 
(1 => (Shift, 35, 373)));
+            Table.States (211).Minimal_Complete_Action := (Shift, 35, 373);
             Table.States (212).Productions := WisiToken.To_Vector (((316, 0), 
(317, 0)));
             Add_Action (Table.States (212), 104, 374);
             Add_Error (Table.States (212));
-            Set_Minimal_Action (Table.States (212).Minimal_Complete_Actions, 
(1 => (Shift, 104, 374)));
+            Table.States (212).Minimal_Complete_Action := (Shift, 104, 374);
             Table.States (213).Productions := WisiToken.To_Vector (((319, 0), 
(319, 1), (319, 2)));
             Add_Action (Table.States (213), 104, 375);
             Add_Error (Table.States (213));
-            Set_Minimal_Action (Table.States (213).Minimal_Complete_Actions, 
(1 => (Shift, 104, 375)));
+            Table.States (213).Minimal_Complete_Action := (Shift, 104, 375);
             Table.States (214).Productions := WisiToken.To_Vector (((305, 0), 
(305, 1), (305, 2)));
             Add_Action (Table.States (214), 35, Reduce, (122, 1), 0, null, 
null);
             Add_Action (Table.States (214), 74, 337);
             Add_Action (Table.States (214), 96, Reduce, (122, 1), 0, null, 
null);
             Add_Error (Table.States (214));
             Add_Goto (Table.States (214), 122, 376);
-            Set_Minimal_Action (Table.States (214).Minimal_Complete_Actions, 
(1 => (Reduce, 122, 0)));
+            Table.States (214).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (215).Productions := WisiToken.To_Vector (((206, 0), 
(223, 0), (223, 1), (259, 0), (260, 0)));
             Add_Action (Table.States (215), 35, Reduce, (169, 2), 0, null, 
null);
             Add_Action (Table.States (215), 76, 377);
             Add_Action (Table.States (215), 96, Reduce, (169, 2), 0, null, 
null);
             Add_Error (Table.States (215));
             Add_Goto (Table.States (215), 169, 378);
-            Set_Minimal_Action (Table.States (215).Minimal_Complete_Actions, 
(1 => (Reduce, 169, 0)));
+            Table.States (215).Minimal_Complete_Action := (Reduce, 169, 0);
             Table.States (216).Productions := WisiToken.To_Vector ((1 => (331, 
0)));
             Add_Action (Table.States (216), 69, 379);
             Add_Error (Table.States (216));
-            Set_Minimal_Action (Table.States (216).Minimal_Complete_Actions, 
(1 => (Shift, 69, 379)));
+            Table.States (216).Minimal_Complete_Action := (Shift, 69, 379);
             Table.States (217).Productions := WisiToken.To_Vector ((1 => (331, 
1)));
             Add_Action (Table.States (217), 104, 119);
             Add_Action (Table.States (217), 105, 33);
@@ -2521,12 +2500,12 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (217), 239, 219);
             Add_Goto (Table.States (217), 272, 92);
             Add_Goto (Table.States (217), 293, 97);
-            Set_Minimal_Action (Table.States (217).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (217).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (218).Productions := WisiToken.To_Vector (((238, 0), 
(331, 2)));
             Add_Action (Table.States (218), 83, 381);
             Add_Action (Table.States (218), 96, 382);
             Add_Error (Table.States (218));
-            Set_Minimal_Action (Table.States (218).Minimal_Complete_Actions, 
(1 => (Shift, 96, 382)));
+            Table.States (218).Minimal_Complete_Action := (Shift, 96, 382);
             Table.States (219).Productions := WisiToken.To_Vector (((128, 0), 
(238, 1), (239, 0), (239, 1), (272, 0),
             (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (219), 76, 235);
@@ -2538,20 +2517,19 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (219));
             Add_Goto (Table.States (219), 115, 241);
             Add_Goto (Table.States (219), 322, 242);
-            Set_Minimal_Action (Table.States (219).Minimal_Complete_Actions, 
((Shift, 84, 237), (Shift, 102, 240),
-            (Reduce, 238, 1)));
+            Table.States (219).Minimal_Complete_Action := (Reduce, 238, 1);
             Table.States (220).Productions := WisiToken.To_Vector ((1 => (229, 
0)));
             Add_Action (Table.States (220), (1 =>  37), (229, 0), 2, 
iteration_scheme_0'Access, null);
-            Set_Minimal_Action (Table.States (220).Minimal_Complete_Actions, 
(1 => (Reduce, 229, 2)));
+            Table.States (220).Minimal_Complete_Action := (Reduce, 229, 2);
             Table.States (221).Productions := WisiToken.To_Vector (((238, 0), 
(332, 3)));
             Add_Action (Table.States (221), 83, 381);
             Add_Action (Table.States (221), 96, 383);
             Add_Error (Table.States (221));
-            Set_Minimal_Action (Table.States (221).Minimal_Complete_Actions, 
(1 => (Shift, 96, 383)));
+            Table.States (221).Minimal_Complete_Action := (Shift, 96, 383);
             Table.States (222).Productions := WisiToken.To_Vector ((1 => (217, 
0)));
             Add_Action (Table.States (222), 90, 384);
             Add_Error (Table.States (222));
-            Set_Minimal_Action (Table.States (222).Minimal_Complete_Actions, 
(1 => (Shift, 90, 384)));
+            Table.States (222).Minimal_Complete_Action := (Shift, 90, 384);
             Table.States (223).Productions := WisiToken.To_Vector (((131, 0), 
(245, 0), (245, 1), (245, 2)));
             Add_Action (Table.States (223), 7, Reduce, (241, 1), 0, null, 
null);
             Add_Action (Table.States (223), 13, Reduce, (131, 0), 2, 
block_label_0'Access, block_label_0_check'Access);
@@ -2567,8 +2545,7 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (223));
             Add_Goto (Table.States (223), 114, 387);
             Add_Goto (Table.States (223), 241, 388);
-            Set_Minimal_Action (Table.States (223).Minimal_Complete_Actions, 
((Shift, 26, 385), (Reduce, 131, 2),
-            (Reduce, 241, 0)));
+            Table.States (223).Minimal_Complete_Action := (Reduce, 131, 2);
             Table.States (224).Productions := WisiToken.To_Vector ((1 => (133, 
1)));
             Add_Action (Table.States (224), 4, 1);
             Add_Action (Table.States (224), 5, 2);
@@ -2627,7 +2604,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (224), 303, 101);
             Add_Goto (Table.States (224), 306, 363);
             Add_Goto (Table.States (224), 323, 114);
-            Set_Minimal_Action (Table.States (224).Minimal_Complete_Actions, 
(1 => (Reduce, 218, 0)));
+            Table.States (224).Minimal_Complete_Action := (Reduce, 218, 0);
             Table.States (225).Productions := WisiToken.To_Vector ((1 => (133, 
0)));
             Add_Action (Table.States (225), 13, Reduce, (159, 1), 0, null, 
null);
             Add_Action (Table.States (225), 25, Reduce, (246, 2), 0, null, 
null);
@@ -2699,14 +2676,14 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (225), 319, 113);
             Add_Goto (Table.States (225), 325, 115);
             Add_Goto (Table.States (225), 331, 116);
-            Set_Minimal_Action (Table.States (225).Minimal_Complete_Actions, 
(1 => (Reduce, 159, 0)));
+            Table.States (225).Minimal_Complete_Action := (Reduce, 159, 0);
             Table.States (226).Productions := WisiToken.To_Vector ((1 => (229, 
1)));
             Add_Action (Table.States (226), 37, Reduce, (231, 1), 0, null, 
null);
             Add_Action (Table.States (226), 104, 395);
             Add_Error (Table.States (226));
             Add_Goto (Table.States (226), 230, 155);
             Add_Goto (Table.States (226), 231, 156);
-            Set_Minimal_Action (Table.States (226).Minimal_Complete_Actions, 
(1 => (Reduce, 231, 0)));
+            Table.States (226).Minimal_Complete_Action := (Reduce, 231, 0);
             Table.States (227).Productions := WisiToken.To_Vector ((1 => (232, 
1)));
             Add_Action (Table.States (227), 4, 1);
             Add_Action (Table.States (227), 5, 2);
@@ -2763,16 +2740,16 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (227), 303, 101);
             Add_Goto (Table.States (227), 306, 363);
             Add_Goto (Table.States (227), 323, 114);
-            Set_Minimal_Action (Table.States (227).Minimal_Complete_Actions, 
(1 => (Reduce, 300, 0)));
+            Table.States (227).Minimal_Complete_Action := (Reduce, 300, 0);
             Table.States (228).Productions := WisiToken.To_Vector ((1 => (232, 
0)));
             Add_Action (Table.States (228), 37, 397);
             Add_Error (Table.States (228));
-            Set_Minimal_Action (Table.States (228).Minimal_Complete_Actions, 
(1 => (Shift, 37, 397)));
+            Table.States (228).Minimal_Complete_Action := (Shift, 37, 397);
             Table.States (229).Productions := WisiToken.To_Vector ((1 => (143, 
0)));
             Add_Action (Table.States (229), (4, 5, 13, 15, 17, 18, 25, 27, 28, 
29, 30, 31, 32, 36, 37, 40, 41, 46, 47,
-            48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 93, 
104, 105, 106, 107), (143, 0), 2, null,
-            null);
-            Set_Minimal_Action (Table.States (229).Minimal_Complete_Actions, 
(1 => (Reduce, 143, 2)));
+            48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 93, 
104, 105, 106, 107), (143, 0), 2,
+            compilation_unit_list_0'Access, null);
+            Table.States (229).Minimal_Complete_Action := (Reduce, 143, 2);
             Table.States (230).Productions := WisiToken.To_Vector (((251, 0), 
(251, 1)));
             Add_Action (Table.States (230), 104, 119);
             Add_Action (Table.States (230), 105, 33);
@@ -2782,17 +2759,17 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (230), 239, 398);
             Add_Goto (Table.States (230), 272, 92);
             Add_Goto (Table.States (230), 293, 97);
-            Set_Minimal_Action (Table.States (230).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (230).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (231).Productions := WisiToken.To_Vector ((1 => (214, 
0)));
             Add_Action (Table.States (231), 96, 399);
             Add_Error (Table.States (231));
-            Set_Minimal_Action (Table.States (231).Minimal_Complete_Actions, 
(1 => (Shift, 96, 399)));
+            Table.States (231).Minimal_Complete_Action := (Shift, 96, 399);
             Table.States (232).Productions := WisiToken.To_Vector ((1 => (216, 
0)));
             Add_Action (Table.States (232), 74, 337);
             Add_Action (Table.States (232), 96, Reduce, (122, 1), 0, null, 
null);
             Add_Error (Table.States (232));
             Add_Goto (Table.States (232), 122, 400);
-            Set_Minimal_Action (Table.States (232).Minimal_Complete_Actions, 
(1 => (Reduce, 122, 0)));
+            Table.States (232).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (233).Productions := WisiToken.To_Vector (((157, 9), 
(186, 0), (244, 0), (244, 1), (244, 2),
             (244, 3), (244, 4), (244, 5)));
             Add_Action (Table.States (233), 7, Reduce, (118, 1), 0, null, 
null);
@@ -2809,12 +2786,11 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (233), 106, Reduce, (118, 1), 0, null, 
null);
             Add_Error (Table.States (233));
             Add_Goto (Table.States (233), 118, 404);
-            Set_Minimal_Action (Table.States (233).Minimal_Complete_Actions, 
((Shift, 16, 402), (Shift, 26, 403),
-            (Reduce, 118, 0)));
+            Table.States (233).Minimal_Complete_Action := (Shift, 26, 403);
             Table.States (234).Productions := WisiToken.To_Vector ((1 => (219, 
0)));
             Add_Action (Table.States (234), 104, 405);
             Add_Error (Table.States (234));
-            Set_Minimal_Action (Table.States (234).Minimal_Complete_Actions, 
(1 => (Shift, 104, 405)));
+            Table.States (234).Minimal_Complete_Action := (Shift, 104, 405);
             Table.States (235).Productions := WisiToken.To_Vector (((115, 0), 
(115, 1), (239, 0)));
             Add_Action (Table.States (235), 3, 121);
             Add_Action (Table.States (235), 15, 258);
@@ -2866,8 +2842,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (235), 320, 144);
             Add_Goto (Table.States (235), 321, 145);
             Add_Goto (Table.States (235), 330, 146);
-            Set_Minimal_Action (Table.States (235).Minimal_Complete_Actions, 
((Shift, 32, 260), (Shift, 105, 33),
-            (Reduce, 125, 0)));
+            Table.States (235).Minimal_Complete_Action := (Reduce, 125, 0);
             Table.States (236).Productions := WisiToken.To_Vector ((1 => (123, 
0)));
             Add_Action (Table.States (236), 3, 121);
             Add_Action (Table.States (236), 39, 122);
@@ -2903,32 +2878,31 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (236), 320, 144);
             Add_Goto (Table.States (236), 321, 145);
             Add_Goto (Table.States (236), 330, 146);
-            Set_Minimal_Action (Table.States (236).Minimal_Complete_Actions, 
(1 => (Reduce, 192, 0)));
+            Table.States (236).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (237).Productions := WisiToken.To_Vector (((293, 0), 
(293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (237), 9, 412);
             Add_Action (Table.States (237), 104, 413);
             Add_Action (Table.States (237), 105, 414);
             Add_Action (Table.States (237), 106, 415);
             Add_Error (Table.States (237));
-            Set_Minimal_Action (Table.States (237).Minimal_Complete_Actions, 
((Shift, 9, 412), (Shift, 104, 413),
-            (Shift, 105, 414), (Shift, 106, 415)));
+            Table.States (237).Minimal_Complete_Action := (Shift, 104, 413);
             Table.States (238).Productions := WisiToken.To_Vector ((1 => (261, 
0)));
             Add_Action (Table.States (238), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (261, 0), 2, procedure_call_statement_0'Access, null);
-            Set_Minimal_Action (Table.States (238).Minimal_Complete_Actions, 
(1 => (Reduce, 261, 2)));
+            Table.States (238).Minimal_Complete_Action := (Reduce, 261, 2);
             Table.States (239).Productions := WisiToken.To_Vector ((1 => (322, 
0)));
             Add_Action (Table.States (239), (7, 19, 20, 38, 53, 76, 104, 105, 
106), (322, 0), 1, null, null);
-            Set_Minimal_Action (Table.States (239).Minimal_Complete_Actions, 
(1 => (Reduce, 322, 1)));
+            Table.States (239).Minimal_Complete_Action := (Reduce, 322, 1);
             Table.States (240).Productions := WisiToken.To_Vector ((1 => (322, 
1)));
             Add_Action (Table.States (240), (7, 19, 20, 38, 53, 76, 104, 105, 
106), (322, 1), 1, null, null);
-            Set_Minimal_Action (Table.States (240).Minimal_Complete_Actions, 
(1 => (Reduce, 322, 1)));
+            Table.States (240).Minimal_Complete_Action := (Reduce, 322, 1);
             Table.States (241).Productions := WisiToken.To_Vector ((1 => (239, 
1)));
             Add_Action (Table.States (241), (4, 5, 10, 13, 15, 17, 18, 20, 21, 
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
             40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74, 
75, 76, 77, 78, 79, 82, 83, 84, 85, 86, 87,
             88, 89, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 104, 
105, 106), (239, 1), 2, name_1'Access,
             null);
-            Set_Minimal_Action (Table.States (241).Minimal_Complete_Actions, 
(1 => (Reduce, 239, 2)));
+            Table.States (241).Minimal_Complete_Action := (Reduce, 239, 2);
             Table.States (242).Productions := WisiToken.To_Vector (((128, 0), 
(272, 0)));
             Add_Action (Table.States (242), 7, 416);
             Add_Action (Table.States (242), 19, 417);
@@ -2945,11 +2919,11 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (242), 239, 422);
             Add_Goto (Table.States (242), 272, 92);
             Add_Goto (Table.States (242), 293, 97);
-            Set_Minimal_Action (Table.States (242).Minimal_Complete_Actions, 
((Shift, 38, 419), (Shift, 76, 126)));
+            Table.States (242).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (243).Productions := WisiToken.To_Vector (((179, 0), 
(179, 1)));
             Add_Action (Table.States (243), 104, 423);
             Add_Error (Table.States (243));
-            Set_Minimal_Action (Table.States (243).Minimal_Complete_Actions, 
(1 => (Shift, 104, 423)));
+            Table.States (243).Minimal_Complete_Action := (Shift, 104, 423);
             Table.States (244).Productions := WisiToken.To_Vector (((207, 0), 
(213, 2)));
             Add_Action (Table.States (244), 104, 119);
             Add_Action (Table.States (244), 105, 33);
@@ -2959,7 +2933,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (244), 239, 424);
             Add_Goto (Table.States (244), 272, 92);
             Add_Goto (Table.States (244), 293, 97);
-            Set_Minimal_Action (Table.States (244).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (244).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (245).Productions := WisiToken.To_Vector (((213, 1), 
(262, 0)));
             Add_Action (Table.States (245), 104, 119);
             Add_Action (Table.States (245), 105, 33);
@@ -2969,7 +2943,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (245), 239, 425);
             Add_Goto (Table.States (245), 272, 92);
             Add_Goto (Table.States (245), 293, 97);
-            Set_Minimal_Action (Table.States (245).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (245).Minimal_Complete_Action := (Shift, 104, 119);
          end Subr_4;
          procedure Subr_5
          is begin
@@ -2979,14 +2953,14 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (246), 74, Reduce, (312, 1), 1, null, 
subprogram_specification_1_check'Access);
             Add_Action (Table.States (246), 96, Reduce, (312, 1), 1, null, 
subprogram_specification_1_check'Access);
             Add_Error (Table.States (246));
-            Set_Minimal_Action (Table.States (246).Minimal_Complete_Actions, 
((Shift, 35, 426), (Reduce, 312, 1)));
+            Table.States (246).Minimal_Complete_Action := (Reduce, 312, 1);
             Table.States (247).Productions := WisiToken.To_Vector (((243, 0), 
(312, 0)));
             Add_Action (Table.States (247), 35, 427, (312, 0), 1, null, 
subprogram_specification_0_check'Access);
             Add_Action (Table.States (247), 56, Reduce, (312, 0), 1, null, 
subprogram_specification_0_check'Access);
             Add_Action (Table.States (247), 74, Reduce, (312, 0), 1, null, 
subprogram_specification_0_check'Access);
             Add_Action (Table.States (247), 96, Reduce, (312, 0), 1, null, 
subprogram_specification_0_check'Access);
             Add_Error (Table.States (247));
-            Set_Minimal_Action (Table.States (247).Minimal_Complete_Actions, 
((Shift, 35, 427), (Reduce, 312, 1)));
+            Table.States (247).Minimal_Complete_Action := (Reduce, 312, 1);
             Table.States (248).Productions := WisiToken.To_Vector (((112, 0), 
(307, 0), (308, 0), (309, 0), (311, 0)));
             Add_Action (Table.States (248), 35, 428, (122, 1), 0, null, null);
             Add_Action (Table.States (248), 56, 429);
@@ -2994,13 +2968,12 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (248), 96, Reduce, (122, 1), 0, null, 
null);
             Add_Error (Table.States (248));
             Add_Goto (Table.States (248), 122, 430);
-            Set_Minimal_Action (Table.States (248).Minimal_Complete_Actions, 
((Shift, 35, 428), (Shift, 56, 429),
-            (Reduce, 122, 0)));
+            Table.States (248).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (249).Productions := WisiToken.To_Vector ((1 => (249, 
0)));
             Add_Action (Table.States (249), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (249, 0), 2,
             package_declaration_0'Access, null);
-            Set_Minimal_Action (Table.States (249).Minimal_Complete_Actions, 
(1 => (Reduce, 249, 2)));
+            Table.States (249).Minimal_Complete_Action := (Reduce, 249, 2);
             Table.States (250).Productions := WisiToken.To_Vector (((115, 0), 
(115, 1)));
             Add_Action (Table.States (250), 3, 121);
             Add_Action (Table.States (250), 15, 258);
@@ -3051,10 +3024,10 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (250), 320, 144);
             Add_Goto (Table.States (250), 321, 145);
             Add_Goto (Table.States (250), 330, 146);
-            Set_Minimal_Action (Table.States (250).Minimal_Complete_Actions, 
((Shift, 32, 260), (Reduce, 125, 0)));
+            Table.States (250).Minimal_Complete_Action := (Reduce, 125, 0);
             Table.States (251).Productions := WisiToken.To_Vector ((1 => (116, 
0)));
             Add_Action (Table.States (251), (21, 76, 96), (116, 0), 1, null, 
null);
-            Set_Minimal_Action (Table.States (251).Minimal_Complete_Actions, 
(1 => (Reduce, 116, 1)));
+            Table.States (251).Minimal_Complete_Action := (Reduce, 116, 1);
             Table.States (252).Productions := WisiToken.To_Vector (((113, 0), 
(113, 1)));
             Add_Action (Table.States (252), 21, Reduce, (253, 1), 0, null, 
null);
             Add_Action (Table.States (252), 76, 431);
@@ -3062,16 +3035,16 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (252));
             Add_Goto (Table.States (252), 199, 344);
             Add_Goto (Table.States (252), 253, 432);
-            Set_Minimal_Action (Table.States (252).Minimal_Complete_Actions, 
(1 => (Reduce, 253, 0)));
+            Table.States (252).Minimal_Complete_Action := (Reduce, 253, 0);
             Table.States (253).Productions := WisiToken.To_Vector ((1 => (303, 
8)));
             Add_Action (Table.States (253), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (303, 8), 3, simple_statement_8'Access, null);
-            Set_Minimal_Action (Table.States (253).Minimal_Complete_Actions, 
(1 => (Reduce, 303, 3)));
+            Table.States (253).Minimal_Complete_Action := (Reduce, 303, 3);
             Table.States (254).Productions := WisiToken.To_Vector ((1 => (197, 
2)));
             Add_Action (Table.States (254), (10, 20, 21, 22, 23, 33, 35, 37, 
38, 40, 42, 43, 53, 55, 68, 74, 75, 77,
             78, 79, 82, 83, 85, 86, 87, 88, 89, 91, 92, 94, 95, 96, 97, 98, 
99), (197, 2), 2, null, null);
-            Set_Minimal_Action (Table.States (254).Minimal_Complete_Actions, 
(1 => (Reduce, 197, 2)));
+            Table.States (254).Minimal_Complete_Action := (Reduce, 197, 2);
             Table.States (255).Productions := WisiToken.To_Vector (((128, 0), 
(239, 0), (239, 1), (258, 4), (272, 0),
             (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (255), 10, Reduce, (258, 4), 2, 
primary_4'Access, null);
@@ -3117,12 +3090,11 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (255));
             Add_Goto (Table.States (255), 115, 241);
             Add_Goto (Table.States (255), 322, 242);
-            Set_Minimal_Action (Table.States (255).Minimal_Complete_Actions, 
((Shift, 84, 237), (Shift, 102, 240),
-            (Reduce, 258, 2)));
+            Table.States (255).Minimal_Complete_Action := (Reduce, 258, 2);
             Table.States (256).Productions := WisiToken.To_Vector ((1 => (197, 
3)));
             Add_Action (Table.States (256), (10, 20, 21, 22, 23, 33, 35, 37, 
38, 40, 42, 43, 53, 55, 68, 74, 75, 77,
             78, 79, 82, 83, 85, 86, 87, 88, 89, 91, 92, 94, 95, 96, 97, 98, 
99), (197, 3), 2, null, null);
-            Set_Minimal_Action (Table.States (256).Minimal_Complete_Actions, 
(1 => (Reduce, 197, 2)));
+            Table.States (256).Minimal_Complete_Action := (Reduce, 197, 2);
             Table.States (257).Productions := WisiToken.To_Vector (((128, 0), 
(239, 0), (239, 1), (272, 0), (275, 0),
             (275, 1), (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (257), 10, Reduce, (275, 1), 2, null, 
null);
@@ -3149,8 +3121,7 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (257));
             Add_Goto (Table.States (257), 115, 241);
             Add_Goto (Table.States (257), 322, 242);
-            Set_Minimal_Action (Table.States (257).Minimal_Complete_Actions, 
((Shift, 84, 237), (Shift, 102, 240),
-            (Reduce, 275, 2)));
+            Table.States (257).Minimal_Complete_Action := (Reduce, 275, 2);
             Table.States (258).Productions := WisiToken.To_Vector ((1 => (136, 
0)));
             Add_Action (Table.States (258), 3, 121);
             Add_Action (Table.States (258), 35, Reduce, (192, 1), 0, null, 
null);
@@ -3186,13 +3157,13 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (258), 320, 144);
             Add_Goto (Table.States (258), 321, 145);
             Add_Goto (Table.States (258), 330, 146);
-            Set_Minimal_Action (Table.States (258).Minimal_Complete_Actions, 
(1 => (Reduce, 192, 0)));
+            Table.States (258).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (259).Productions := WisiToken.To_Vector ((1 => (273, 
0)));
             Add_Action (Table.States (259), 9, 435);
             Add_Action (Table.States (259), 62, 436);
             Add_Error (Table.States (259));
             Add_Goto (Table.States (259), 274, 437);
-            Set_Minimal_Action (Table.States (259).Minimal_Complete_Actions, 
(1 => (Shift, 62, 436)));
+            Table.States (259).Minimal_Complete_Action := (Shift, 9, 435);
             Table.States (260).Productions := WisiToken.To_Vector (((221, 0), 
(221, 1), (221, 2), (221, 3)));
             Add_Action (Table.States (260), 3, 121);
             Add_Action (Table.States (260), 39, 122);
@@ -3228,7 +3199,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (260), 320, 144);
             Add_Goto (Table.States (260), 321, 145);
             Add_Goto (Table.States (260), 330, 146);
-            Set_Minimal_Action (Table.States (260).Minimal_Complete_Actions, 
(1 => (Reduce, 192, 0)));
+            Table.States (260).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (261).Productions := WisiToken.To_Vector (((165, 1), 
(197, 3)));
             Add_Action (Table.States (261), 39, 122);
             Add_Action (Table.States (261), 41, 439);
@@ -3244,7 +3215,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (261), 258, 256);
             Add_Goto (Table.States (261), 272, 92);
             Add_Goto (Table.States (261), 293, 97);
-            Set_Minimal_Action (Table.States (261).Minimal_Complete_Actions, 
((Shift, 41, 439), (Shift, 105, 33)));
+            Table.States (261).Minimal_Complete_Action := (Shift, 103, 129);
             Table.States (262).Productions := WisiToken.To_Vector (((117, 2), 
(258, 1)));
             Add_Action (Table.States (262), 10, Reduce, (258, 1), 1, null, 
null);
             Add_Action (Table.States (262), 33, Reduce, (258, 1), 1, null, 
null);
@@ -3273,10 +3244,10 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (262), 99, Reduce, (258, 1), 1, null, 
null);
             Add_Action (Table.States (262), 100, Reduce, (258, 1), 1, null, 
null);
             Add_Error (Table.States (262));
-            Set_Minimal_Action (Table.States (262).Minimal_Complete_Actions, 
((Shift, 54, 440), (Reduce, 258, 1)));
+            Table.States (262).Minimal_Complete_Action := (Reduce, 258, 1);
             Table.States (263).Productions := WisiToken.To_Vector ((1 => (165, 
3)));
             Add_Action (Table.States (263), (79, 87), (165, 3), 1, null, null);
-            Set_Minimal_Action (Table.States (263).Minimal_Complete_Actions, 
(1 => (Reduce, 165, 1)));
+            Table.States (263).Minimal_Complete_Action := (Reduce, 165, 1);
             Table.States (264).Productions := WisiToken.To_Vector (((124, 0), 
(124, 1), (239, 6)));
             Add_Action (Table.States (264), 10, Reduce, (239, 6), 1, null, 
null);
             Add_Action (Table.States (264), 33, Reduce, (239, 6), 1, null, 
null);
@@ -3311,30 +3282,30 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (264), 101, Reduce, (239, 6), 1, null, 
null);
             Add_Action (Table.States (264), 102, Reduce, (239, 6), 1, null, 
null);
             Add_Error (Table.States (264));
-            Set_Minimal_Action (Table.States (264).Minimal_Complete_Actions, 
(1 => (Reduce, 239, 1)));
+            Table.States (264).Minimal_Complete_Action := (Reduce, 239, 1);
             Table.States (265).Productions := WisiToken.To_Vector ((1 => (125, 
1)));
             Add_Action (Table.States (265), (35, 77, 83, 96), (125, 1), 1, 
null, null);
-            Set_Minimal_Action (Table.States (265).Minimal_Complete_Actions, 
(1 => (Reduce, 125, 1)));
+            Table.States (265).Minimal_Complete_Action := (Reduce, 125, 1);
             Table.States (266).Productions := WisiToken.To_Vector (((117, 4), 
(125, 0)));
             Add_Action (Table.States (266), 77, 442);
             Add_Action (Table.States (266), 83, 443);
             Add_Error (Table.States (266));
-            Set_Minimal_Action (Table.States (266).Minimal_Complete_Actions, 
(1 => (Shift, 77, 442)));
+            Table.States (266).Minimal_Complete_Action := (Shift, 77, 442);
             Table.States (267).Productions := WisiToken.To_Vector ((1 => (153, 
1)));
             Add_Action (Table.States (267), (1 =>  77), (153, 1), 1, null, 
null);
-            Set_Minimal_Action (Table.States (267).Minimal_Complete_Actions, 
(1 => (Reduce, 153, 1)));
+            Table.States (267).Minimal_Complete_Action := (Reduce, 153, 1);
             Table.States (268).Productions := WisiToken.To_Vector ((1 => (117, 
3)));
             Add_Action (Table.States (268), 77, 444);
             Add_Error (Table.States (268));
-            Set_Minimal_Action (Table.States (268).Minimal_Complete_Actions, 
(1 => (Shift, 77, 444)));
+            Table.States (268).Minimal_Complete_Action := (Shift, 77, 444);
             Table.States (269).Productions := WisiToken.To_Vector ((1 => (166, 
1)));
             Add_Action (Table.States (269), (79, 87), (166, 1), 1, null, null);
-            Set_Minimal_Action (Table.States (269).Minimal_Complete_Actions, 
(1 => (Reduce, 166, 1)));
+            Table.States (269).Minimal_Complete_Action := (Reduce, 166, 1);
             Table.States (270).Productions := WisiToken.To_Vector (((124, 2), 
(124, 3), (166, 0)));
             Add_Action (Table.States (270), 79, 445);
             Add_Action (Table.States (270), 87, 446);
             Add_Error (Table.States (270));
-            Set_Minimal_Action (Table.States (270).Minimal_Complete_Actions, 
(1 => (Shift, 87, 446)));
+            Table.States (270).Minimal_Complete_Action := (Shift, 87, 446);
             Table.States (271).Productions := WisiToken.To_Vector (((124, 4), 
(165, 0), (192, 0)));
             Add_Action (Table.States (271), 74, Reduce, (192, 0), 1, null, 
null);
             Add_Action (Table.States (271), 77, Reduce, (124, 4), 1, 
association_opt_4'Access, null, (192, 0), 1, null,
@@ -3343,15 +3314,14 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (271), 83, Reduce, (124, 4), 1, 
association_opt_4'Access, null);
             Add_Action (Table.States (271), 87, Reduce, (165, 0), 1, null, 
null);
             Add_Error (Table.States (271));
-            Set_Minimal_Action (Table.States (271).Minimal_Complete_Actions, 
((Reduce, 124, 1), (Reduce, 165, 1),
-            (Reduce, 192, 1)));
+            Table.States (271).Minimal_Complete_Action := (Reduce, 124, 1);
             Table.States (272).Productions := WisiToken.To_Vector (((117, 0), 
(117, 1)));
             Add_Action (Table.States (272), 74, 447);
             Add_Error (Table.States (272));
-            Set_Minimal_Action (Table.States (272).Minimal_Complete_Actions, 
(1 => (Shift, 74, 447)));
+            Table.States (272).Minimal_Complete_Action := (Shift, 74, 447);
             Table.States (273).Productions := WisiToken.To_Vector ((1 => (153, 
0)));
             Add_Action (Table.States (273), (1 =>  77), (153, 0), 1, null, 
null);
-            Set_Minimal_Action (Table.States (273).Minimal_Complete_Actions, 
(1 => (Reduce, 153, 1)));
+            Table.States (273).Minimal_Complete_Action := (Reduce, 153, 1);
             Table.States (274).Productions := WisiToken.To_Vector (((128, 0), 
(239, 0), (239, 1), (258, 3), (272, 0),
             (277, 0), (277, 1), (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (274), 10, Reduce, (258, 3), 1, null, 
null);
@@ -3395,14 +3365,13 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (274));
             Add_Goto (Table.States (274), 115, 241);
             Add_Goto (Table.States (274), 322, 448);
-            Set_Minimal_Action (Table.States (274).Minimal_Complete_Actions, 
((Shift, 84, 237), (Shift, 102, 240),
-            (Reduce, 258, 1)));
+            Table.States (274).Minimal_Complete_Action := (Reduce, 258, 1);
             Table.States (275).Productions := WisiToken.To_Vector ((1 => (153, 
2)));
             Add_Action (Table.States (275), (1 =>  77), (153, 2), 1, null, 
null);
-            Set_Minimal_Action (Table.States (275).Minimal_Complete_Actions, 
(1 => (Reduce, 153, 1)));
+            Table.States (275).Minimal_Complete_Action := (Reduce, 153, 1);
             Table.States (276).Productions := WisiToken.To_Vector ((1 => (165, 
2)));
             Add_Action (Table.States (276), (79, 87), (165, 2), 1, null, null);
-            Set_Minimal_Action (Table.States (276).Minimal_Complete_Actions, 
(1 => (Reduce, 165, 1)));
+            Table.States (276).Minimal_Complete_Action := (Reduce, 165, 1);
             Table.States (277).Productions := WisiToken.To_Vector (((277, 2), 
(287, 0), (287, 1), (287, 2), (287, 3)));
             Add_Action (Table.States (277), 10, Reduce, (287, 3), 1, null, 
null);
             Add_Action (Table.States (277), 33, 288);
@@ -3425,13 +3394,13 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (277), 98, 295);
             Add_Error (Table.States (277));
             Add_Goto (Table.States (277), 288, 296);
-            Set_Minimal_Action (Table.States (277).Minimal_Complete_Actions, 
((Shift, 85, 449), (Reduce, 287, 1)));
+            Table.States (277).Minimal_Complete_Action := (Reduce, 287, 1);
             Table.States (278).Productions := WisiToken.To_Vector ((1 => (139, 
0)));
             Add_Action (Table.States (278), 72, 450);
             Add_Error (Table.States (278));
             Add_Goto (Table.States (278), 140, 451);
             Add_Goto (Table.States (278), 141, 452);
-            Set_Minimal_Action (Table.States (278).Minimal_Complete_Actions, 
(1 => (Shift, 72, 450)));
+            Table.States (278).Minimal_Complete_Action := (Shift, 72, 450);
             Table.States (279).Productions := WisiToken.To_Vector ((1 => (197, 
0)));
             Add_Action (Table.States (279), 39, 122);
             Add_Action (Table.States (279), 41, 124);
@@ -3447,7 +3416,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (279), 258, 453);
             Add_Goto (Table.States (279), 272, 92);
             Add_Goto (Table.States (279), 293, 97);
-            Set_Minimal_Action (Table.States (279).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (279).Minimal_Complete_Action := (Shift, 103, 129);
             Table.States (280).Productions := WisiToken.To_Vector ((1 => (282, 
0)));
             Add_Action (Table.States (280), 3, 121);
             Add_Action (Table.States (280), 39, 122);
@@ -3475,11 +3444,11 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (280), 320, 144);
             Add_Goto (Table.States (280), 321, 145);
             Add_Goto (Table.States (280), 330, 146);
-            Set_Minimal_Action (Table.States (280).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (280).Minimal_Complete_Action := (Shift, 103, 129);
             Table.States (281).Productions := WisiToken.To_Vector ((1 => (283, 
0)));
             Add_Action (Table.States (281), 68, 455);
             Add_Error (Table.States (281));
-            Set_Minimal_Action (Table.States (281).Minimal_Complete_Actions, 
(1 => (Shift, 68, 455)));
+            Table.States (281).Minimal_Complete_Action := (Shift, 68, 455);
             Table.States (282).Productions := WisiToken.To_Vector ((1 => (284, 
0)));
             Add_Action (Table.States (282), 3, 121);
             Add_Action (Table.States (282), 39, 122);
@@ -3507,11 +3476,11 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (282), 320, 144);
             Add_Goto (Table.States (282), 321, 145);
             Add_Goto (Table.States (282), 330, 146);
-            Set_Minimal_Action (Table.States (282).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (282).Minimal_Complete_Action := (Shift, 103, 129);
             Table.States (283).Productions := WisiToken.To_Vector ((1 => (285, 
0)));
             Add_Action (Table.States (283), 22, 457);
             Add_Error (Table.States (283));
-            Set_Minimal_Action (Table.States (283).Minimal_Complete_Actions, 
(1 => (Shift, 22, 457)));
+            Table.States (283).Minimal_Complete_Action := (Shift, 22, 457);
             Table.States (284).Productions := WisiToken.To_Vector ((1 => (286, 
0)));
             Add_Action (Table.States (284), 3, 121);
             Add_Action (Table.States (284), 39, 122);
@@ -3539,7 +3508,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (284), 320, 144);
             Add_Goto (Table.States (284), 321, 145);
             Add_Goto (Table.States (284), 330, 146);
-            Set_Minimal_Action (Table.States (284).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (284).Minimal_Complete_Action := (Shift, 103, 129);
             Table.States (285).Productions := WisiToken.To_Vector (((282, 1), 
(283, 1)));
             Add_Action (Table.States (285), 3, 121);
             Add_Action (Table.States (285), 39, 122);
@@ -3568,7 +3537,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (285), 320, 144);
             Add_Goto (Table.States (285), 321, 145);
             Add_Goto (Table.States (285), 330, 146);
-            Set_Minimal_Action (Table.States (285).Minimal_Complete_Actions, 
((Shift, 68, 459), (Shift, 105, 33)));
+            Table.States (285).Minimal_Complete_Action := (Shift, 103, 129);
             Table.States (286).Productions := WisiToken.To_Vector (((284, 1), 
(285, 1)));
             Add_Action (Table.States (286), 3, 121);
             Add_Action (Table.States (286), 22, 461);
@@ -3597,7 +3566,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (286), 320, 144);
             Add_Goto (Table.States (286), 321, 145);
             Add_Goto (Table.States (286), 330, 146);
-            Set_Minimal_Action (Table.States (286).Minimal_Complete_Actions, 
((Shift, 22, 461), (Shift, 105, 33)));
+            Table.States (286).Minimal_Complete_Action := (Shift, 103, 129);
             Table.States (287).Productions := WisiToken.To_Vector ((1 => (286, 
1)));
             Add_Action (Table.States (287), 3, 121);
             Add_Action (Table.States (287), 39, 122);
@@ -3625,7 +3594,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (287), 320, 144);
             Add_Goto (Table.States (287), 321, 145);
             Add_Goto (Table.States (287), 330, 146);
-            Set_Minimal_Action (Table.States (287).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (287).Minimal_Complete_Action := (Shift, 103, 129);
          end Subr_5;
          procedure Subr_6
          is begin
@@ -3656,29 +3625,29 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (288), 320, 144);
             Add_Goto (Table.States (288), 321, 145);
             Add_Goto (Table.States (288), 330, 146);
-            Set_Minimal_Action (Table.States (288).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (288).Minimal_Complete_Action := (Shift, 103, 129);
             Table.States (289).Productions := WisiToken.To_Vector ((1 => (287, 
0)));
             Add_Action (Table.States (289), 33, 468);
             Add_Error (Table.States (289));
-            Set_Minimal_Action (Table.States (289).Minimal_Complete_Actions, 
(1 => (Shift, 33, 468)));
+            Table.States (289).Minimal_Complete_Action := (Shift, 33, 468);
             Table.States (290).Productions := WisiToken.To_Vector ((1 => (288, 
0)));
             Add_Action (Table.States (290), (3, 39, 40, 41, 76, 94, 95, 103, 
104, 105, 106), (288, 0), 1, null, null);
-            Set_Minimal_Action (Table.States (290).Minimal_Complete_Actions, 
(1 => (Reduce, 288, 1)));
+            Table.States (290).Minimal_Complete_Action := (Reduce, 288, 1);
             Table.States (291).Productions := WisiToken.To_Vector ((1 => (288, 
4)));
             Add_Action (Table.States (291), (3, 39, 40, 41, 76, 94, 95, 103, 
104, 105, 106), (288, 4), 1, null, null);
-            Set_Minimal_Action (Table.States (291).Minimal_Complete_Actions, 
(1 => (Reduce, 288, 1)));
+            Table.States (291).Minimal_Complete_Action := (Reduce, 288, 1);
             Table.States (292).Productions := WisiToken.To_Vector ((1 => (288, 
5)));
             Add_Action (Table.States (292), (3, 39, 40, 41, 76, 94, 95, 103, 
104, 105, 106), (288, 5), 1, null, null);
-            Set_Minimal_Action (Table.States (292).Minimal_Complete_Actions, 
(1 => (Reduce, 288, 1)));
+            Table.States (292).Minimal_Complete_Action := (Reduce, 288, 1);
             Table.States (293).Productions := WisiToken.To_Vector ((1 => (288, 
2)));
             Add_Action (Table.States (293), (3, 39, 40, 41, 76, 94, 95, 103, 
104, 105, 106), (288, 2), 1, null, null);
-            Set_Minimal_Action (Table.States (293).Minimal_Complete_Actions, 
(1 => (Reduce, 288, 1)));
+            Table.States (293).Minimal_Complete_Action := (Reduce, 288, 1);
             Table.States (294).Productions := WisiToken.To_Vector ((1 => (288, 
3)));
             Add_Action (Table.States (294), (3, 39, 40, 41, 76, 94, 95, 103, 
104, 105, 106), (288, 3), 1, null, null);
-            Set_Minimal_Action (Table.States (294).Minimal_Complete_Actions, 
(1 => (Reduce, 288, 1)));
+            Table.States (294).Minimal_Complete_Action := (Reduce, 288, 1);
             Table.States (295).Productions := WisiToken.To_Vector ((1 => (288, 
1)));
             Add_Action (Table.States (295), (3, 39, 40, 41, 76, 94, 95, 103, 
104, 105, 106), (288, 1), 1, null, null);
-            Set_Minimal_Action (Table.States (295).Minimal_Complete_Actions, 
(1 => (Reduce, 288, 1)));
+            Table.States (295).Minimal_Complete_Action := (Reduce, 288, 1);
             Table.States (296).Productions := WisiToken.To_Vector ((1 => (287, 
2)));
             Add_Action (Table.States (296), 3, 121);
             Add_Action (Table.States (296), 39, 122);
@@ -3703,19 +3672,19 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (296), 320, 144);
             Add_Goto (Table.States (296), 321, 145);
             Add_Goto (Table.States (296), 330, 146);
-            Set_Minimal_Action (Table.States (296).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (296).Minimal_Complete_Action := (Shift, 103, 129);
             Table.States (297).Productions := WisiToken.To_Vector ((1 => (237, 
2)));
             Add_Action (Table.States (297), (3, 39, 40, 41, 76, 103, 104, 105, 
106), (237, 2), 1, null, null);
-            Set_Minimal_Action (Table.States (297).Minimal_Complete_Actions, 
(1 => (Reduce, 237, 1)));
+            Table.States (297).Minimal_Complete_Action := (Reduce, 237, 1);
             Table.States (298).Productions := WisiToken.To_Vector ((1 => (237, 
3)));
             Add_Action (Table.States (298), (3, 39, 40, 41, 76, 103, 104, 105, 
106), (237, 3), 1, null, null);
-            Set_Minimal_Action (Table.States (298).Minimal_Complete_Actions, 
(1 => (Reduce, 237, 1)));
+            Table.States (298).Minimal_Complete_Action := (Reduce, 237, 1);
             Table.States (299).Productions := WisiToken.To_Vector ((1 => (237, 
1)));
             Add_Action (Table.States (299), (3, 39, 40, 41, 76, 103, 104, 105, 
106), (237, 1), 1, null, null);
-            Set_Minimal_Action (Table.States (299).Minimal_Complete_Actions, 
(1 => (Reduce, 237, 1)));
+            Table.States (299).Minimal_Complete_Action := (Reduce, 237, 1);
             Table.States (300).Productions := WisiToken.To_Vector ((1 => (237, 
0)));
             Add_Action (Table.States (300), (3, 39, 40, 41, 76, 103, 104, 105, 
106), (237, 0), 1, null, null);
-            Set_Minimal_Action (Table.States (300).Minimal_Complete_Actions, 
(1 => (Reduce, 237, 1)));
+            Table.States (300).Minimal_Complete_Action := (Reduce, 237, 1);
             Table.States (301).Productions := WisiToken.To_Vector ((1 => (320, 
0)));
             Add_Action (Table.States (301), 3, 121);
             Add_Action (Table.States (301), 39, 122);
@@ -3734,16 +3703,16 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (301), 258, 135);
             Add_Goto (Table.States (301), 272, 92);
             Add_Goto (Table.States (301), 293, 97);
-            Set_Minimal_Action (Table.States (301).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (301).Minimal_Complete_Action := (Shift, 103, 129);
             Table.States (302).Productions := WisiToken.To_Vector ((1 => (130, 
2)));
             Add_Action (Table.States (302), (3, 39, 40, 41, 76, 103, 104, 105, 
106), (130, 2), 1, null, null);
-            Set_Minimal_Action (Table.States (302).Minimal_Complete_Actions, 
(1 => (Reduce, 130, 1)));
+            Table.States (302).Minimal_Complete_Action := (Reduce, 130, 1);
             Table.States (303).Productions := WisiToken.To_Vector ((1 => (130, 
1)));
             Add_Action (Table.States (303), (3, 39, 40, 41, 76, 103, 104, 105, 
106), (130, 1), 1, null, null);
-            Set_Minimal_Action (Table.States (303).Minimal_Complete_Actions, 
(1 => (Reduce, 130, 1)));
+            Table.States (303).Minimal_Complete_Action := (Reduce, 130, 1);
             Table.States (304).Productions := WisiToken.To_Vector ((1 => (130, 
0)));
             Add_Action (Table.States (304), (3, 39, 40, 41, 76, 103, 104, 105, 
106), (130, 0), 1, null, null);
-            Set_Minimal_Action (Table.States (304).Minimal_Complete_Actions, 
(1 => (Reduce, 130, 1)));
+            Table.States (304).Minimal_Complete_Action := (Reduce, 130, 1);
             Table.States (305).Productions := WisiToken.To_Vector ((1 => (321, 
0)));
             Add_Action (Table.States (305), 3, 121);
             Add_Action (Table.States (305), 39, 122);
@@ -3763,7 +3732,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (305), 272, 92);
             Add_Goto (Table.States (305), 293, 97);
             Add_Goto (Table.States (305), 320, 471);
-            Set_Minimal_Action (Table.States (305).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (305).Minimal_Complete_Action := (Shift, 103, 129);
             Table.States (306).Productions := WisiToken.To_Vector (((301, 0), 
(321, 0)));
             Add_Action (Table.States (306), 10, Reduce, (301, 0), 2, null, 
null);
             Add_Action (Table.States (306), 20, Reduce, (301, 0), 2, null, 
null);
@@ -3798,16 +3767,16 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (306), 98, Reduce, (301, 0), 2, null, 
null);
             Add_Error (Table.States (306));
             Add_Goto (Table.States (306), 130, 305);
-            Set_Minimal_Action (Table.States (306).Minimal_Complete_Actions, 
(1 => (Reduce, 301, 2)));
+            Table.States (306).Minimal_Complete_Action := (Reduce, 301, 2);
             Table.States (307).Productions := WisiToken.To_Vector ((1 => (161, 
0)));
             Add_Action (Table.States (307), 96, 472);
             Add_Error (Table.States (307));
-            Set_Minimal_Action (Table.States (307).Minimal_Complete_Actions, 
(1 => (Shift, 96, 472)));
+            Table.States (307).Minimal_Complete_Action := (Shift, 96, 472);
             Table.States (308).Productions := WisiToken.To_Vector ((1 => (161, 
1)));
             Add_Action (Table.States (308), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (161, 1), 3, delay_statement_1'Access, null);
-            Set_Minimal_Action (Table.States (308).Minimal_Complete_Actions, 
(1 => (Reduce, 161, 3)));
+            Table.States (308).Minimal_Complete_Action := (Reduce, 161, 3);
             Table.States (309).Productions := WisiToken.To_Vector ((1 => (190, 
0)));
             Add_Action (Table.States (309), 3, 121);
             Add_Action (Table.States (309), 39, 122);
@@ -3843,12 +3812,12 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (309), 320, 144);
             Add_Goto (Table.States (309), 321, 145);
             Add_Goto (Table.States (309), 330, 146);
-            Set_Minimal_Action (Table.States (309).Minimal_Complete_Actions, 
(1 => (Reduce, 192, 0)));
+            Table.States (309).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (310).Productions := WisiToken.To_Vector ((1 => (190, 
1)));
             Add_Action (Table.States (310), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (190, 1), 3, exit_statement_1'Access, null);
-            Set_Minimal_Action (Table.States (310).Minimal_Complete_Actions, 
(1 => (Reduce, 190, 3)));
+            Table.States (310).Minimal_Complete_Action := (Reduce, 190, 3);
             Table.States (311).Productions := WisiToken.To_Vector (((230, 2), 
(230, 5)));
             Add_Action (Table.States (311), 3, 121);
             Add_Action (Table.States (311), 39, 122);
@@ -3877,7 +3846,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (311), 320, 144);
             Add_Goto (Table.States (311), 321, 145);
             Add_Goto (Table.States (311), 330, 146);
-            Set_Minimal_Action (Table.States (311).Minimal_Complete_Actions, 
((Shift, 59, 475), (Shift, 105, 33)));
+            Table.States (311).Minimal_Complete_Action := (Shift, 40, 474);
             Table.States (312).Productions := WisiToken.To_Vector (((230, 3), 
(230, 4)));
             Add_Action (Table.States (312), 59, 481);
             Add_Action (Table.States (312), 104, 119);
@@ -3888,7 +3857,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (312), 239, 482);
             Add_Goto (Table.States (312), 272, 92);
             Add_Goto (Table.States (312), 293, 97);
-            Set_Minimal_Action (Table.States (312).Minimal_Complete_Actions, 
((Shift, 59, 481), (Shift, 105, 33)));
+            Table.States (312).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (313).Productions := WisiToken.To_Vector (((230, 0), 
(230, 1)));
             Add_Action (Table.States (313), 40, 483);
             Add_Action (Table.States (313), 104, 119);
@@ -3900,7 +3869,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (313), 272, 92);
             Add_Goto (Table.States (313), 293, 97);
             Add_Goto (Table.States (313), 314, 485);
-            Set_Minimal_Action (Table.States (313).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (313).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (314).Productions := WisiToken.To_Vector ((1 => (121, 
0)));
             Add_Action (Table.States (314), 3, 121);
             Add_Action (Table.States (314), 39, 122);
@@ -3936,17 +3905,17 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (314), 320, 144);
             Add_Goto (Table.States (314), 321, 145);
             Add_Goto (Table.States (314), 330, 146);
-            Set_Minimal_Action (Table.States (314).Minimal_Complete_Actions, 
(1 => (Reduce, 192, 0)));
+            Table.States (314).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (315).Productions := WisiToken.To_Vector ((1 => (127, 
0)));
             Add_Action (Table.States (315), 12, 487);
             Add_Error (Table.States (315));
-            Set_Minimal_Action (Table.States (315).Minimal_Complete_Actions, 
(1 => (Shift, 12, 487)));
+            Table.States (315).Minimal_Complete_Action := (Shift, 12, 487);
             Table.States (316).Productions := WisiToken.To_Vector (((182, 0), 
(281, 0)));
             Add_Action (Table.States (316), 54, 488);
             Add_Action (Table.States (316), 76, 126);
             Add_Error (Table.States (316));
             Add_Goto (Table.States (316), 117, 489);
-            Set_Minimal_Action (Table.States (316).Minimal_Complete_Actions, 
((Shift, 54, 488), (Shift, 76, 126)));
+            Table.States (316).Minimal_Complete_Action := (Shift, 76, 126);
             Table.States (317).Productions := WisiToken.To_Vector (((291, 0), 
(291, 1)));
             Add_Action (Table.States (317), 7, Reduce, (241, 1), 0, null, 
null);
             Add_Action (Table.States (317), 21, Reduce, (241, 1), 0, null, 
null);
@@ -3963,7 +3932,7 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (317));
             Add_Goto (Table.States (317), 114, 490);
             Add_Goto (Table.States (317), 241, 491);
-            Set_Minimal_Action (Table.States (317).Minimal_Complete_Actions, 
(1 => (Reduce, 241, 0)));
+            Table.States (317).Minimal_Complete_Action := (Reduce, 241, 0);
             Table.States (318).Productions := WisiToken.To_Vector (((115, 0), 
(115, 1), (199, 0), (239, 0)));
             Add_Action (Table.States (318), 3, 121);
             Add_Action (Table.States (318), 15, 258);
@@ -4019,20 +3988,19 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (318), 320, 144);
             Add_Goto (Table.States (318), 321, 145);
             Add_Goto (Table.States (318), 330, 146);
-            Set_Minimal_Action (Table.States (318).Minimal_Complete_Actions, 
((Shift, 32, 260), (Shift, 105, 33),
-            (Reduce, 125, 0), (Reduce, 255, 0)));
+            Table.States (318).Minimal_Complete_Action := (Reduce, 125, 0);
             Table.States (319).Productions := WisiToken.To_Vector ((1 => (252, 
0)));
             Add_Action (Table.States (319), 58, 317);
             Add_Error (Table.States (319));
             Add_Goto (Table.States (319), 291, 496);
-            Set_Minimal_Action (Table.States (319).Minimal_Complete_Actions, 
(1 => (Shift, 58, 317)));
+            Table.States (319).Minimal_Complete_Action := (Shift, 58, 317);
             Table.States (320).Productions := WisiToken.To_Vector ((1 => (207, 
0)));
             Add_Action (Table.States (320), (35, 56, 74, 96), (207, 0), 3, 
function_specification_0'Access,
             function_specification_0_check'Access);
-            Set_Minimal_Action (Table.States (320).Minimal_Complete_Actions, 
(1 => (Reduce, 207, 3)));
+            Table.States (320).Minimal_Complete_Action := (Reduce, 207, 3);
             Table.States (321).Productions := WisiToken.To_Vector ((1 => (252, 
1)));
             Add_Action (Table.States (321), (21, 35, 56, 74, 77, 82, 96), 
(252, 1), 1, null, null);
-            Set_Minimal_Action (Table.States (321).Minimal_Complete_Actions, 
(1 => (Reduce, 252, 1)));
+            Table.States (321).Minimal_Complete_Action := (Reduce, 252, 1);
             Table.States (322).Productions := WisiToken.To_Vector (((128, 0), 
(215, 2), (239, 0), (239, 1), (272, 0),
             (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (322), 56, 497);
@@ -4043,8 +4011,7 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (322));
             Add_Goto (Table.States (322), 115, 241);
             Add_Goto (Table.States (322), 322, 242);
-            Set_Minimal_Action (Table.States (322).Minimal_Complete_Actions, 
((Shift, 56, 497), (Shift, 84, 237),
-            (Shift, 102, 240)));
+            Table.States (322).Minimal_Complete_Action := (Shift, 56, 497);
             Table.States (323).Productions := WisiToken.To_Vector (((128, 0), 
(215, 0), (239, 0), (239, 1), (272, 0),
             (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (323), 56, 498);
@@ -4055,8 +4022,7 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (323));
             Add_Goto (Table.States (323), 115, 241);
             Add_Goto (Table.States (323), 322, 242);
-            Set_Minimal_Action (Table.States (323).Minimal_Complete_Actions, 
((Shift, 56, 498), (Shift, 84, 237),
-            (Shift, 102, 240)));
+            Table.States (323).Minimal_Complete_Action := (Shift, 56, 498);
             Table.States (324).Productions := WisiToken.To_Vector (((128, 0), 
(215, 1), (239, 0), (239, 1), (272, 0),
             (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (324), 56, 499);
@@ -4067,8 +4033,7 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (324));
             Add_Goto (Table.States (324), 115, 241);
             Add_Goto (Table.States (324), 322, 242);
-            Set_Minimal_Action (Table.States (324).Minimal_Complete_Actions, 
((Shift, 56, 499), (Shift, 84, 237),
-            (Shift, 102, 240)));
+            Table.States (324).Minimal_Complete_Action := (Shift, 56, 499);
             Table.States (325).Productions := WisiToken.To_Vector (((201, 0), 
(201, 1), (201, 2)));
             Add_Action (Table.States (325), 35, Reduce, (169, 2), 0, null, 
null);
             Add_Action (Table.States (325), 74, Reduce, (169, 2), 0, null, 
null);
@@ -4076,7 +4041,7 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (325), 96, Reduce, (169, 2), 0, null, 
null);
             Add_Error (Table.States (325));
             Add_Goto (Table.States (325), 169, 500);
-            Set_Minimal_Action (Table.States (325).Minimal_Complete_Actions, 
(1 => (Reduce, 169, 0)));
+            Table.States (325).Minimal_Complete_Action := (Reduce, 169, 0);
             Table.States (326).Productions := WisiToken.To_Vector ((1 => (204, 
0)));
             Add_Action (Table.States (326), 104, 119);
             Add_Action (Table.States (326), 105, 33);
@@ -4086,17 +4051,17 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (326), 239, 501);
             Add_Goto (Table.States (326), 272, 92);
             Add_Goto (Table.States (326), 293, 97);
-            Set_Minimal_Action (Table.States (326).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (326).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (327).Productions := WisiToken.To_Vector (((200, 0), 
(200, 1), (200, 2), (200, 3)));
             Add_Action (Table.States (327), 35, 502);
             Add_Action (Table.States (327), 74, 337);
             Add_Action (Table.States (327), 96, Reduce, (122, 1), 0, null, 
null);
             Add_Error (Table.States (327));
             Add_Goto (Table.States (327), 122, 503);
-            Set_Minimal_Action (Table.States (327).Minimal_Complete_Actions, 
((Shift, 35, 502), (Reduce, 122, 0)));
+            Table.States (327).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (328).Productions := WisiToken.To_Vector ((1 => (211, 
0)));
             Add_Action (Table.States (328), (29, 47, 48, 50, 69, 71, 74, 104), 
(211, 0), 2, null, null);
-            Set_Minimal_Action (Table.States (328).Minimal_Complete_Actions, 
(1 => (Reduce, 211, 2)));
+            Table.States (328).Minimal_Complete_Action := (Reduce, 211, 2);
             Table.States (329).Productions := WisiToken.To_Vector (((198, 0), 
(198, 1), (198, 2), (198, 3)));
             Add_Action (Table.States (329), 7, Reduce, (236, 3), 0, null, 
null);
             Add_Action (Table.States (329), 33, 504);
@@ -4110,12 +4075,12 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (329), 106, Reduce, (236, 3), 0, null, 
null);
             Add_Error (Table.States (329));
             Add_Goto (Table.States (329), 236, 506);
-            Set_Minimal_Action (Table.States (329).Minimal_Complete_Actions, 
(1 => (Reduce, 236, 0)));
+            Table.States (329).Minimal_Complete_Action := (Reduce, 236, 0);
             Table.States (330).Productions := WisiToken.To_Vector ((1 => (303, 
3)));
             Add_Action (Table.States (330), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (303, 3), 3, simple_statement_3'Access, null);
-            Set_Minimal_Action (Table.States (330).Minimal_Complete_Actions, 
(1 => (Reduce, 303, 3)));
+            Table.States (330).Minimal_Complete_Action := (Reduce, 303, 3);
             Table.States (331).Productions := WisiToken.To_Vector (((222, 0), 
(222, 1), (222, 2), (222, 3)));
             Add_Action (Table.States (331), 4, 1);
             Add_Action (Table.States (331), 5, 2);
@@ -4174,7 +4139,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (331), 303, 101);
             Add_Goto (Table.States (331), 306, 363);
             Add_Goto (Table.States (331), 323, 114);
-            Set_Minimal_Action (Table.States (331).Minimal_Complete_Actions, 
(1 => (Reduce, 300, 0)));
+            Table.States (331).Minimal_Complete_Action := (Reduce, 300, 0);
             Table.States (332).Productions := WisiToken.To_Vector ((1 => (332, 
0)));
             Add_Action (Table.States (332), 104, 119);
             Add_Action (Table.States (332), 105, 33);
@@ -4185,12 +4150,12 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (332), 239, 219);
             Add_Goto (Table.States (332), 272, 92);
             Add_Goto (Table.States (332), 293, 97);
-            Set_Minimal_Action (Table.States (332).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (332).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (333).Productions := WisiToken.To_Vector (((238, 0), 
(332, 1)));
             Add_Action (Table.States (333), 83, 381);
             Add_Action (Table.States (333), 96, 509);
             Add_Error (Table.States (333));
-            Set_Minimal_Action (Table.States (333).Minimal_Complete_Actions, 
(1 => (Shift, 96, 509)));
+            Table.States (333).Minimal_Complete_Action := (Shift, 96, 509);
             Table.States (334).Productions := WisiToken.To_Vector (((128, 0), 
(239, 0), (239, 1), (247, 0), (247, 1),
             (248, 0), (272, 0), (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (334), 35, 510, (122, 1), 0, null, null);
@@ -4203,12 +4168,11 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (334), 115, 241);
             Add_Goto (Table.States (334), 122, 511);
             Add_Goto (Table.States (334), 322, 242);
-            Set_Minimal_Action (Table.States (334).Minimal_Complete_Actions, 
((Shift, 35, 510), (Shift, 84, 237),
-            (Shift, 102, 240), (Reduce, 122, 0)));
+            Table.States (334).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (335).Productions := WisiToken.To_Vector ((1 => (213, 
0)));
             Add_Action (Table.States (335), 39, 512);
             Add_Error (Table.States (335));
-            Set_Minimal_Action (Table.States (335).Minimal_Complete_Actions, 
(1 => (Shift, 39, 512)));
+            Table.States (335).Minimal_Complete_Action := (Shift, 39, 512);
             Table.States (336).Productions := WisiToken.To_Vector ((1 => (250, 
0)));
             Add_Action (Table.States (336), 104, 119);
             Add_Action (Table.States (336), 105, 33);
@@ -4218,7 +4182,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (336), 239, 513);
             Add_Goto (Table.States (336), 272, 92);
             Add_Goto (Table.States (336), 293, 97);
-            Set_Minimal_Action (Table.States (336).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (336).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (337).Productions := WisiToken.To_Vector ((1 => (122, 
0)));
             Add_Action (Table.States (337), 3, 121);
             Add_Action (Table.States (337), 35, Reduce, (124, 5), 0, null, 
null);
@@ -4263,11 +4227,11 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (337), 320, 144);
             Add_Goto (Table.States (337), 321, 145);
             Add_Goto (Table.States (337), 330, 146);
-            Set_Minimal_Action (Table.States (337).Minimal_Complete_Actions, 
(1 => (Reduce, 125, 0)));
+            Table.States (337).Minimal_Complete_Action := (Reduce, 125, 0);
             Table.States (338).Productions := WisiToken.To_Vector (((251, 0), 
(251, 1)));
             Add_Action (Table.States (338), 35, 515);
             Add_Error (Table.States (338));
-            Set_Minimal_Action (Table.States (338).Minimal_Complete_Actions, 
(1 => (Shift, 35, 515)));
+            Table.States (338).Minimal_Complete_Action := (Shift, 35, 515);
             Table.States (339).Productions := WisiToken.To_Vector (((257, 0), 
(257, 1)));
             Add_Action (Table.States (339), 3, 121);
             Add_Action (Table.States (339), 15, 258);
@@ -4318,7 +4282,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (339), 320, 144);
             Add_Goto (Table.States (339), 321, 145);
             Add_Goto (Table.States (339), 330, 146);
-            Set_Minimal_Action (Table.States (339).Minimal_Complete_Actions, 
((Shift, 32, 260), (Reduce, 125, 0)));
+            Table.States (339).Minimal_Complete_Action := (Reduce, 125, 0);
          end Subr_6;
          procedure Subr_7
          is begin
@@ -4326,7 +4290,7 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (340), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (257, 2), 3, pragma_g_2'Access, null);
-            Set_Minimal_Action (Table.States (340).Minimal_Complete_Actions, 
(1 => (Reduce, 257, 3)));
+            Table.States (340).Minimal_Complete_Action := (Reduce, 257, 3);
             Table.States (341).Productions := WisiToken.To_Vector (((163, 0), 
(239, 5)));
             Add_Action (Table.States (341), 71, Reduce, (163, 0), 1, null, 
null, (239, 5), 1, name_5'Access,
             name_5_check'Access);
@@ -4335,12 +4299,12 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (341), 101, Reduce, (239, 5), 1, 
name_5'Access, name_5_check'Access);
             Add_Action (Table.States (341), 102, Reduce, (239, 5), 1, 
name_5'Access, name_5_check'Access);
             Add_Error (Table.States (341));
-            Set_Minimal_Action (Table.States (341).Minimal_Complete_Actions, 
((Reduce, 163, 1), (Reduce, 239, 1)));
+            Table.States (341).Minimal_Complete_Action := (Reduce, 163, 1);
             Table.States (342).Productions := WisiToken.To_Vector (((238, 0), 
(332, 2)));
             Add_Action (Table.States (342), 83, 381);
             Add_Action (Table.States (342), 96, 518);
             Add_Error (Table.States (342));
-            Set_Minimal_Action (Table.States (342).Minimal_Complete_Actions, 
(1 => (Shift, 96, 518)));
+            Table.States (342).Minimal_Complete_Action := (Shift, 96, 518);
             Table.States (343).Productions := WisiToken.To_Vector (((245, 0), 
(245, 1), (245, 2)));
             Add_Action (Table.States (343), 7, Reduce, (241, 1), 0, null, 
null);
             Add_Action (Table.States (343), 26, 385);
@@ -4351,31 +4315,31 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (343));
             Add_Goto (Table.States (343), 114, 387);
             Add_Goto (Table.States (343), 241, 388);
-            Set_Minimal_Action (Table.States (343).Minimal_Complete_Actions, 
((Shift, 26, 385), (Reduce, 241, 0)));
+            Table.States (343).Minimal_Complete_Action := (Reduce, 241, 0);
             Table.States (344).Productions := WisiToken.To_Vector ((1 => (253, 
0)));
             Add_Action (Table.States (344), (21, 35, 56, 72, 74, 77, 82, 96), 
(253, 0), 1, null, null);
-            Set_Minimal_Action (Table.States (344).Minimal_Complete_Actions, 
(1 => (Reduce, 253, 1)));
+            Table.States (344).Minimal_Complete_Action := (Reduce, 253, 1);
             Table.States (345).Productions := WisiToken.To_Vector ((1 => (262, 
0)));
             Add_Action (Table.States (345), (35, 56, 74, 96), (262, 0), 3, 
procedure_specification_0'Access,
             procedure_specification_0_check'Access);
-            Set_Minimal_Action (Table.States (345).Minimal_Complete_Actions, 
(1 => (Reduce, 262, 3)));
+            Table.States (345).Minimal_Complete_Action := (Reduce, 262, 3);
             Table.States (346).Productions := WisiToken.To_Vector (((264, 0), 
(265, 0)));
             Add_Action (Table.States (346), 35, 519, (122, 1), 0, null, null);
             Add_Action (Table.States (346), 74, 337);
             Add_Error (Table.States (346));
             Add_Goto (Table.States (346), 122, 520);
-            Set_Minimal_Action (Table.States (346).Minimal_Complete_Actions, 
((Shift, 35, 519), (Reduce, 122, 0)));
+            Table.States (346).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (347).Productions := WisiToken.To_Vector (((271, 0), 
(271, 1)));
             Add_Action (Table.States (347), 35, Reduce, (169, 2), 0, null, 
null);
             Add_Action (Table.States (347), 74, Reduce, (169, 2), 0, null, 
null);
             Add_Action (Table.States (347), 76, 377);
             Add_Error (Table.States (347));
             Add_Goto (Table.States (347), 169, 521);
-            Set_Minimal_Action (Table.States (347).Minimal_Complete_Actions, 
(1 => (Reduce, 169, 0)));
+            Table.States (347).Minimal_Complete_Action := (Reduce, 169, 0);
             Table.States (348).Productions := WisiToken.To_Vector (((304, 0), 
(304, 1)));
             Add_Action (Table.States (348), 35, 522);
             Add_Error (Table.States (348));
-            Set_Minimal_Action (Table.States (348).Minimal_Complete_Actions, 
(1 => (Shift, 35, 522)));
+            Table.States (348).Minimal_Complete_Action := (Shift, 35, 522);
             Table.States (349).Productions := WisiToken.To_Vector ((1 => (276, 
0)));
             Add_Action (Table.States (349), 3, 121);
             Add_Action (Table.States (349), 39, 122);
@@ -4411,21 +4375,21 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (349), 320, 144);
             Add_Goto (Table.States (349), 321, 145);
             Add_Goto (Table.States (349), 330, 146);
-            Set_Minimal_Action (Table.States (349).Minimal_Complete_Actions, 
(1 => (Reduce, 192, 0)));
+            Table.States (349).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (350).Productions := WisiToken.To_Vector ((1 => (276, 
1)));
             Add_Action (Table.States (350), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (276, 1), 3, raise_statement_1'Access, null);
-            Set_Minimal_Action (Table.States (350).Minimal_Complete_Actions, 
(1 => (Reduce, 276, 3)));
+            Table.States (350).Minimal_Complete_Action := (Reduce, 276, 3);
             Table.States (351).Productions := WisiToken.To_Vector ((1 => (290, 
0)));
             Add_Action (Table.States (351), 5, 524);
             Add_Error (Table.States (351));
-            Set_Minimal_Action (Table.States (351).Minimal_Complete_Actions, 
(1 => (Shift, 5, 524)));
+            Table.States (351).Minimal_Complete_Action := (Shift, 5, 524);
             Table.States (352).Productions := WisiToken.To_Vector ((1 => (290, 
1)));
             Add_Action (Table.States (352), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (290, 1), 3, requeue_statement_1'Access, null);
-            Set_Minimal_Action (Table.States (352).Minimal_Complete_Actions, 
(1 => (Reduce, 290, 3)));
+            Table.States (352).Minimal_Complete_Action := (Reduce, 290, 3);
             Table.States (353).Productions := WisiToken.To_Vector (((194, 0), 
(194, 1)));
             Add_Action (Table.States (353), 7, Reduce, (118, 1), 0, null, 
null);
             Add_Action (Table.States (353), 8, 401);
@@ -4439,17 +4403,17 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (353), 106, Reduce, (118, 1), 0, null, 
null);
             Add_Error (Table.States (353));
             Add_Goto (Table.States (353), 118, 525);
-            Set_Minimal_Action (Table.States (353).Minimal_Complete_Actions, 
(1 => (Reduce, 118, 0)));
+            Table.States (353).Minimal_Complete_Action := (Reduce, 118, 0);
             Table.States (354).Productions := WisiToken.To_Vector ((1 => (302, 
0)));
             Add_Action (Table.States (354), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (302, 0), 3, simple_return_statement_0'Access, null);
-            Set_Minimal_Action (Table.States (354).Minimal_Complete_Actions, 
(1 => (Reduce, 302, 3)));
+            Table.States (354).Minimal_Complete_Action := (Reduce, 302, 3);
             Table.States (355).Productions := WisiToken.To_Vector ((1 => (196, 
1)));
             Add_Action (Table.States (355), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (196, 1), 3, extended_return_statement_1'Access, null);
-            Set_Minimal_Action (Table.States (355).Minimal_Complete_Actions, 
(1 => (Reduce, 196, 3)));
+            Table.States (355).Minimal_Complete_Action := (Reduce, 196, 3);
             Table.States (356).Productions := WisiToken.To_Vector ((1 => (196, 
0)));
             Add_Action (Table.States (356), 4, 1);
             Add_Action (Table.States (356), 5, 2);
@@ -4508,7 +4472,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (356), 303, 101);
             Add_Goto (Table.States (356), 306, 363);
             Add_Goto (Table.States (356), 323, 114);
-            Set_Minimal_Action (Table.States (356).Minimal_Complete_Actions, 
(1 => (Reduce, 218, 0)));
+            Table.States (356).Minimal_Complete_Action := (Reduce, 218, 0);
             Table.States (357).Productions := WisiToken.To_Vector (((128, 0), 
(239, 0), (239, 1), (272, 0), (293, 0),
             (293, 1), (293, 2), (293, 3), (315, 0)));
             Add_Action (Table.States (357), 76, 235);
@@ -4519,15 +4483,14 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (357));
             Add_Goto (Table.States (357), 115, 241);
             Add_Goto (Table.States (357), 322, 242);
-            Set_Minimal_Action (Table.States (357).Minimal_Complete_Actions, 
((Shift, 77, 527), (Shift, 84, 237),
-            (Shift, 102, 240)));
+            Table.States (357).Minimal_Complete_Action := (Shift, 77, 527);
             Table.States (358).Productions := WisiToken.To_Vector ((1 => (295, 
4)));
             Add_Action (Table.States (358), (22, 24, 43), (295, 4), 2, 
select_alternative_4'Access, null);
-            Set_Minimal_Action (Table.States (358).Minimal_Complete_Actions, 
(1 => (Reduce, 295, 2)));
+            Table.States (358).Minimal_Complete_Action := (Reduce, 295, 2);
             Table.States (359).Productions := WisiToken.To_Vector (((295, 0), 
(295, 1), (295, 2)));
             Add_Action (Table.States (359), 87, 528);
             Add_Error (Table.States (359));
-            Set_Minimal_Action (Table.States (359).Minimal_Complete_Actions, 
(1 => (Shift, 87, 528)));
+            Table.States (359).Minimal_Complete_Action := (Shift, 87, 528);
             Table.States (360).Productions := WisiToken.To_Vector (((131, 0), 
(239, 5)));
             Add_Action (Table.States (360), 76, Reduce, (239, 5), 1, 
name_5'Access, name_5_check'Access);
             Add_Action (Table.States (360), 81, 529);
@@ -4537,7 +4500,7 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (360), 101, Reduce, (239, 5), 1, 
name_5'Access, name_5_check'Access);
             Add_Action (Table.States (360), 102, Reduce, (239, 5), 1, 
name_5'Access, name_5_check'Access);
             Add_Error (Table.States (360));
-            Set_Minimal_Action (Table.States (360).Minimal_Complete_Actions, 
((Shift, 81, 529), (Reduce, 239, 1)));
+            Table.States (360).Minimal_Complete_Action := (Reduce, 239, 1);
             Table.States (361).Productions := WisiToken.To_Vector (((299, 0), 
(300, 0)));
             Add_Action (Table.States (361), 4, 1);
             Add_Action (Table.States (361), 5, 2);
@@ -4598,21 +4561,21 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (361), 303, 101);
             Add_Goto (Table.States (361), 306, 530);
             Add_Goto (Table.States (361), 323, 114);
-            Set_Minimal_Action (Table.States (361).Minimal_Complete_Actions, 
(1 => (Reduce, 300, 1)));
+            Table.States (361).Minimal_Complete_Action := (Reduce, 300, 1);
             Table.States (362).Productions := WisiToken.To_Vector ((1 => (295, 
3)));
             Add_Action (Table.States (362), (22, 24, 43), (295, 3), 2, null, 
null);
-            Set_Minimal_Action (Table.States (362).Minimal_Complete_Actions, 
(1 => (Reduce, 295, 2)));
+            Table.States (362).Minimal_Complete_Action := (Reduce, 295, 2);
             Table.States (363).Productions := WisiToken.To_Vector ((1 => (299, 
1)));
             Add_Action (Table.States (363), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
26, 27, 28, 31, 32, 37, 41, 43, 48, 52,
             57, 58, 61, 68, 72, 73, 93, 104, 105, 106), (299, 1), 1, null, 
null);
-            Set_Minimal_Action (Table.States (363).Minimal_Complete_Actions, 
(1 => (Reduce, 299, 1)));
+            Table.States (363).Minimal_Complete_Action := (Reduce, 299, 1);
             Table.States (364).Productions := WisiToken.To_Vector (((160, 0), 
(324, 2)));
             Add_Action (Table.States (364), 22, Reduce, (160, 0), 2, null, 
null);
             Add_Action (Table.States (364), 24, Reduce, (160, 0), 2, null, 
null);
             Add_Action (Table.States (364), 43, Reduce, (160, 0), 2, null, 
null);
             Add_Action (Table.States (364), 68, Reduce, (324, 2), 2, null, 
null);
             Add_Error (Table.States (364));
-            Set_Minimal_Action (Table.States (364).Minimal_Complete_Actions, 
((Reduce, 160, 2), (Reduce, 324, 2)));
+            Table.States (364).Minimal_Complete_Action := (Reduce, 160, 2);
             Table.States (365).Productions := WisiToken.To_Vector ((1 => (152, 
0)));
             Add_Action (Table.States (365), 4, 1);
             Add_Action (Table.States (365), 5, 2);
@@ -4669,25 +4632,25 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (365), 303, 101);
             Add_Goto (Table.States (365), 306, 363);
             Add_Goto (Table.States (365), 323, 114);
-            Set_Minimal_Action (Table.States (365).Minimal_Complete_Actions, 
(1 => (Reduce, 300, 0)));
+            Table.States (365).Minimal_Complete_Action := (Reduce, 300, 0);
             Table.States (366).Productions := WisiToken.To_Vector ((1 => (323, 
0)));
             Add_Action (Table.States (366), 18, 4);
             Add_Error (Table.States (366));
             Add_Goto (Table.States (366), 160, 532);
             Add_Goto (Table.States (366), 161, 533);
-            Set_Minimal_Action (Table.States (366).Minimal_Complete_Actions, 
(1 => (Shift, 18, 4)));
+            Table.States (366).Minimal_Complete_Action := (Shift, 18, 4);
             Table.States (367).Productions := WisiToken.To_Vector (((178, 1), 
(324, 1)));
             Add_Action (Table.States (367), 22, Reduce, (178, 1), 2, null, 
null);
             Add_Action (Table.States (367), 43, Reduce, (178, 1), 2, null, 
null);
             Add_Action (Table.States (367), 68, Reduce, (324, 1), 2, null, 
null);
             Add_Error (Table.States (367));
-            Set_Minimal_Action (Table.States (367).Minimal_Complete_Actions, 
((Reduce, 178, 2), (Reduce, 324, 2)));
+            Table.States (367).Minimal_Complete_Action := (Reduce, 178, 2);
             Table.States (368).Productions := WisiToken.To_Vector (((178, 0), 
(324, 0)));
             Add_Action (Table.States (368), 22, Reduce, (178, 0), 2, null, 
null);
             Add_Action (Table.States (368), 43, Reduce, (178, 0), 2, null, 
null);
             Add_Action (Table.States (368), 68, Reduce, (324, 0), 2, null, 
null);
             Add_Error (Table.States (368));
-            Set_Minimal_Action (Table.States (368).Minimal_Complete_Actions, 
((Reduce, 178, 2), (Reduce, 324, 2)));
+            Table.States (368).Minimal_Complete_Action := (Reduce, 178, 2);
             Table.States (369).Productions := WisiToken.To_Vector ((1 => (296, 
0)));
             Add_Action (Table.States (369), 4, 1);
             Add_Action (Table.States (369), 18, 4);
@@ -4698,7 +4661,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (369), 160, 202);
             Add_Goto (Table.States (369), 161, 533);
             Add_Goto (Table.States (369), 295, 534);
-            Set_Minimal_Action (Table.States (369).Minimal_Complete_Actions, 
(1 => (Shift, 67, 199)));
+            Table.States (369).Minimal_Complete_Action := (Shift, 67, 199);
             Table.States (370).Productions := WisiToken.To_Vector ((1 => (294, 
0)));
             Add_Action (Table.States (370), 4, 1);
             Add_Action (Table.States (370), 5, 2);
@@ -4755,15 +4718,15 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (370), 303, 101);
             Add_Goto (Table.States (370), 306, 363);
             Add_Goto (Table.States (370), 323, 114);
-            Set_Minimal_Action (Table.States (370).Minimal_Complete_Actions, 
(1 => (Reduce, 300, 0)));
+            Table.States (370).Minimal_Complete_Action := (Reduce, 300, 0);
             Table.States (371).Productions := WisiToken.To_Vector ((1 => (294, 
1)));
             Add_Action (Table.States (371), 61, 536);
             Add_Error (Table.States (371));
-            Set_Minimal_Action (Table.States (371).Minimal_Complete_Actions, 
(1 => (Shift, 61, 536)));
+            Table.States (371).Minimal_Complete_Action := (Shift, 61, 536);
             Table.States (372).Productions := WisiToken.To_Vector ((1 => (126, 
0)));
             Add_Action (Table.States (372), 5, 537);
             Add_Error (Table.States (372));
-            Set_Minimal_Action (Table.States (372).Minimal_Complete_Actions, 
(1 => (Shift, 5, 537)));
+            Table.States (372).Minimal_Complete_Action := (Shift, 5, 537);
             Table.States (373).Productions := WisiToken.To_Vector ((1 => (313, 
0)));
             Add_Action (Table.States (373), 40, 483);
             Add_Action (Table.States (373), 104, 119);
@@ -4775,13 +4738,13 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (373), 272, 92);
             Add_Goto (Table.States (373), 293, 97);
             Add_Goto (Table.States (373), 314, 538);
-            Set_Minimal_Action (Table.States (373).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (373).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (374).Productions := WisiToken.To_Vector (((316, 0), 
(317, 0)));
             Add_Action (Table.States (374), 35, 539, (122, 1), 0, null, null);
             Add_Action (Table.States (374), 74, 337);
             Add_Error (Table.States (374));
             Add_Goto (Table.States (374), 122, 540);
-            Set_Minimal_Action (Table.States (374).Minimal_Complete_Actions, 
((Shift, 35, 539), (Reduce, 122, 0)));
+            Table.States (374).Minimal_Complete_Action := (Shift, 35, 539);
             Table.States (375).Productions := WisiToken.To_Vector (((319, 0), 
(319, 1), (319, 2)));
             Add_Action (Table.States (375), 35, Reduce, (169, 2), 0, null, 
null);
             Add_Action (Table.States (375), 74, Reduce, (169, 2), 0, null, 
null);
@@ -4789,12 +4752,12 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (375), 96, Reduce, (169, 2), 0, null, 
null);
             Add_Error (Table.States (375));
             Add_Goto (Table.States (375), 169, 541);
-            Set_Minimal_Action (Table.States (375).Minimal_Complete_Actions, 
(1 => (Reduce, 169, 0)));
+            Table.States (375).Minimal_Complete_Action := (Reduce, 169, 0);
             Table.States (376).Productions := WisiToken.To_Vector (((305, 0), 
(305, 1), (305, 2)));
             Add_Action (Table.States (376), 35, 542);
             Add_Action (Table.States (376), 96, 543);
             Add_Error (Table.States (376));
-            Set_Minimal_Action (Table.States (376).Minimal_Complete_Actions, 
((Shift, 35, 542), (Shift, 96, 543)));
+            Table.States (376).Minimal_Complete_Action := (Shift, 96, 543);
             Table.States (377).Productions := WisiToken.To_Vector (((169, 0), 
(169, 1)));
             Add_Action (Table.States (377), 77, Reduce, (170, 4), 0, null, 
null);
             Add_Action (Table.States (377), 80, 544);
@@ -4804,12 +4767,12 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (377), 170, 545);
             Add_Goto (Table.States (377), 171, 546);
             Add_Goto (Table.States (377), 219, 547);
-            Set_Minimal_Action (Table.States (377).Minimal_Complete_Actions, 
((Shift, 80, 544), (Reduce, 171, 0)));
+            Table.States (377).Minimal_Complete_Action := (Reduce, 171, 0);
             Table.States (378).Productions := WisiToken.To_Vector (((206, 0), 
(223, 0), (223, 1), (259, 0), (260, 0)));
             Add_Action (Table.States (378), 35, 548);
             Add_Action (Table.States (378), 96, 549);
             Add_Error (Table.States (378));
-            Set_Minimal_Action (Table.States (378).Minimal_Complete_Actions, 
((Shift, 35, 548), (Shift, 96, 549)));
+            Table.States (378).Minimal_Complete_Action := (Shift, 96, 549);
             Table.States (379).Productions := WisiToken.To_Vector ((1 => (331, 
0)));
             Add_Action (Table.States (379), 104, 119);
             Add_Action (Table.States (379), 105, 33);
@@ -4820,12 +4783,12 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (379), 239, 219);
             Add_Goto (Table.States (379), 272, 92);
             Add_Goto (Table.States (379), 293, 97);
-            Set_Minimal_Action (Table.States (379).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (379).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (380).Productions := WisiToken.To_Vector (((238, 0), 
(331, 1)));
             Add_Action (Table.States (380), 83, 381);
             Add_Action (Table.States (380), 96, 551);
             Add_Error (Table.States (380));
-            Set_Minimal_Action (Table.States (380).Minimal_Complete_Actions, 
(1 => (Shift, 96, 551)));
+            Table.States (380).Minimal_Complete_Action := (Shift, 96, 551);
             Table.States (381).Productions := WisiToken.To_Vector ((1 => (238, 
0)));
             Add_Action (Table.States (381), 104, 119);
             Add_Action (Table.States (381), 105, 33);
@@ -4835,34 +4798,34 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (381), 239, 552);
             Add_Goto (Table.States (381), 272, 92);
             Add_Goto (Table.States (381), 293, 97);
-            Set_Minimal_Action (Table.States (381).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (381).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (382).Productions := WisiToken.To_Vector ((1 => (331, 
2)));
             Add_Action (Table.States (382), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (331, 2), 3,
             use_clause_2'Access, null);
-            Set_Minimal_Action (Table.States (382).Minimal_Complete_Actions, 
(1 => (Reduce, 331, 3)));
+            Table.States (382).Minimal_Complete_Action := (Reduce, 331, 3);
             Table.States (383).Productions := WisiToken.To_Vector ((1 => (332, 
3)));
             Add_Action (Table.States (383), (4, 5, 13, 15, 17, 18, 25, 27, 28, 
29, 30, 31, 32, 36, 37, 40, 41, 46, 47,
             48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 93, 
104, 105, 106, 107), (332, 3), 3,
             with_clause_3'Access, null);
-            Set_Minimal_Action (Table.States (383).Minimal_Complete_Actions, 
(1 => (Reduce, 332, 3)));
+            Table.States (383).Minimal_Complete_Action := (Reduce, 332, 3);
             Table.States (384).Productions := WisiToken.To_Vector ((1 => (217, 
0)));
             Add_Action (Table.States (384), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (217, 0), 3, goto_label_0'Access, null);
-            Set_Minimal_Action (Table.States (384).Minimal_Complete_Actions, 
(1 => (Reduce, 217, 3)));
+            Table.States (384).Minimal_Complete_Action := (Reduce, 217, 3);
             Table.States (385).Productions := WisiToken.To_Vector ((1 => (245, 
2)));
             Add_Action (Table.States (385), 56, 553);
             Add_Error (Table.States (385));
-            Set_Minimal_Action (Table.States (385).Minimal_Complete_Actions, 
(1 => (Shift, 56, 553)));
+            Table.States (385).Minimal_Complete_Action := (Shift, 56, 553);
             Table.States (386).Productions := WisiToken.To_Vector ((1 => (241, 
0)));
             Add_Action (Table.States (386), 41, 554);
             Add_Error (Table.States (386));
-            Set_Minimal_Action (Table.States (386).Minimal_Complete_Actions, 
(1 => (Shift, 41, 554)));
+            Table.States (386).Minimal_Complete_Action := (Shift, 41, 554);
             Table.States (387).Productions := WisiToken.To_Vector ((1 => (245, 
1)));
             Add_Action (Table.States (387), 56, 555);
             Add_Error (Table.States (387));
-            Set_Minimal_Action (Table.States (387).Minimal_Complete_Actions, 
(1 => (Shift, 56, 555)));
+            Table.States (387).Minimal_Complete_Action := (Shift, 56, 555);
             Table.States (388).Productions := WisiToken.To_Vector (((114, 0), 
(114, 1), (114, 2), (245, 0)));
             Add_Action (Table.States (388), 7, 556);
             Add_Action (Table.States (388), 104, 119);
@@ -4873,20 +4836,20 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (388), 239, 557);
             Add_Goto (Table.States (388), 272, 92);
             Add_Goto (Table.States (388), 293, 97);
-            Set_Minimal_Action (Table.States (388).Minimal_Complete_Actions, 
((Shift, 7, 556), (Shift, 105, 33)));
+            Table.States (388).Minimal_Complete_Action := (Shift, 7, 556);
             Table.States (389).Productions := WisiToken.To_Vector ((1 => (133, 
1)));
             Add_Action (Table.States (389), 24, 558);
             Add_Error (Table.States (389));
-            Set_Minimal_Action (Table.States (389).Minimal_Complete_Actions, 
(1 => (Shift, 24, 558)));
+            Table.States (389).Minimal_Complete_Action := (Shift, 24, 558);
             Table.States (390).Productions := WisiToken.To_Vector (((218, 0), 
(218, 1)));
             Add_Action (Table.States (390), 24, Reduce, (218, 1), 1, null, 
null);
             Add_Action (Table.States (390), 26, 559);
             Add_Error (Table.States (390));
-            Set_Minimal_Action (Table.States (390).Minimal_Complete_Actions, 
(1 => (Reduce, 218, 1)));
+            Table.States (390).Minimal_Complete_Action := (Reduce, 218, 1);
             Table.States (391).Productions := WisiToken.To_Vector ((1 => (158, 
2)));
             Add_Action (Table.States (391), (13, 24, 25, 28, 29, 30, 40, 46, 
47, 48, 49, 50, 51, 63, 66, 69, 71, 104),
             (158, 2), 1, null, null);
-            Set_Minimal_Action (Table.States (391).Minimal_Complete_Actions, 
(1 => (Reduce, 158, 1)));
+            Table.States (391).Minimal_Complete_Action := (Reduce, 158, 1);
             Table.States (392).Productions := WisiToken.To_Vector (((158, 0), 
(158, 1), (159, 0)));
             Add_Action (Table.States (392), 13, Reduce, (159, 0), 1, null, 
null);
             Add_Action (Table.States (392), 24, Reduce, (159, 0), 1, null, 
null);
@@ -4958,27 +4921,26 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (392), 319, 113);
             Add_Goto (Table.States (392), 325, 115);
             Add_Goto (Table.States (392), 331, 116);
-            Set_Minimal_Action (Table.States (392).Minimal_Complete_Actions, 
(1 => (Reduce, 159, 1)));
+            Table.States (392).Minimal_Complete_Action := (Reduce, 159, 1);
             Table.States (393).Productions := WisiToken.To_Vector ((1 => (133, 
0)));
             Add_Action (Table.States (393), 13, 562);
             Add_Error (Table.States (393));
-            Set_Minimal_Action (Table.States (393).Minimal_Complete_Actions, 
(1 => (Shift, 13, 562)));
+            Table.States (393).Minimal_Complete_Action := (Shift, 13, 562);
             Table.States (394).Productions := WisiToken.To_Vector ((1 => (158, 
3)));
             Add_Action (Table.States (394), (13, 24, 25, 28, 29, 30, 40, 46, 
47, 48, 49, 50, 51, 63, 66, 69, 71, 104),
             (158, 3), 1, null, null);
-            Set_Minimal_Action (Table.States (394).Minimal_Complete_Actions, 
(1 => (Reduce, 158, 1)));
+            Table.States (394).Minimal_Complete_Action := (Reduce, 158, 1);
             Table.States (395).Productions := WisiToken.To_Vector (((230, 0), 
(230, 1), (230, 2), (230, 3), (230, 4),
             (230, 5)));
             Add_Action (Table.States (395), 33, 311);
             Add_Action (Table.States (395), 42, 312);
             Add_Action (Table.States (395), 81, 313);
             Add_Error (Table.States (395));
-            Set_Minimal_Action (Table.States (395).Minimal_Complete_Actions, 
((Shift, 33, 311), (Shift, 42, 312),
-            (Shift, 81, 313)));
+            Table.States (395).Minimal_Complete_Action := (Shift, 42, 312);
             Table.States (396).Productions := WisiToken.To_Vector ((1 => (232, 
1)));
             Add_Action (Table.States (396), 24, 563);
             Add_Error (Table.States (396));
-            Set_Minimal_Action (Table.States (396).Minimal_Complete_Actions, 
(1 => (Shift, 24, 563)));
+            Table.States (396).Minimal_Complete_Action := (Shift, 24, 563);
             Table.States (397).Productions := WisiToken.To_Vector ((1 => (232, 
0)));
             Add_Action (Table.States (397), 4, 1);
             Add_Action (Table.States (397), 5, 2);
@@ -5035,7 +4997,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (397), 303, 101);
             Add_Goto (Table.States (397), 306, 363);
             Add_Goto (Table.States (397), 323, 114);
-            Set_Minimal_Action (Table.States (397).Minimal_Complete_Actions, 
(1 => (Reduce, 300, 0)));
+            Table.States (397).Minimal_Complete_Action := (Reduce, 300, 0);
          end Subr_7;
          procedure Subr_8
          is begin
@@ -5051,29 +5013,28 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (398), 115, 241);
             Add_Goto (Table.States (398), 122, 338);
             Add_Goto (Table.States (398), 322, 242);
-            Set_Minimal_Action (Table.States (398).Minimal_Complete_Actions, 
((Shift, 84, 237), (Shift, 102, 240),
-            (Reduce, 122, 0)));
+            Table.States (398).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (399).Productions := WisiToken.To_Vector ((1 => (214, 
0)));
             Add_Action (Table.States (399), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (214, 0), 3,
             generic_package_declaration_0'Access, null);
-            Set_Minimal_Action (Table.States (399).Minimal_Complete_Actions, 
(1 => (Reduce, 214, 3)));
+            Table.States (399).Minimal_Complete_Action := (Reduce, 214, 3);
             Table.States (400).Productions := WisiToken.To_Vector ((1 => (216, 
0)));
             Add_Action (Table.States (400), 96, 565);
             Add_Error (Table.States (400));
-            Set_Minimal_Action (Table.States (400).Minimal_Complete_Actions, 
(1 => (Shift, 96, 565)));
+            Table.States (400).Minimal_Complete_Action := (Shift, 96, 565);
             Table.States (401).Productions := WisiToken.To_Vector ((1 => (118, 
0)));
             Add_Action (Table.States (401), (7, 11, 16, 21, 33, 40, 45, 74, 
77, 82, 96, 104, 105, 106), (118, 0), 1,
             null, null);
-            Set_Minimal_Action (Table.States (401).Minimal_Complete_Actions, 
(1 => (Reduce, 118, 1)));
+            Table.States (401).Minimal_Complete_Action := (Reduce, 118, 1);
             Table.States (402).Productions := WisiToken.To_Vector ((1 => (157, 
9)));
             Add_Action (Table.States (402), 82, 566);
             Add_Error (Table.States (402));
-            Set_Minimal_Action (Table.States (402).Minimal_Complete_Actions, 
(1 => (Shift, 82, 566)));
+            Table.States (402).Minimal_Complete_Action := (Shift, 82, 566);
             Table.States (403).Productions := WisiToken.To_Vector ((1 => (186, 
0)));
             Add_Action (Table.States (403), 96, 567);
             Add_Error (Table.States (403));
-            Set_Minimal_Action (Table.States (403).Minimal_Complete_Actions, 
(1 => (Shift, 96, 567)));
+            Table.States (403).Minimal_Complete_Action := (Shift, 96, 567);
             Table.States (404).Productions := WisiToken.To_Vector (((244, 0), 
(244, 1), (244, 2), (244, 3), (244, 4),
             (244, 5)));
             Add_Action (Table.States (404), 7, Reduce, (154, 1), 0, null, 
null);
@@ -5088,19 +5049,19 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (404), 106, Reduce, (154, 1), 0, null, 
null);
             Add_Error (Table.States (404));
             Add_Goto (Table.States (404), 154, 569);
-            Set_Minimal_Action (Table.States (404).Minimal_Complete_Actions, 
(1 => (Reduce, 154, 0)));
+            Table.States (404).Minimal_Complete_Action := (Reduce, 154, 0);
             Table.States (405).Productions := WisiToken.To_Vector ((1 => (219, 
0)));
             Add_Action (Table.States (405), (81, 83), (219, 0), 3, 
identifier_list_0'Access, null);
-            Set_Minimal_Action (Table.States (405).Minimal_Complete_Actions, 
(1 => (Reduce, 219, 3)));
+            Table.States (405).Minimal_Complete_Action := (Reduce, 219, 3);
             Table.States (406).Productions := WisiToken.To_Vector (((115, 0), 
(125, 0)));
             Add_Action (Table.States (406), 77, 570);
             Add_Action (Table.States (406), 83, 443);
             Add_Error (Table.States (406));
-            Set_Minimal_Action (Table.States (406).Minimal_Complete_Actions, 
(1 => (Shift, 77, 570)));
+            Table.States (406).Minimal_Complete_Action := (Shift, 77, 570);
             Table.States (407).Productions := WisiToken.To_Vector ((1 => (115, 
1)));
             Add_Action (Table.States (407), 77, 571);
             Add_Error (Table.States (407));
-            Set_Minimal_Action (Table.States (407).Minimal_Complete_Actions, 
(1 => (Shift, 77, 571)));
+            Table.States (407).Minimal_Complete_Action := (Shift, 77, 571);
             Table.States (408).Productions := WisiToken.To_Vector (((124, 4), 
(165, 0)));
             Add_Action (Table.States (408), 35, Reduce, (124, 4), 1, 
association_opt_4'Access, null);
             Add_Action (Table.States (408), 77, Reduce, (124, 4), 1, 
association_opt_4'Access, null);
@@ -5109,78 +5070,78 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (408), 87, Reduce, (165, 0), 1, null, 
null);
             Add_Action (Table.States (408), 96, Reduce, (124, 4), 1, 
association_opt_4'Access, null);
             Add_Error (Table.States (408));
-            Set_Minimal_Action (Table.States (408).Minimal_Complete_Actions, 
((Reduce, 124, 1), (Reduce, 165, 1)));
+            Table.States (408).Minimal_Complete_Action := (Reduce, 124, 1);
             Table.States (409).Productions := WisiToken.To_Vector (((165, 2), 
(278, 1)));
             Add_Action (Table.States (409), 77, Reduce, (278, 1), 1, null, 
null);
             Add_Action (Table.States (409), 79, Reduce, (165, 2), 1, null, 
null);
             Add_Action (Table.States (409), 83, Reduce, (278, 1), 1, null, 
null);
             Add_Action (Table.States (409), 87, Reduce, (165, 2), 1, null, 
null);
             Add_Error (Table.States (409));
-            Set_Minimal_Action (Table.States (409).Minimal_Complete_Actions, 
((Reduce, 165, 1), (Reduce, 278, 1)));
+            Table.States (409).Minimal_Complete_Action := (Reduce, 165, 1);
             Table.States (410).Productions := WisiToken.To_Vector (((239, 0), 
(278, 0)));
             Add_Action (Table.States (410), 77, 572);
             Add_Action (Table.States (410), 83, 573);
             Add_Error (Table.States (410));
-            Set_Minimal_Action (Table.States (410).Minimal_Complete_Actions, 
(1 => (Shift, 77, 572)));
+            Table.States (410).Minimal_Complete_Action := (Shift, 77, 572);
             Table.States (411).Productions := WisiToken.To_Vector ((1 => (123, 
0)));
             Add_Action (Table.States (411), 96, 574);
             Add_Error (Table.States (411));
-            Set_Minimal_Action (Table.States (411).Minimal_Complete_Actions, 
(1 => (Shift, 96, 574)));
+            Table.States (411).Minimal_Complete_Action := (Shift, 96, 574);
             Table.States (412).Productions := WisiToken.To_Vector ((1 => (293, 
3)));
             Add_Action (Table.States (412), (4, 5, 10, 13, 15, 17, 18, 20, 21, 
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
             40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74, 
75, 76, 77, 78, 79, 82, 83, 84, 85, 86, 87,
             88, 89, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 104, 
105, 106), (293, 3), 3,
             selected_component_3'Access, null);
-            Set_Minimal_Action (Table.States (412).Minimal_Complete_Actions, 
(1 => (Reduce, 293, 3)));
+            Table.States (412).Minimal_Complete_Action := (Reduce, 293, 3);
             Table.States (413).Productions := WisiToken.To_Vector ((1 => (293, 
0)));
             Add_Action (Table.States (413), (4, 5, 10, 13, 15, 17, 18, 20, 21, 
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
             40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74, 
75, 76, 77, 78, 79, 82, 83, 84, 85, 86, 87,
             88, 89, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 104, 
105, 106), (293, 0), 3,
             selected_component_0'Access, selected_component_0_check'Access);
-            Set_Minimal_Action (Table.States (413).Minimal_Complete_Actions, 
(1 => (Reduce, 293, 3)));
+            Table.States (413).Minimal_Complete_Action := (Reduce, 293, 3);
             Table.States (414).Productions := WisiToken.To_Vector ((1 => (293, 
2)));
             Add_Action (Table.States (414), (4, 5, 10, 13, 15, 17, 18, 20, 21, 
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
             40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74, 
75, 76, 77, 78, 79, 82, 83, 84, 85, 86, 87,
             88, 89, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 104, 
105, 106), (293, 2), 3,
             selected_component_2'Access, selected_component_2_check'Access);
-            Set_Minimal_Action (Table.States (414).Minimal_Complete_Actions, 
(1 => (Reduce, 293, 3)));
+            Table.States (414).Minimal_Complete_Action := (Reduce, 293, 3);
             Table.States (415).Productions := WisiToken.To_Vector ((1 => (293, 
1)));
             Add_Action (Table.States (415), (4, 5, 10, 13, 15, 17, 18, 20, 21, 
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
             40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74, 
75, 76, 77, 78, 79, 82, 83, 84, 85, 86, 87,
             88, 89, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 104, 
105, 106), (293, 1), 3,
             selected_component_1'Access, null);
-            Set_Minimal_Action (Table.States (415).Minimal_Complete_Actions, 
(1 => (Reduce, 293, 3)));
+            Table.States (415).Minimal_Complete_Action := (Reduce, 293, 3);
             Table.States (416).Productions := WisiToken.To_Vector ((1 => (129, 
1)));
             Add_Action (Table.States (416), (4, 5, 10, 13, 15, 17, 18, 20, 21, 
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
             40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74, 
75, 76, 77, 78, 79, 82, 83, 84, 85, 86, 87,
             88, 89, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 104, 
105, 106), (129, 1), 1, null, null);
-            Set_Minimal_Action (Table.States (416).Minimal_Complete_Actions, 
(1 => (Reduce, 129, 1)));
+            Table.States (416).Minimal_Complete_Action := (Reduce, 129, 1);
             Table.States (417).Productions := WisiToken.To_Vector ((1 => (129, 
2)));
             Add_Action (Table.States (417), (4, 5, 10, 13, 15, 17, 18, 20, 21, 
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
             40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74, 
75, 76, 77, 78, 79, 82, 83, 84, 85, 86, 87,
             88, 89, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 104, 
105, 106), (129, 2), 1, null, null);
-            Set_Minimal_Action (Table.States (417).Minimal_Complete_Actions, 
(1 => (Reduce, 129, 1)));
+            Table.States (417).Minimal_Complete_Action := (Reduce, 129, 1);
             Table.States (418).Productions := WisiToken.To_Vector ((1 => (129, 
3)));
             Add_Action (Table.States (418), (4, 5, 10, 13, 15, 17, 18, 20, 21, 
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
             40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74, 
75, 76, 77, 78, 79, 82, 83, 84, 85, 86, 87,
             88, 89, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 104, 
105, 106), (129, 3), 1, null, null);
-            Set_Minimal_Action (Table.States (418).Minimal_Complete_Actions, 
(1 => (Reduce, 129, 1)));
+            Table.States (418).Minimal_Complete_Action := (Reduce, 129, 1);
             Table.States (419).Productions := WisiToken.To_Vector ((1 => (129, 
4)));
             Add_Action (Table.States (419), (4, 5, 10, 13, 15, 17, 18, 20, 21, 
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
             40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74, 
75, 76, 77, 78, 79, 82, 83, 84, 85, 86, 87,
             88, 89, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 104, 
105, 106), (129, 4), 1, null, null);
-            Set_Minimal_Action (Table.States (419).Minimal_Complete_Actions, 
(1 => (Reduce, 129, 1)));
+            Table.States (419).Minimal_Complete_Action := (Reduce, 129, 1);
             Table.States (420).Productions := WisiToken.To_Vector ((1 => (272, 
0)));
             Add_Action (Table.States (420), (4, 5, 10, 13, 15, 17, 18, 20, 21, 
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
             40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74, 
75, 76, 77, 78, 79, 82, 83, 84, 85, 86, 87,
             88, 89, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 104, 
105, 106), (272, 0), 3,
             qualified_expression_0'Access, null);
-            Set_Minimal_Action (Table.States (420).Minimal_Complete_Actions, 
(1 => (Reduce, 272, 3)));
+            Table.States (420).Minimal_Complete_Action := (Reduce, 272, 3);
             Table.States (421).Productions := WisiToken.To_Vector ((1 => (128, 
0)));
             Add_Action (Table.States (421), (4, 5, 10, 13, 15, 17, 18, 20, 21, 
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
             40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74, 
75, 76, 77, 78, 79, 82, 83, 84, 85, 86, 87,
             88, 89, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 104, 
105, 106), (128, 0), 3, null, null);
-            Set_Minimal_Action (Table.States (421).Minimal_Complete_Actions, 
(1 => (Reduce, 128, 3)));
+            Table.States (421).Minimal_Complete_Action := (Reduce, 128, 3);
             Table.States (422).Productions := WisiToken.To_Vector (((128, 0), 
(129, 0), (239, 0), (239, 1), (272, 0),
             (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (422), 4, Reduce, (129, 0), 1, null, 
null);
@@ -5249,8 +5210,7 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (422));
             Add_Goto (Table.States (422), 115, 241);
             Add_Goto (Table.States (422), 322, 242);
-            Set_Minimal_Action (Table.States (422).Minimal_Complete_Actions, 
((Shift, 84, 237), (Shift, 102, 240),
-            (Reduce, 129, 1)));
+            Table.States (422).Minimal_Complete_Action := (Reduce, 129, 1);
             Table.States (423).Productions := WisiToken.To_Vector (((179, 0), 
(179, 1)));
             Add_Action (Table.States (423), 74, Reduce, (253, 1), 0, null, 
null);
             Add_Action (Table.States (423), 76, 575);
@@ -5258,7 +5218,7 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (423));
             Add_Goto (Table.States (423), 199, 344);
             Add_Goto (Table.States (423), 253, 576);
-            Set_Minimal_Action (Table.States (423).Minimal_Complete_Actions, 
((Shift, 76, 575), (Reduce, 253, 0)));
+            Table.States (423).Minimal_Complete_Action := (Reduce, 253, 0);
             Table.States (424).Productions := WisiToken.To_Vector (((128, 0), 
(207, 0), (213, 2), (239, 0), (239, 1),
             (272, 0), (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (424), 35, 577);
@@ -5273,8 +5233,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (424), 252, 320);
             Add_Goto (Table.States (424), 291, 321);
             Add_Goto (Table.States (424), 322, 242);
-            Set_Minimal_Action (Table.States (424).Minimal_Complete_Actions, 
((Shift, 35, 577), (Shift, 58, 317),
-            (Shift, 84, 237), (Shift, 102, 240)));
+            Table.States (424).Minimal_Complete_Action := (Shift, 58, 317);
             Table.States (425).Productions := WisiToken.To_Vector (((128, 0), 
(213, 1), (239, 0), (239, 1), (262, 0),
             (272, 0), (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (425), 35, 578, (253, 1), 0, null, null);
@@ -5290,22 +5249,21 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (425), 199, 344);
             Add_Goto (Table.States (425), 253, 345);
             Add_Goto (Table.States (425), 322, 242);
-            Set_Minimal_Action (Table.States (425).Minimal_Complete_Actions, 
((Shift, 35, 578), (Shift, 84, 237),
-            (Shift, 102, 240), (Reduce, 253, 0)));
+            Table.States (425).Minimal_Complete_Action := (Reduce, 253, 0);
             Table.States (426).Productions := WisiToken.To_Vector ((1 => (193, 
0)));
             Add_Action (Table.States (426), 76, 579);
             Add_Error (Table.States (426));
             Add_Goto (Table.States (426), 256, 580);
-            Set_Minimal_Action (Table.States (426).Minimal_Complete_Actions, 
(1 => (Shift, 76, 579)));
+            Table.States (426).Minimal_Complete_Action := (Shift, 76, 579);
             Table.States (427).Productions := WisiToken.To_Vector ((1 => (243, 
0)));
             Add_Action (Table.States (427), 41, 581);
             Add_Error (Table.States (427));
-            Set_Minimal_Action (Table.States (427).Minimal_Complete_Actions, 
(1 => (Shift, 41, 581)));
+            Table.States (427).Minimal_Complete_Action := (Shift, 41, 581);
             Table.States (428).Productions := WisiToken.To_Vector (((112, 0), 
(308, 0)));
             Add_Action (Table.States (428), 6, 582);
             Add_Action (Table.States (428), 60, 583);
             Add_Error (Table.States (428));
-            Set_Minimal_Action (Table.States (428).Minimal_Complete_Actions, 
((Shift, 6, 582), (Shift, 60, 583)));
+            Table.States (428).Minimal_Complete_Action := (Shift, 6, 582);
             Table.States (429).Productions := WisiToken.To_Vector ((1 => (311, 
0)));
             Add_Action (Table.States (429), 104, 119);
             Add_Action (Table.States (429), 105, 33);
@@ -5315,12 +5273,12 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (429), 239, 584);
             Add_Goto (Table.States (429), 272, 92);
             Add_Goto (Table.States (429), 293, 97);
-            Set_Minimal_Action (Table.States (429).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (429).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (430).Productions := WisiToken.To_Vector (((307, 0), 
(309, 0)));
             Add_Action (Table.States (430), 35, 585);
             Add_Action (Table.States (430), 96, 586);
             Add_Error (Table.States (430));
-            Set_Minimal_Action (Table.States (430).Minimal_Complete_Actions, 
((Shift, 35, 585), (Shift, 96, 586)));
+            Table.States (430).Minimal_Complete_Action := (Shift, 96, 586);
             Table.States (431).Productions := WisiToken.To_Vector ((1 => (199, 
0)));
             Add_Action (Table.States (431), 77, Reduce, (254, 4), 0, null, 
null);
             Add_Action (Table.States (431), 96, Reduce, (254, 4), 0, null, 
null);
@@ -5329,12 +5287,12 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (431), 219, 493);
             Add_Goto (Table.States (431), 254, 494);
             Add_Goto (Table.States (431), 255, 495);
-            Set_Minimal_Action (Table.States (431).Minimal_Complete_Actions, 
(1 => (Reduce, 255, 0)));
+            Table.States (431).Minimal_Complete_Action := (Reduce, 255, 0);
             Table.States (432).Productions := WisiToken.To_Vector (((113, 0), 
(113, 1)));
             Add_Action (Table.States (432), 21, 587);
             Add_Action (Table.States (432), 96, 588);
             Add_Error (Table.States (432));
-            Set_Minimal_Action (Table.States (432).Minimal_Complete_Actions, 
((Shift, 21, 587), (Shift, 96, 588)));
+            Table.States (432).Minimal_Complete_Action := (Shift, 96, 588);
             Table.States (433).Productions := WisiToken.To_Vector ((1 => (275, 
0)));
             Add_Action (Table.States (433), 3, 121);
             Add_Action (Table.States (433), 10, Reduce, (192, 1), 0, null, 
null);
@@ -5386,26 +5344,26 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (433), 320, 144);
             Add_Goto (Table.States (433), 321, 145);
             Add_Goto (Table.States (433), 330, 146);
-            Set_Minimal_Action (Table.States (433).Minimal_Complete_Actions, 
(1 => (Reduce, 192, 0)));
+            Table.States (433).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (434).Productions := WisiToken.To_Vector ((1 => (136, 
0)));
             Add_Action (Table.States (434), 35, 590);
             Add_Error (Table.States (434));
-            Set_Minimal_Action (Table.States (434).Minimal_Complete_Actions, 
(1 => (Shift, 35, 590)));
+            Table.States (434).Minimal_Complete_Action := (Shift, 35, 590);
             Table.States (435).Productions := WisiToken.To_Vector ((1 => (274, 
0)));
             Add_Action (Table.States (435), (1 =>  104), (274, 0), 1, null, 
null);
-            Set_Minimal_Action (Table.States (435).Minimal_Complete_Actions, 
(1 => (Reduce, 274, 1)));
+            Table.States (435).Minimal_Complete_Action := (Reduce, 274, 1);
             Table.States (436).Productions := WisiToken.To_Vector ((1 => (274, 
1)));
             Add_Action (Table.States (436), (1 =>  104), (274, 1), 1, null, 
null);
-            Set_Minimal_Action (Table.States (436).Minimal_Complete_Actions, 
(1 => (Reduce, 274, 1)));
+            Table.States (436).Minimal_Complete_Action := (Reduce, 274, 1);
             Table.States (437).Productions := WisiToken.To_Vector ((1 => (273, 
0)));
             Add_Action (Table.States (437), 104, 395);
             Add_Error (Table.States (437));
             Add_Goto (Table.States (437), 230, 591);
-            Set_Minimal_Action (Table.States (437).Minimal_Complete_Actions, 
(1 => (Shift, 104, 395)));
+            Table.States (437).Minimal_Complete_Action := (Shift, 104, 395);
             Table.States (438).Productions := WisiToken.To_Vector (((221, 0), 
(221, 1), (221, 2), (221, 3)));
             Add_Action (Table.States (438), 68, 592);
             Add_Error (Table.States (438));
-            Set_Minimal_Action (Table.States (438).Minimal_Complete_Actions, 
(1 => (Shift, 68, 592)));
+            Table.States (438).Minimal_Complete_Action := (Shift, 68, 592);
             Table.States (439).Productions := WisiToken.To_Vector (((165, 1), 
(258, 1)));
             Add_Action (Table.States (439), 10, Reduce, (258, 1), 1, null, 
null);
             Add_Action (Table.States (439), 33, Reduce, (258, 1), 1, null, 
null);
@@ -5441,11 +5399,11 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (439), 239, 593);
             Add_Goto (Table.States (439), 272, 92);
             Add_Goto (Table.States (439), 293, 97);
-            Set_Minimal_Action (Table.States (439).Minimal_Complete_Actions, 
(1 => (Reduce, 258, 1)));
+            Table.States (439).Minimal_Complete_Action := (Reduce, 258, 1);
             Table.States (440).Productions := WisiToken.To_Vector ((1 => (117, 
2)));
             Add_Action (Table.States (440), 77, 594);
             Add_Error (Table.States (440));
-            Set_Minimal_Action (Table.States (440).Minimal_Complete_Actions, 
(1 => (Shift, 77, 594)));
+            Table.States (440).Minimal_Complete_Action := (Shift, 77, 594);
             Table.States (441).Productions := WisiToken.To_Vector (((124, 0), 
(124, 1)));
             Add_Action (Table.States (441), 3, 121);
             Add_Action (Table.States (441), 35, Reduce, (192, 1), 0, null, 
null);
@@ -5485,13 +5443,13 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (441), 320, 144);
             Add_Goto (Table.States (441), 321, 145);
             Add_Goto (Table.States (441), 330, 146);
-            Set_Minimal_Action (Table.States (441).Minimal_Complete_Actions, 
((Shift, 80, 595), (Reduce, 192, 0)));
+            Table.States (441).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (442).Productions := WisiToken.To_Vector ((1 => (117, 
4)));
             Add_Action (Table.States (442), (4, 5, 10, 13, 15, 17, 18, 20, 21, 
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
             40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74, 
75, 76, 77, 78, 79, 82, 83, 84, 85, 86, 87,
             88, 89, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 104, 
105, 106), (117, 4), 3, aggregate_4'Access,
             null);
-            Set_Minimal_Action (Table.States (442).Minimal_Complete_Actions, 
(1 => (Reduce, 117, 3)));
+            Table.States (442).Minimal_Complete_Action := (Reduce, 117, 3);
             Table.States (443).Productions := WisiToken.To_Vector ((1 => (125, 
0)));
             Add_Action (Table.States (443), 3, 121);
             Add_Action (Table.States (443), 35, Reduce, (124, 5), 0, null, 
null);
@@ -5536,13 +5494,13 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (443), 320, 144);
             Add_Goto (Table.States (443), 321, 145);
             Add_Goto (Table.States (443), 330, 146);
-            Set_Minimal_Action (Table.States (443).Minimal_Complete_Actions, 
(1 => (Reduce, 124, 0)));
+            Table.States (443).Minimal_Complete_Action := (Reduce, 124, 0);
             Table.States (444).Productions := WisiToken.To_Vector ((1 => (117, 
3)));
             Add_Action (Table.States (444), (4, 5, 10, 13, 15, 17, 18, 20, 21, 
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
             40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74, 
75, 76, 77, 78, 79, 82, 83, 84, 85, 86, 87,
             88, 89, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 104, 
105, 106), (117, 3), 3, aggregate_3'Access,
             null);
-            Set_Minimal_Action (Table.States (444).Minimal_Complete_Actions, 
(1 => (Reduce, 117, 3)));
+            Table.States (444).Minimal_Complete_Action := (Reduce, 117, 3);
             Table.States (445).Productions := WisiToken.To_Vector ((1 => (166, 
0)));
             Add_Action (Table.States (445), 3, 121);
             Add_Action (Table.States (445), 39, 122);
@@ -5579,7 +5537,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (445), 320, 144);
             Add_Goto (Table.States (445), 321, 145);
             Add_Goto (Table.States (445), 330, 146);
-            Set_Minimal_Action (Table.States (445).Minimal_Complete_Actions, 
(1 => (Shift, 44, 263)));
+            Table.States (445).Minimal_Complete_Action := (Shift, 103, 129);
             Table.States (446).Productions := WisiToken.To_Vector (((124, 2), 
(124, 3)));
             Add_Action (Table.States (446), 3, 121);
             Add_Action (Table.States (446), 35, Reduce, (192, 1), 0, null, 
null);
@@ -5619,7 +5577,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (446), 320, 144);
             Add_Goto (Table.States (446), 321, 145);
             Add_Goto (Table.States (446), 330, 146);
-            Set_Minimal_Action (Table.States (446).Minimal_Complete_Actions, 
((Shift, 80, 600), (Reduce, 192, 0)));
+            Table.States (446).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (447).Productions := WisiToken.To_Vector (((117, 0), 
(117, 1)));
             Add_Action (Table.States (447), 3, 121);
             Add_Action (Table.States (447), 39, 122);
@@ -5663,7 +5621,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (447), 320, 144);
             Add_Goto (Table.States (447), 321, 145);
             Add_Goto (Table.States (447), 330, 146);
-            Set_Minimal_Action (Table.States (447).Minimal_Complete_Actions, 
((Shift, 41, 602), (Reduce, 125, 0)));
+            Table.States (447).Minimal_Complete_Action := (Reduce, 125, 0);
             Table.States (448).Productions := WisiToken.To_Vector (((128, 0), 
(272, 0), (277, 0), (277, 1)));
             Add_Action (Table.States (448), 7, 416);
             Add_Action (Table.States (448), 19, 417);
@@ -5681,8 +5639,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (448), 239, 422);
             Add_Goto (Table.States (448), 272, 92);
             Add_Goto (Table.States (448), 293, 97);
-            Set_Minimal_Action (Table.States (448).Minimal_Complete_Actions, 
((Shift, 38, 419), (Shift, 53, 604),
-            (Shift, 76, 126)));
+            Table.States (448).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (449).Productions := WisiToken.To_Vector ((1 => (277, 
2)));
             Add_Action (Table.States (449), 3, 121);
             Add_Action (Table.States (449), 39, 122);
@@ -5707,7 +5664,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (449), 320, 144);
             Add_Goto (Table.States (449), 321, 145);
             Add_Goto (Table.States (449), 330, 146);
-            Set_Minimal_Action (Table.States (449).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (449).Minimal_Complete_Action := (Shift, 103, 129);
          end Subr_8;
          procedure Subr_9
          is begin
@@ -5750,24 +5707,24 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (450), 320, 144);
             Add_Goto (Table.States (450), 321, 145);
             Add_Goto (Table.States (450), 330, 146);
-            Set_Minimal_Action (Table.States (450).Minimal_Complete_Actions, 
(1 => (Reduce, 166, 0)));
+            Table.States (450).Minimal_Complete_Action := (Reduce, 166, 0);
             Table.States (451).Productions := WisiToken.To_Vector ((1 => (141, 
1)));
             Add_Action (Table.States (451), (24, 72), (141, 1), 1, null, null);
-            Set_Minimal_Action (Table.States (451).Minimal_Complete_Actions, 
(1 => (Reduce, 141, 1)));
+            Table.States (451).Minimal_Complete_Action := (Reduce, 141, 1);
             Table.States (452).Productions := WisiToken.To_Vector (((139, 0), 
(141, 0)));
             Add_Action (Table.States (452), 24, 607);
             Add_Action (Table.States (452), 72, 450);
             Add_Error (Table.States (452));
             Add_Goto (Table.States (452), 140, 608);
-            Set_Minimal_Action (Table.States (452).Minimal_Complete_Actions, 
(1 => (Shift, 24, 607)));
+            Table.States (452).Minimal_Complete_Action := (Shift, 24, 607);
             Table.States (453).Productions := WisiToken.To_Vector ((1 => (197, 
0)));
             Add_Action (Table.States (453), (10, 20, 21, 22, 23, 33, 35, 37, 
38, 40, 42, 43, 53, 55, 68, 74, 75, 77,
             78, 79, 82, 83, 85, 86, 87, 88, 89, 91, 92, 94, 95, 96, 97, 98, 
99), (197, 0), 3, null, null);
-            Set_Minimal_Action (Table.States (453).Minimal_Complete_Actions, 
(1 => (Reduce, 197, 3)));
+            Table.States (453).Minimal_Complete_Action := (Reduce, 197, 3);
             Table.States (454).Productions := WisiToken.To_Vector ((1 => (282, 
0)));
             Add_Action (Table.States (454), (10, 20, 21, 22, 23, 35, 37, 43, 
53, 68, 74, 75, 77, 79, 83, 87, 96), (282,
             0), 3, null, null);
-            Set_Minimal_Action (Table.States (454).Minimal_Complete_Actions, 
(1 => (Reduce, 282, 3)));
+            Table.States (454).Minimal_Complete_Action := (Reduce, 282, 3);
             Table.States (455).Productions := WisiToken.To_Vector ((1 => (283, 
0)));
             Add_Action (Table.States (455), 3, 121);
             Add_Action (Table.States (455), 39, 122);
@@ -5795,11 +5752,11 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (455), 320, 144);
             Add_Goto (Table.States (455), 321, 145);
             Add_Goto (Table.States (455), 330, 146);
-            Set_Minimal_Action (Table.States (455).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (455).Minimal_Complete_Action := (Shift, 103, 129);
             Table.States (456).Productions := WisiToken.To_Vector ((1 => (284, 
0)));
             Add_Action (Table.States (456), (10, 20, 21, 22, 23, 35, 37, 43, 
53, 68, 74, 75, 77, 79, 83, 87, 96), (284,
             0), 3, null, null);
-            Set_Minimal_Action (Table.States (456).Minimal_Complete_Actions, 
(1 => (Reduce, 284, 3)));
+            Table.States (456).Minimal_Complete_Action := (Reduce, 284, 3);
             Table.States (457).Productions := WisiToken.To_Vector ((1 => (285, 
0)));
             Add_Action (Table.States (457), 3, 121);
             Add_Action (Table.States (457), 39, 122);
@@ -5827,11 +5784,11 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (457), 320, 144);
             Add_Goto (Table.States (457), 321, 145);
             Add_Goto (Table.States (457), 330, 146);
-            Set_Minimal_Action (Table.States (457).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (457).Minimal_Complete_Action := (Shift, 103, 129);
             Table.States (458).Productions := WisiToken.To_Vector ((1 => (286, 
0)));
             Add_Action (Table.States (458), (10, 20, 21, 22, 23, 35, 37, 43, 
53, 68, 74, 75, 77, 79, 83, 87, 96), (286,
             0), 3, null, null);
-            Set_Minimal_Action (Table.States (458).Minimal_Complete_Actions, 
(1 => (Reduce, 286, 3)));
+            Table.States (458).Minimal_Complete_Action := (Reduce, 286, 3);
             Table.States (459).Productions := WisiToken.To_Vector ((1 => (283, 
1)));
             Add_Action (Table.States (459), 3, 121);
             Add_Action (Table.States (459), 39, 122);
@@ -5859,11 +5816,11 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (459), 320, 144);
             Add_Goto (Table.States (459), 321, 145);
             Add_Goto (Table.States (459), 330, 146);
-            Set_Minimal_Action (Table.States (459).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (459).Minimal_Complete_Action := (Shift, 103, 129);
             Table.States (460).Productions := WisiToken.To_Vector ((1 => (282, 
1)));
             Add_Action (Table.States (460), (10, 20, 21, 22, 23, 35, 37, 43, 
53, 68, 74, 75, 77, 79, 83, 87, 96), (282,
             1), 3, null, null);
-            Set_Minimal_Action (Table.States (460).Minimal_Complete_Actions, 
(1 => (Reduce, 282, 3)));
+            Table.States (460).Minimal_Complete_Action := (Reduce, 282, 3);
             Table.States (461).Productions := WisiToken.To_Vector ((1 => (285, 
1)));
             Add_Action (Table.States (461), 3, 121);
             Add_Action (Table.States (461), 39, 122);
@@ -5891,15 +5848,15 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (461), 320, 144);
             Add_Goto (Table.States (461), 321, 145);
             Add_Goto (Table.States (461), 330, 146);
-            Set_Minimal_Action (Table.States (461).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (461).Minimal_Complete_Action := (Shift, 103, 129);
             Table.States (462).Productions := WisiToken.To_Vector ((1 => (284, 
1)));
             Add_Action (Table.States (462), (10, 20, 21, 22, 23, 35, 37, 43, 
53, 68, 74, 75, 77, 79, 83, 87, 96), (284,
             1), 3, null, null);
-            Set_Minimal_Action (Table.States (462).Minimal_Complete_Actions, 
(1 => (Reduce, 284, 3)));
+            Table.States (462).Minimal_Complete_Action := (Reduce, 284, 3);
             Table.States (463).Productions := WisiToken.To_Vector ((1 => (286, 
1)));
             Add_Action (Table.States (463), (10, 20, 21, 22, 23, 35, 37, 43, 
53, 68, 74, 75, 77, 79, 83, 87, 96), (286,
             1), 3, null, null);
-            Set_Minimal_Action (Table.States (463).Minimal_Complete_Actions, 
(1 => (Reduce, 286, 3)));
+            Table.States (463).Minimal_Complete_Action := (Reduce, 286, 3);
             Table.States (464).Productions := WisiToken.To_Vector (((233, 0), 
(287, 1)));
             Add_Action (Table.States (464), 10, Reduce, (287, 1), 3, null, 
null);
             Add_Action (Table.States (464), 20, Reduce, (287, 1), 3, null, 
null);
@@ -5919,15 +5876,15 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (464), 87, Reduce, (287, 1), 3, null, 
null);
             Add_Action (Table.States (464), 96, Reduce, (287, 1), 3, null, 
null);
             Add_Error (Table.States (464));
-            Set_Minimal_Action (Table.States (464).Minimal_Complete_Actions, 
(1 => (Reduce, 287, 3)));
+            Table.States (464).Minimal_Complete_Action := (Reduce, 287, 3);
             Table.States (465).Productions := WisiToken.To_Vector ((1 => (233, 
1)));
             Add_Action (Table.States (465), (10, 20, 21, 22, 23, 35, 37, 43, 
53, 68, 74, 75, 77, 79, 83, 87, 96), (233,
             1), 1, null, null);
-            Set_Minimal_Action (Table.States (465).Minimal_Complete_Actions, 
(1 => (Reduce, 233, 1)));
+            Table.States (465).Minimal_Complete_Action := (Reduce, 233, 1);
             Table.States (466).Productions := WisiToken.To_Vector ((1 => (234, 
1)));
             Add_Action (Table.States (466), (10, 20, 21, 22, 23, 35, 37, 43, 
53, 68, 74, 75, 77, 79, 83, 87, 96), (234,
             1), 1, null, null);
-            Set_Minimal_Action (Table.States (466).Minimal_Complete_Actions, 
(1 => (Reduce, 234, 1)));
+            Table.States (466).Minimal_Complete_Action := (Reduce, 234, 1);
             Table.States (467).Productions := WisiToken.To_Vector (((234, 0), 
(277, 2)));
             Add_Action (Table.States (467), 10, Reduce, (234, 0), 1, null, 
null);
             Add_Action (Table.States (467), 20, Reduce, (234, 0), 1, null, 
null);
@@ -5948,7 +5905,7 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (467), 87, Reduce, (234, 0), 1, null, 
null);
             Add_Action (Table.States (467), 96, Reduce, (234, 0), 1, null, 
null);
             Add_Error (Table.States (467));
-            Set_Minimal_Action (Table.States (467).Minimal_Complete_Actions, 
((Shift, 85, 449), (Reduce, 234, 1)));
+            Table.States (467).Minimal_Complete_Action := (Reduce, 234, 1);
             Table.States (468).Productions := WisiToken.To_Vector ((1 => (287, 
0)));
             Add_Action (Table.States (468), 3, 121);
             Add_Action (Table.States (468), 39, 122);
@@ -5976,15 +5933,15 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (468), 320, 144);
             Add_Goto (Table.States (468), 321, 145);
             Add_Goto (Table.States (468), 330, 146);
-            Set_Minimal_Action (Table.States (468).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (468).Minimal_Complete_Action := (Shift, 103, 129);
             Table.States (469).Productions := WisiToken.To_Vector ((1 => (287, 
2)));
             Add_Action (Table.States (469), (10, 20, 21, 22, 23, 35, 37, 43, 
53, 68, 74, 75, 77, 79, 83, 87, 96), (287,
             2), 3, null, null);
-            Set_Minimal_Action (Table.States (469).Minimal_Complete_Actions, 
(1 => (Reduce, 287, 3)));
+            Table.States (469).Minimal_Complete_Action := (Reduce, 287, 3);
             Table.States (470).Productions := WisiToken.To_Vector ((1 => (320, 
0)));
             Add_Action (Table.States (470), (10, 20, 21, 22, 23, 33, 35, 37, 
38, 40, 42, 43, 53, 55, 68, 74, 75, 77,
             78, 79, 82, 83, 85, 86, 87, 88, 89, 91, 92, 94, 95, 96, 97, 98, 
99), (320, 0), 3, null, null);
-            Set_Minimal_Action (Table.States (470).Minimal_Complete_Actions, 
(1 => (Reduce, 320, 3)));
+            Table.States (470).Minimal_Complete_Action := (Reduce, 320, 3);
             Table.States (471).Productions := WisiToken.To_Vector (((320, 0), 
(321, 0)));
             Add_Action (Table.States (471), 10, Reduce, (321, 0), 3, null, 
null);
             Add_Action (Table.States (471), 20, Reduce, (321, 0), 3, null, 
null);
@@ -6023,16 +5980,16 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (471), 99, 300);
             Add_Error (Table.States (471));
             Add_Goto (Table.States (471), 237, 301);
-            Set_Minimal_Action (Table.States (471).Minimal_Complete_Actions, 
(1 => (Reduce, 321, 3)));
+            Table.States (471).Minimal_Complete_Action := (Reduce, 321, 3);
             Table.States (472).Productions := WisiToken.To_Vector ((1 => (161, 
0)));
             Add_Action (Table.States (472), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (161, 0), 4, delay_statement_0'Access, null);
-            Set_Minimal_Action (Table.States (472).Minimal_Complete_Actions, 
(1 => (Reduce, 161, 4)));
+            Table.States (472).Minimal_Complete_Action := (Reduce, 161, 4);
             Table.States (473).Productions := WisiToken.To_Vector ((1 => (190, 
0)));
             Add_Action (Table.States (473), 96, 615);
             Add_Error (Table.States (473));
-            Set_Minimal_Action (Table.States (473).Minimal_Complete_Actions, 
(1 => (Shift, 96, 615)));
+            Table.States (473).Minimal_Complete_Action := (Shift, 96, 615);
             Table.States (474).Productions := WisiToken.To_Vector (((197, 3), 
(314, 0), (314, 1)));
             Add_Action (Table.States (474), 39, 122);
             Add_Action (Table.States (474), 41, 616);
@@ -6048,7 +6005,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (474), 258, 256);
             Add_Goto (Table.States (474), 272, 92);
             Add_Goto (Table.States (474), 293, 97);
-            Set_Minimal_Action (Table.States (474).Minimal_Complete_Actions, 
((Shift, 41, 616), (Shift, 105, 33)));
+            Table.States (474).Minimal_Complete_Action := (Shift, 103, 129);
             Table.States (475).Productions := WisiToken.To_Vector ((1 => (230, 
2)));
             Add_Action (Table.States (475), 3, 121);
             Add_Action (Table.States (475), 39, 122);
@@ -6076,10 +6033,10 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (475), 320, 144);
             Add_Goto (Table.States (475), 321, 145);
             Add_Goto (Table.States (475), 330, 146);
-            Set_Minimal_Action (Table.States (475).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (475).Minimal_Complete_Action := (Shift, 40, 474);
             Table.States (476).Productions := WisiToken.To_Vector ((1 => (230, 
5)));
             Add_Action (Table.States (476), (37, 87), (230, 5), 3, 
iterator_specification_5'Access, null);
-            Set_Minimal_Action (Table.States (476).Minimal_Complete_Actions, 
(1 => (Reduce, 230, 3)));
+            Table.States (476).Minimal_Complete_Action := (Reduce, 230, 3);
             Table.States (477).Productions := WisiToken.To_Vector (((128, 0), 
(239, 0), (239, 1), (258, 3), (272, 0),
             (277, 0), (277, 1), (293, 0), (293, 1), (293, 2), (293, 3), (314, 
2), (314, 3)));
             Add_Action (Table.States (477), 10, Reduce, (258, 3), 1, null, 
null);
@@ -6120,18 +6077,17 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (477), 155, 620);
             Add_Goto (Table.States (477), 224, 621);
             Add_Goto (Table.States (477), 322, 448);
-            Set_Minimal_Action (Table.States (477).Minimal_Complete_Actions, 
((Shift, 84, 237), (Shift, 102, 240),
-            (Reduce, 258, 1), (Reduce, 314, 1)));
+            Table.States (477).Minimal_Complete_Action := (Reduce, 258, 1);
             Table.States (478).Productions := WisiToken.To_Vector ((1 => (167, 
1)));
             Add_Action (Table.States (478), (37, 77, 83, 87), (167, 1), 1, 
null, null);
-            Set_Minimal_Action (Table.States (478).Minimal_Complete_Actions, 
(1 => (Reduce, 167, 1)));
+            Table.States (478).Minimal_Complete_Action := (Reduce, 167, 1);
             Table.States (479).Productions := WisiToken.To_Vector ((1 => (277, 
2)));
             Add_Action (Table.States (479), 85, 449);
             Add_Error (Table.States (479));
-            Set_Minimal_Action (Table.States (479).Minimal_Complete_Actions, 
(1 => (Shift, 85, 449)));
+            Table.States (479).Minimal_Complete_Action := (Shift, 85, 449);
             Table.States (480).Productions := WisiToken.To_Vector ((1 => (167, 
0)));
             Add_Action (Table.States (480), (37, 77, 83, 87), (167, 0), 1, 
null, null);
-            Set_Minimal_Action (Table.States (480).Minimal_Complete_Actions, 
(1 => (Reduce, 167, 1)));
+            Table.States (480).Minimal_Complete_Action := (Reduce, 167, 1);
             Table.States (481).Productions := WisiToken.To_Vector ((1 => (230, 
3)));
             Add_Action (Table.States (481), 104, 119);
             Add_Action (Table.States (481), 105, 33);
@@ -6141,7 +6097,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (481), 239, 622);
             Add_Goto (Table.States (481), 272, 92);
             Add_Goto (Table.States (481), 293, 97);
-            Set_Minimal_Action (Table.States (481).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (481).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (482).Productions := WisiToken.To_Vector (((128, 0), 
(230, 4), (239, 0), (239, 1), (272, 0),
             (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (482), 37, Reduce, (230, 4), 3, null, 
null);
@@ -6153,12 +6109,11 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (482));
             Add_Goto (Table.States (482), 115, 241);
             Add_Goto (Table.States (482), 322, 242);
-            Set_Minimal_Action (Table.States (482).Minimal_Complete_Actions, 
((Shift, 84, 237), (Shift, 102, 240),
-            (Reduce, 230, 3)));
+            Table.States (482).Minimal_Complete_Action := (Reduce, 230, 3);
             Table.States (483).Productions := WisiToken.To_Vector (((314, 0), 
(314, 1)));
             Add_Action (Table.States (483), 41, 623);
             Add_Error (Table.States (483));
-            Set_Minimal_Action (Table.States (483).Minimal_Complete_Actions, 
(1 => (Shift, 41, 623)));
+            Table.States (483).Minimal_Complete_Action := (Shift, 41, 623);
             Table.States (484).Productions := WisiToken.To_Vector (((128, 0), 
(239, 0), (239, 1), (272, 0), (293, 0),
             (293, 1), (293, 2), (293, 3), (314, 2), (314, 3)));
             Add_Action (Table.States (484), 10, Reduce, (314, 3), 1, 
subtype_indication_3'Access, null);
@@ -6177,16 +6132,15 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (484), 155, 620);
             Add_Goto (Table.States (484), 224, 621);
             Add_Goto (Table.States (484), 322, 242);
-            Set_Minimal_Action (Table.States (484).Minimal_Complete_Actions, 
((Shift, 84, 237), (Shift, 102, 240),
-            (Reduce, 314, 1)));
+            Table.States (484).Minimal_Complete_Action := (Reduce, 314, 1);
             Table.States (485).Productions := WisiToken.To_Vector (((230, 0), 
(230, 1)));
             Add_Action (Table.States (485), 42, 624);
             Add_Error (Table.States (485));
-            Set_Minimal_Action (Table.States (485).Minimal_Complete_Actions, 
(1 => (Shift, 42, 624)));
+            Table.States (485).Minimal_Complete_Action := (Shift, 42, 624);
             Table.States (486).Productions := WisiToken.To_Vector ((1 => (121, 
0)));
             Add_Action (Table.States (486), 96, 625);
             Add_Error (Table.States (486));
-            Set_Minimal_Action (Table.States (486).Minimal_Complete_Actions, 
(1 => (Shift, 96, 625)));
+            Table.States (486).Minimal_Complete_Action := (Shift, 96, 625);
             Table.States (487).Productions := WisiToken.To_Vector ((1 => (127, 
0)));
             Add_Action (Table.States (487), 3, 121);
             Add_Action (Table.States (487), 39, 122);
@@ -6222,20 +6176,20 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (487), 320, 144);
             Add_Goto (Table.States (487), 321, 145);
             Add_Goto (Table.States (487), 330, 146);
-            Set_Minimal_Action (Table.States (487).Minimal_Complete_Actions, 
(1 => (Reduce, 192, 0)));
+            Table.States (487).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (488).Productions := WisiToken.To_Vector ((1 => (281, 
0)));
             Add_Action (Table.States (488), 12, 627);
             Add_Action (Table.States (488), 104, Reduce, (235, 1), 0, null, 
null);
             Add_Error (Table.States (488));
             Add_Goto (Table.States (488), 235, 628);
-            Set_Minimal_Action (Table.States (488).Minimal_Complete_Actions, 
(1 => (Reduce, 235, 0)));
+            Table.States (488).Minimal_Complete_Action := (Reduce, 235, 0);
             Table.States (489).Productions := WisiToken.To_Vector ((1 => (182, 
0)));
             Add_Action (Table.States (489), 96, 629);
             Add_Error (Table.States (489));
-            Set_Minimal_Action (Table.States (489).Minimal_Complete_Actions, 
(1 => (Shift, 96, 629)));
+            Table.States (489).Minimal_Complete_Action := (Shift, 96, 629);
             Table.States (490).Productions := WisiToken.To_Vector ((1 => (291, 
1)));
             Add_Action (Table.States (490), (21, 35, 56, 74, 77, 82, 96), 
(291, 1), 2, result_profile_1'Access, null);
-            Set_Minimal_Action (Table.States (490).Minimal_Complete_Actions, 
(1 => (Reduce, 291, 2)));
+            Table.States (490).Minimal_Complete_Action := (Reduce, 291, 2);
             Table.States (491).Productions := WisiToken.To_Vector (((114, 0), 
(114, 1), (114, 2), (291, 0)));
             Add_Action (Table.States (491), 7, 556);
             Add_Action (Table.States (491), 21, Reduce, (240, 1), 0, null, 
null);
@@ -6254,7 +6208,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (491), 240, 631);
             Add_Goto (Table.States (491), 272, 92);
             Add_Goto (Table.States (491), 293, 97);
-            Set_Minimal_Action (Table.States (491).Minimal_Complete_Actions, 
((Shift, 7, 556), (Reduce, 240, 0)));
+            Table.States (491).Minimal_Complete_Action := (Reduce, 240, 0);
             Table.States (492).Productions := WisiToken.To_Vector (((219, 1), 
(239, 5)));
             Add_Action (Table.States (492), 10, Reduce, (239, 5), 1, 
name_5'Access, name_5_check'Access);
             Add_Action (Table.States (492), 33, Reduce, (239, 5), 1, 
name_5'Access, name_5_check'Access);
@@ -6288,24 +6242,24 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (492), 101, Reduce, (239, 5), 1, 
name_5'Access, name_5_check'Access);
             Add_Action (Table.States (492), 102, Reduce, (239, 5), 1, 
name_5'Access, name_5_check'Access);
             Add_Error (Table.States (492));
-            Set_Minimal_Action (Table.States (492).Minimal_Complete_Actions, 
((Reduce, 219, 1), (Reduce, 239, 1)));
+            Table.States (492).Minimal_Complete_Action := (Reduce, 219, 1);
             Table.States (493).Productions := WisiToken.To_Vector (((219, 0), 
(254, 0), (254, 1), (254, 2), (254, 3)));
             Add_Action (Table.States (493), 81, 632);
             Add_Action (Table.States (493), 83, 234);
             Add_Error (Table.States (493));
-            Set_Minimal_Action (Table.States (493).Minimal_Complete_Actions, 
(1 => (Shift, 81, 632)));
+            Table.States (493).Minimal_Complete_Action := (Shift, 81, 632);
             Table.States (494).Productions := WisiToken.To_Vector ((1 => (255, 
1)));
             Add_Action (Table.States (494), (77, 96), (255, 1), 1, null, null);
-            Set_Minimal_Action (Table.States (494).Minimal_Complete_Actions, 
(1 => (Reduce, 255, 1)));
+            Table.States (494).Minimal_Complete_Action := (Reduce, 255, 1);
             Table.States (495).Productions := WisiToken.To_Vector (((199, 0), 
(255, 0)));
             Add_Action (Table.States (495), 77, 633);
             Add_Action (Table.States (495), 96, 634);
             Add_Error (Table.States (495));
-            Set_Minimal_Action (Table.States (495).Minimal_Complete_Actions, 
(1 => (Shift, 77, 633)));
+            Table.States (495).Minimal_Complete_Action := (Shift, 77, 633);
             Table.States (496).Productions := WisiToken.To_Vector ((1 => (252, 
0)));
             Add_Action (Table.States (496), (21, 35, 56, 74, 77, 82, 96), 
(252, 0), 2,
             parameter_and_result_profile_0'Access, null);
-            Set_Minimal_Action (Table.States (496).Minimal_Complete_Actions, 
(1 => (Reduce, 252, 2)));
+            Table.States (496).Minimal_Complete_Action := (Reduce, 252, 2);
             Table.States (497).Productions := WisiToken.To_Vector ((1 => (215, 
2)));
             Add_Action (Table.States (497), 104, 119);
             Add_Action (Table.States (497), 105, 33);
@@ -6315,7 +6269,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (497), 239, 635);
             Add_Goto (Table.States (497), 272, 92);
             Add_Goto (Table.States (497), 293, 97);
-            Set_Minimal_Action (Table.States (497).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (497).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (498).Productions := WisiToken.To_Vector ((1 => (215, 
0)));
             Add_Action (Table.States (498), 104, 119);
             Add_Action (Table.States (498), 105, 33);
@@ -6325,7 +6279,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (498), 239, 636);
             Add_Goto (Table.States (498), 272, 92);
             Add_Goto (Table.States (498), 293, 97);
-            Set_Minimal_Action (Table.States (498).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (498).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (499).Productions := WisiToken.To_Vector ((1 => (215, 
1)));
             Add_Action (Table.States (499), 104, 119);
             Add_Action (Table.States (499), 105, 33);
@@ -6335,14 +6289,14 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (499), 239, 637);
             Add_Goto (Table.States (499), 272, 92);
             Add_Goto (Table.States (499), 293, 97);
-            Set_Minimal_Action (Table.States (499).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (499).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (500).Productions := WisiToken.To_Vector (((201, 0), 
(201, 1), (201, 2)));
             Add_Action (Table.States (500), 35, 638);
             Add_Action (Table.States (500), 74, 337);
             Add_Action (Table.States (500), 96, Reduce, (122, 1), 0, null, 
null);
             Add_Error (Table.States (500));
             Add_Goto (Table.States (500), 122, 639);
-            Set_Minimal_Action (Table.States (500).Minimal_Complete_Actions, 
((Shift, 35, 638), (Reduce, 122, 0)));
+            Table.States (500).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (501).Productions := WisiToken.To_Vector (((128, 0), 
(204, 0), (239, 0), (239, 1), (272, 0),
             (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (501), 35, 640);
@@ -6353,8 +6307,7 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (501));
             Add_Goto (Table.States (501), 115, 241);
             Add_Goto (Table.States (501), 322, 242);
-            Set_Minimal_Action (Table.States (501).Minimal_Complete_Actions, 
((Shift, 35, 640), (Shift, 84, 237),
-            (Shift, 102, 240)));
+            Table.States (501).Minimal_Complete_Action := (Shift, 35, 640);
             Table.States (502).Productions := WisiToken.To_Vector (((200, 0), 
(200, 1), (200, 2)));
             Add_Action (Table.States (502), 6, 641);
             Add_Action (Table.States (502), 41, 642);
@@ -6368,14 +6321,14 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (502), 272, 92);
             Add_Goto (Table.States (502), 293, 97);
             Add_Goto (Table.States (502), 310, 645);
-            Set_Minimal_Action (Table.States (502).Minimal_Complete_Actions, 
((Shift, 6, 641), (Shift, 41, 642)));
+            Table.States (502).Minimal_Complete_Action := (Shift, 104, 119);
          end Subr_9;
          procedure Subr_10
          is begin
             Table.States (503).Productions := WisiToken.To_Vector ((1 => (200, 
3)));
             Add_Action (Table.States (503), 96, 646);
             Add_Error (Table.States (503));
-            Set_Minimal_Action (Table.States (503).Minimal_Complete_Actions, 
(1 => (Shift, 96, 646)));
+            Table.States (503).Minimal_Complete_Action := (Shift, 96, 646);
             Table.States (504).Productions := WisiToken.To_Vector (((236, 0), 
(236, 1)));
             Add_Action (Table.States (504), 7, Reduce, (236, 0), 1, null, 
null);
             Add_Action (Table.States (504), 40, Reduce, (236, 0), 1, null, 
null);
@@ -6387,10 +6340,10 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (504), 105, Reduce, (236, 0), 1, null, 
null);
             Add_Action (Table.States (504), 106, Reduce, (236, 0), 1, null, 
null);
             Add_Error (Table.States (504));
-            Set_Minimal_Action (Table.States (504).Minimal_Complete_Actions, 
(1 => (Reduce, 236, 1)));
+            Table.States (504).Minimal_Complete_Action := (Reduce, 236, 1);
             Table.States (505).Productions := WisiToken.To_Vector ((1 => (236, 
2)));
             Add_Action (Table.States (505), (7, 40, 74, 82, 96, 104, 105, 
106), (236, 2), 1, null, null);
-            Set_Minimal_Action (Table.States (505).Minimal_Complete_Actions, 
(1 => (Reduce, 236, 1)));
+            Table.States (505).Minimal_Complete_Action := (Reduce, 236, 1);
             Table.States (506).Productions := WisiToken.To_Vector (((198, 0), 
(198, 1), (198, 2), (198, 3)));
             Add_Action (Table.States (506), 7, Reduce, (241, 1), 0, null, 
null);
             Add_Action (Table.States (506), 40, 386);
@@ -6400,7 +6353,7 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (506));
             Add_Goto (Table.States (506), 114, 648);
             Add_Goto (Table.States (506), 241, 649);
-            Set_Minimal_Action (Table.States (506).Minimal_Complete_Actions, 
(1 => (Reduce, 241, 0)));
+            Table.States (506).Minimal_Complete_Action := (Reduce, 241, 0);
             Table.States (507).Productions := WisiToken.To_Vector (((222, 0), 
(222, 1), (222, 2), (222, 3)));
             Add_Action (Table.States (507), 22, 650);
             Add_Action (Table.States (507), 23, 651);
@@ -6408,26 +6361,25 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (507));
             Add_Goto (Table.States (507), 174, 653);
             Add_Goto (Table.States (507), 175, 654);
-            Set_Minimal_Action (Table.States (507).Minimal_Complete_Actions, 
((Shift, 22, 650), (Shift, 23, 651),
-            (Shift, 24, 652)));
+            Table.States (507).Minimal_Complete_Action := (Shift, 24, 652);
             Table.States (508).Productions := WisiToken.To_Vector (((238, 0), 
(332, 0)));
             Add_Action (Table.States (508), 83, 381);
             Add_Action (Table.States (508), 96, 655);
             Add_Error (Table.States (508));
-            Set_Minimal_Action (Table.States (508).Minimal_Complete_Actions, 
(1 => (Shift, 96, 655)));
+            Table.States (508).Minimal_Complete_Action := (Shift, 96, 655);
             Table.States (509).Productions := WisiToken.To_Vector ((1 => (332, 
1)));
             Add_Action (Table.States (509), (4, 5, 13, 15, 17, 18, 25, 27, 28, 
29, 30, 31, 32, 36, 37, 40, 41, 46, 47,
             48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 93, 
104, 105, 106, 107), (332, 1), 4,
             with_clause_1'Access, null);
-            Set_Minimal_Action (Table.States (509).Minimal_Complete_Actions, 
(1 => (Reduce, 332, 4)));
+            Table.States (509).Minimal_Complete_Action := (Reduce, 332, 4);
             Table.States (510).Productions := WisiToken.To_Vector ((1 => (248, 
0)));
             Add_Action (Table.States (510), 60, 656);
             Add_Error (Table.States (510));
-            Set_Minimal_Action (Table.States (510).Minimal_Complete_Actions, 
(1 => (Shift, 60, 656)));
+            Table.States (510).Minimal_Complete_Action := (Shift, 60, 656);
             Table.States (511).Productions := WisiToken.To_Vector (((247, 0), 
(247, 1)));
             Add_Action (Table.States (511), 35, 657);
             Add_Error (Table.States (511));
-            Set_Minimal_Action (Table.States (511).Minimal_Complete_Actions, 
(1 => (Shift, 35, 657)));
+            Table.States (511).Minimal_Complete_Action := (Shift, 35, 657);
             Table.States (512).Productions := WisiToken.To_Vector ((1 => (213, 
0)));
             Add_Action (Table.States (512), 104, 119);
             Add_Action (Table.States (512), 105, 33);
@@ -6437,7 +6389,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (512), 239, 658);
             Add_Goto (Table.States (512), 272, 92);
             Add_Goto (Table.States (512), 293, 97);
-            Set_Minimal_Action (Table.States (512).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (512).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (513).Productions := WisiToken.To_Vector (((128, 0), 
(239, 0), (239, 1), (250, 0), (272, 0),
             (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (513), 74, 337);
@@ -6450,14 +6402,13 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (513), 115, 241);
             Add_Goto (Table.States (513), 122, 659);
             Add_Goto (Table.States (513), 322, 242);
-            Set_Minimal_Action (Table.States (513).Minimal_Complete_Actions, 
((Shift, 84, 237), (Shift, 102, 240),
-            (Reduce, 122, 0)));
+            Table.States (513).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (514).Productions := WisiToken.To_Vector (((122, 0), 
(125, 0)));
             Add_Action (Table.States (514), 35, Reduce, (122, 0), 2, 
aspect_specification_opt_0'Access, null);
             Add_Action (Table.States (514), 83, 443);
             Add_Action (Table.States (514), 96, Reduce, (122, 0), 2, 
aspect_specification_opt_0'Access, null);
             Add_Error (Table.States (514));
-            Set_Minimal_Action (Table.States (514).Minimal_Complete_Actions, 
(1 => (Reduce, 122, 2)));
+            Table.States (514).Minimal_Complete_Action := (Reduce, 122, 2);
             Table.States (515).Productions := WisiToken.To_Vector (((251, 0), 
(251, 1)));
             Add_Action (Table.States (515), 24, Reduce, (159, 1), 0, null, 
null);
             Add_Action (Table.States (515), 25, Reduce, (246, 2), 0, null, 
null);
@@ -6530,35 +6481,35 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (515), 319, 113);
             Add_Goto (Table.States (515), 325, 115);
             Add_Goto (Table.States (515), 331, 116);
-            Set_Minimal_Action (Table.States (515).Minimal_Complete_Actions, 
(1 => (Reduce, 159, 0)));
+            Table.States (515).Minimal_Complete_Action := (Reduce, 159, 0);
             Table.States (516).Productions := WisiToken.To_Vector (((125, 0), 
(257, 0)));
             Add_Action (Table.States (516), 77, 661);
             Add_Action (Table.States (516), 83, 443);
             Add_Error (Table.States (516));
-            Set_Minimal_Action (Table.States (516).Minimal_Complete_Actions, 
(1 => (Shift, 77, 661)));
+            Table.States (516).Minimal_Complete_Action := (Shift, 77, 661);
             Table.States (517).Productions := WisiToken.To_Vector ((1 => (257, 
1)));
             Add_Action (Table.States (517), 77, 662);
             Add_Error (Table.States (517));
-            Set_Minimal_Action (Table.States (517).Minimal_Complete_Actions, 
(1 => (Shift, 77, 662)));
+            Table.States (517).Minimal_Complete_Action := (Shift, 77, 662);
             Table.States (518).Productions := WisiToken.To_Vector ((1 => (332, 
2)));
             Add_Action (Table.States (518), (4, 5, 13, 15, 17, 18, 25, 27, 28, 
29, 30, 31, 32, 36, 37, 40, 41, 46, 47,
             48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 93, 
104, 105, 106, 107), (332, 2), 4,
             with_clause_2'Access, null);
-            Set_Minimal_Action (Table.States (518).Minimal_Complete_Actions, 
(1 => (Reduce, 332, 4)));
+            Table.States (518).Minimal_Complete_Action := (Reduce, 332, 4);
             Table.States (519).Productions := WisiToken.To_Vector ((1 => (265, 
0)));
             Add_Action (Table.States (519), 60, 663);
             Add_Error (Table.States (519));
-            Set_Minimal_Action (Table.States (519).Minimal_Complete_Actions, 
(1 => (Shift, 60, 663)));
+            Table.States (519).Minimal_Complete_Action := (Shift, 60, 663);
             Table.States (520).Productions := WisiToken.To_Vector ((1 => (264, 
0)));
             Add_Action (Table.States (520), 35, 664);
             Add_Error (Table.States (520));
-            Set_Minimal_Action (Table.States (520).Minimal_Complete_Actions, 
(1 => (Shift, 35, 664)));
+            Table.States (520).Minimal_Complete_Action := (Shift, 35, 664);
             Table.States (521).Productions := WisiToken.To_Vector (((271, 0), 
(271, 1)));
             Add_Action (Table.States (521), 35, Reduce, (122, 1), 0, null, 
null);
             Add_Action (Table.States (521), 74, 337);
             Add_Error (Table.States (521));
             Add_Goto (Table.States (521), 122, 665);
-            Set_Minimal_Action (Table.States (521).Minimal_Complete_Actions, 
(1 => (Reduce, 122, 0)));
+            Table.States (521).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (522).Productions := WisiToken.To_Vector (((304, 0), 
(304, 1)));
             Add_Action (Table.States (522), 24, Reduce, (159, 1), 0, null, 
null);
             Add_Action (Table.States (522), 25, Reduce, (246, 2), 0, null, 
null);
@@ -6633,15 +6584,15 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (522), 319, 113);
             Add_Goto (Table.States (522), 325, 115);
             Add_Goto (Table.States (522), 331, 116);
-            Set_Minimal_Action (Table.States (522).Minimal_Complete_Actions, 
((Shift, 39, 666), (Reduce, 159, 0)));
+            Table.States (522).Minimal_Complete_Action := (Reduce, 159, 0);
             Table.States (523).Productions := WisiToken.To_Vector ((1 => (276, 
0)));
             Add_Action (Table.States (523), 96, 669);
             Add_Error (Table.States (523));
-            Set_Minimal_Action (Table.States (523).Minimal_Complete_Actions, 
(1 => (Shift, 96, 669)));
+            Table.States (523).Minimal_Complete_Action := (Shift, 96, 669);
             Table.States (524).Productions := WisiToken.To_Vector ((1 => (290, 
0)));
             Add_Action (Table.States (524), 96, 670);
             Add_Error (Table.States (524));
-            Set_Minimal_Action (Table.States (524).Minimal_Complete_Actions, 
(1 => (Shift, 96, 670)));
+            Table.States (524).Minimal_Complete_Action := (Shift, 96, 670);
             Table.States (525).Productions := WisiToken.To_Vector (((194, 0), 
(194, 1)));
             Add_Action (Table.States (525), 7, Reduce, (154, 1), 0, null, 
null);
             Add_Action (Table.States (525), 16, 568);
@@ -6654,11 +6605,11 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (525), 106, Reduce, (154, 1), 0, null, 
null);
             Add_Error (Table.States (525));
             Add_Goto (Table.States (525), 154, 671);
-            Set_Minimal_Action (Table.States (525).Minimal_Complete_Actions, 
(1 => (Reduce, 154, 0)));
+            Table.States (525).Minimal_Complete_Action := (Reduce, 154, 0);
             Table.States (526).Productions := WisiToken.To_Vector ((1 => (196, 
0)));
             Add_Action (Table.States (526), 24, 672);
             Add_Error (Table.States (526));
-            Set_Minimal_Action (Table.States (526).Minimal_Complete_Actions, 
(1 => (Shift, 24, 672)));
+            Table.States (526).Minimal_Complete_Action := (Shift, 24, 672);
             Table.States (527).Productions := WisiToken.To_Vector ((1 => (315, 
0)));
             Add_Action (Table.States (527), 29, Reduce, (246, 2), 0, null, 
null);
             Add_Action (Table.States (527), 40, 12);
@@ -6676,7 +6627,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (527), 264, 89);
             Add_Goto (Table.States (527), 307, 105);
             Add_Goto (Table.States (527), 316, 111);
-            Set_Minimal_Action (Table.States (527).Minimal_Complete_Actions, 
(1 => (Shift, 51, 674)));
+            Table.States (527).Minimal_Complete_Action := (Reduce, 246, 0);
             Table.States (528).Productions := WisiToken.To_Vector (((295, 0), 
(295, 1), (295, 2)));
             Add_Action (Table.States (528), 4, 1);
             Add_Action (Table.States (528), 18, 4);
@@ -6685,24 +6636,23 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (528), 113, 679);
             Add_Goto (Table.States (528), 160, 680);
             Add_Goto (Table.States (528), 161, 533);
-            Set_Minimal_Action (Table.States (528).Minimal_Complete_Actions, 
((Shift, 4, 1), (Shift, 18, 4), (Shift,
-            67, 678)));
+            Table.States (528).Minimal_Complete_Action := (Shift, 67, 678);
             Table.States (529).Productions := WisiToken.To_Vector ((1 => (131, 
0)));
             Add_Action (Table.States (529), (13, 17, 28, 37, 73), (131, 0), 2, 
block_label_0'Access,
             block_label_0_check'Access);
-            Set_Minimal_Action (Table.States (529).Minimal_Complete_Actions, 
(1 => (Reduce, 131, 2)));
+            Table.States (529).Minimal_Complete_Action := (Reduce, 131, 2);
             Table.States (530).Productions := WisiToken.To_Vector ((1 => (299, 
0)));
             Add_Action (Table.States (530), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
26, 27, 28, 31, 32, 37, 41, 43, 48, 52,
             57, 58, 61, 68, 72, 73, 93, 104, 105, 106), (299, 0), 2, null, 
null);
-            Set_Minimal_Action (Table.States (530).Minimal_Complete_Actions, 
(1 => (Reduce, 299, 2)));
+            Table.States (530).Minimal_Complete_Action := (Reduce, 299, 2);
             Table.States (531).Productions := WisiToken.To_Vector ((1 => (152, 
0)));
             Add_Action (Table.States (531), 24, 681);
             Add_Error (Table.States (531));
-            Set_Minimal_Action (Table.States (531).Minimal_Complete_Actions, 
(1 => (Shift, 24, 681)));
+            Table.States (531).Minimal_Complete_Action := (Shift, 24, 681);
             Table.States (532).Productions := WisiToken.To_Vector ((1 => (323, 
0)));
             Add_Action (Table.States (532), 24, 682);
             Add_Error (Table.States (532));
-            Set_Minimal_Action (Table.States (532).Minimal_Complete_Actions, 
(1 => (Shift, 24, 682)));
+            Table.States (532).Minimal_Complete_Action := (Shift, 24, 682);
             Table.States (533).Productions := WisiToken.To_Vector ((1 => (160, 
0)));
             Add_Action (Table.States (533), 4, 1);
             Add_Action (Table.States (533), 5, 2);
@@ -6761,18 +6711,18 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (533), 303, 101);
             Add_Goto (Table.States (533), 306, 363);
             Add_Goto (Table.States (533), 323, 114);
-            Set_Minimal_Action (Table.States (533).Minimal_Complete_Actions, 
(1 => (Reduce, 300, 0)));
+            Table.States (533).Minimal_Complete_Action := (Reduce, 300, 0);
             Table.States (534).Productions := WisiToken.To_Vector ((1 => (296, 
0)));
             Add_Action (Table.States (534), (22, 24, 43), (296, 0), 3, 
select_alternative_list_0'Access, null);
-            Set_Minimal_Action (Table.States (534).Minimal_Complete_Actions, 
(1 => (Reduce, 296, 3)));
+            Table.States (534).Minimal_Complete_Action := (Reduce, 296, 3);
             Table.States (535).Productions := WisiToken.To_Vector ((1 => (294, 
0)));
             Add_Action (Table.States (535), 24, 684);
             Add_Error (Table.States (535));
-            Set_Minimal_Action (Table.States (535).Minimal_Complete_Actions, 
(1 => (Shift, 24, 684)));
+            Table.States (535).Minimal_Complete_Action := (Shift, 24, 684);
             Table.States (536).Productions := WisiToken.To_Vector ((1 => (294, 
1)));
             Add_Action (Table.States (536), 96, 685);
             Add_Error (Table.States (536));
-            Set_Minimal_Action (Table.States (536).Minimal_Complete_Actions, 
(1 => (Shift, 96, 685)));
+            Table.States (536).Minimal_Complete_Action := (Shift, 96, 685);
             Table.States (537).Productions := WisiToken.To_Vector ((1 => (126, 
0)));
             Add_Action (Table.States (537), 4, 1);
             Add_Action (Table.States (537), 5, 2);
@@ -6829,28 +6779,28 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (537), 303, 101);
             Add_Goto (Table.States (537), 306, 363);
             Add_Goto (Table.States (537), 323, 114);
-            Set_Minimal_Action (Table.States (537).Minimal_Complete_Actions, 
(1 => (Reduce, 300, 0)));
+            Table.States (537).Minimal_Complete_Action := (Reduce, 300, 0);
             Table.States (538).Productions := WisiToken.To_Vector ((1 => (313, 
0)));
             Add_Action (Table.States (538), 74, 337);
             Add_Action (Table.States (538), 96, Reduce, (122, 1), 0, null, 
null);
             Add_Error (Table.States (538));
             Add_Goto (Table.States (538), 122, 687);
-            Set_Minimal_Action (Table.States (538).Minimal_Complete_Actions, 
(1 => (Reduce, 122, 0)));
+            Table.States (538).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (539).Productions := WisiToken.To_Vector ((1 => (317, 
0)));
             Add_Action (Table.States (539), 60, 688);
             Add_Error (Table.States (539));
-            Set_Minimal_Action (Table.States (539).Minimal_Complete_Actions, 
(1 => (Shift, 60, 688)));
+            Table.States (539).Minimal_Complete_Action := (Shift, 60, 688);
             Table.States (540).Productions := WisiToken.To_Vector ((1 => (316, 
0)));
             Add_Action (Table.States (540), 35, 689);
             Add_Error (Table.States (540));
-            Set_Minimal_Action (Table.States (540).Minimal_Complete_Actions, 
(1 => (Shift, 35, 689)));
+            Table.States (540).Minimal_Complete_Action := (Shift, 35, 689);
             Table.States (541).Productions := WisiToken.To_Vector (((319, 0), 
(319, 1), (319, 2)));
             Add_Action (Table.States (541), 35, Reduce, (122, 1), 0, null, 
null);
             Add_Action (Table.States (541), 74, 337);
             Add_Action (Table.States (541), 96, Reduce, (122, 1), 0, null, 
null);
             Add_Error (Table.States (541));
             Add_Goto (Table.States (541), 122, 690);
-            Set_Minimal_Action (Table.States (541).Minimal_Complete_Actions, 
(1 => (Reduce, 122, 0)));
+            Table.States (541).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (542).Productions := WisiToken.To_Vector (((305, 0), 
(305, 1)));
             Add_Action (Table.States (542), 24, Reduce, (159, 1), 0, null, 
null);
             Add_Action (Table.States (542), 25, Reduce, (246, 2), 0, null, 
null);
@@ -6925,29 +6875,29 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (542), 319, 113);
             Add_Goto (Table.States (542), 325, 115);
             Add_Goto (Table.States (542), 331, 116);
-            Set_Minimal_Action (Table.States (542).Minimal_Complete_Actions, 
((Shift, 39, 691), (Reduce, 318, 0)));
+            Table.States (542).Minimal_Complete_Action := (Reduce, 318, 0);
             Table.States (543).Productions := WisiToken.To_Vector ((1 => (305, 
2)));
             Add_Action (Table.States (543), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (305, 2), 4,
             single_task_declaration_2'Access, null);
-            Set_Minimal_Action (Table.States (543).Minimal_Complete_Actions, 
(1 => (Reduce, 305, 4)));
+            Table.States (543).Minimal_Complete_Action := (Reduce, 305, 4);
             Table.States (544).Productions := WisiToken.To_Vector ((1 => (169, 
0)));
             Add_Action (Table.States (544), 77, 694);
             Add_Error (Table.States (544));
-            Set_Minimal_Action (Table.States (544).Minimal_Complete_Actions, 
(1 => (Shift, 77, 694)));
+            Table.States (544).Minimal_Complete_Action := (Shift, 77, 694);
             Table.States (545).Productions := WisiToken.To_Vector ((1 => (171, 
1)));
             Add_Action (Table.States (545), (77, 96), (171, 1), 1, null, null);
-            Set_Minimal_Action (Table.States (545).Minimal_Complete_Actions, 
(1 => (Reduce, 171, 1)));
+            Table.States (545).Minimal_Complete_Action := (Reduce, 171, 1);
             Table.States (546).Productions := WisiToken.To_Vector (((169, 1), 
(171, 0)));
             Add_Action (Table.States (546), 77, 695);
             Add_Action (Table.States (546), 96, 696);
             Add_Error (Table.States (546));
-            Set_Minimal_Action (Table.States (546).Minimal_Complete_Actions, 
(1 => (Shift, 77, 695)));
+            Table.States (546).Minimal_Complete_Action := (Shift, 77, 695);
             Table.States (547).Productions := WisiToken.To_Vector (((170, 0), 
(170, 1), (170, 2), (170, 3), (219, 0)));
             Add_Action (Table.States (547), 81, 697);
             Add_Action (Table.States (547), 83, 234);
             Add_Error (Table.States (547));
-            Set_Minimal_Action (Table.States (547).Minimal_Complete_Actions, 
(1 => (Shift, 81, 697)));
+            Table.States (547).Minimal_Complete_Action := (Shift, 81, 697);
             Table.States (548).Productions := WisiToken.To_Vector (((206, 0), 
(223, 0), (259, 0), (260, 0)));
             Add_Action (Table.States (548), 6, 698);
             Add_Action (Table.States (548), 7, Reduce, (241, 1), 0, null, 
null);
@@ -6979,23 +6929,22 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (548), 228, 720);
             Add_Goto (Table.States (548), 241, 721);
             Add_Goto (Table.States (548), 326, 722);
-            Set_Minimal_Action (Table.States (548).Minimal_Complete_Actions, 
((Shift, 34, 702), (Shift, 65, 710),
-            (Reduce, 109, 0), (Reduce, 111, 0)));
+            Table.States (548).Minimal_Complete_Action := (Shift, 38, 704);
             Table.States (549).Productions := WisiToken.To_Vector ((1 => (223, 
1)));
             Add_Action (Table.States (549), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (223, 1), 4,
             incomplete_type_declaration_1'Access, null);
-            Set_Minimal_Action (Table.States (549).Minimal_Complete_Actions, 
(1 => (Reduce, 223, 4)));
+            Table.States (549).Minimal_Complete_Action := (Reduce, 223, 4);
             Table.States (550).Productions := WisiToken.To_Vector (((238, 0), 
(331, 0)));
             Add_Action (Table.States (550), 83, 381);
             Add_Action (Table.States (550), 96, 723);
             Add_Error (Table.States (550));
-            Set_Minimal_Action (Table.States (550).Minimal_Complete_Actions, 
(1 => (Shift, 96, 723)));
+            Table.States (550).Minimal_Complete_Action := (Shift, 96, 723);
             Table.States (551).Productions := WisiToken.To_Vector ((1 => (331, 
1)));
             Add_Action (Table.States (551), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (331, 1), 4,
             use_clause_1'Access, null);
-            Set_Minimal_Action (Table.States (551).Minimal_Complete_Actions, 
(1 => (Reduce, 331, 4)));
+            Table.States (551).Minimal_Complete_Action := (Reduce, 331, 4);
             Table.States (552).Productions := WisiToken.To_Vector (((128, 0), 
(238, 0), (239, 0), (239, 1), (272, 0),
             (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (552), 76, 235);
@@ -7007,8 +6956,7 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (552));
             Add_Goto (Table.States (552), 115, 241);
             Add_Goto (Table.States (552), 322, 242);
-            Set_Minimal_Action (Table.States (552).Minimal_Complete_Actions, 
((Shift, 84, 237), (Shift, 102, 240),
-            (Reduce, 238, 3)));
+            Table.States (552).Minimal_Complete_Action := (Reduce, 238, 3);
             Table.States (553).Productions := WisiToken.To_Vector ((1 => (245, 
2)));
             Add_Action (Table.States (553), 104, 119);
             Add_Action (Table.States (553), 105, 33);
@@ -7018,10 +6966,10 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (553), 239, 724);
             Add_Goto (Table.States (553), 272, 92);
             Add_Goto (Table.States (553), 293, 97);
-            Set_Minimal_Action (Table.States (553).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (553).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (554).Productions := WisiToken.To_Vector ((1 => (241, 
0)));
             Add_Action (Table.States (554), (7, 21, 35, 56, 74, 77, 82, 96, 
104, 105, 106), (241, 0), 2, null, null);
-            Set_Minimal_Action (Table.States (554).Minimal_Complete_Actions, 
(1 => (Reduce, 241, 2)));
+            Table.States (554).Minimal_Complete_Action := (Reduce, 241, 2);
             Table.States (555).Productions := WisiToken.To_Vector ((1 => (245, 
1)));
             Add_Action (Table.States (555), 104, 119);
             Add_Action (Table.States (555), 105, 33);
@@ -7031,7 +6979,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (555), 239, 725);
             Add_Goto (Table.States (555), 272, 92);
             Add_Goto (Table.States (555), 293, 97);
-            Set_Minimal_Action (Table.States (555).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (555).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (556).Productions := WisiToken.To_Vector (((114, 0), 
(114, 1), (114, 2)));
             Add_Action (Table.States (556), 9, 726);
             Add_Action (Table.States (556), 16, 727);
@@ -7044,7 +6992,7 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (556));
             Add_Goto (Table.States (556), 208, 729);
             Add_Goto (Table.States (556), 270, 730);
-            Set_Minimal_Action (Table.States (556).Minimal_Complete_Actions, 
((Reduce, 208, 0), (Reduce, 270, 0)));
+            Table.States (556).Minimal_Complete_Action := (Reduce, 270, 0);
             Table.States (557).Productions := WisiToken.To_Vector (((128, 0), 
(239, 0), (239, 1), (245, 0), (272, 0),
             (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (557), 56, 731);
@@ -7055,14 +7003,13 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (557));
             Add_Goto (Table.States (557), 115, 241);
             Add_Goto (Table.States (557), 322, 242);
-            Set_Minimal_Action (Table.States (557).Minimal_Complete_Actions, 
((Shift, 56, 731), (Shift, 84, 237),
-            (Shift, 102, 240)));
+            Table.States (557).Minimal_Complete_Action := (Shift, 56, 731);
             Table.States (558).Productions := WisiToken.To_Vector ((1 => (133, 
1)));
             Add_Action (Table.States (558), 96, Reduce, (220, 1), 0, null, 
null);
             Add_Action (Table.States (558), 104, 149);
             Add_Error (Table.States (558));
             Add_Goto (Table.States (558), 220, 732);
-            Set_Minimal_Action (Table.States (558).Minimal_Complete_Actions, 
(1 => (Reduce, 220, 0)));
+            Table.States (558).Minimal_Complete_Action := (Reduce, 220, 0);
             Table.States (559).Productions := WisiToken.To_Vector ((1 => (218, 
0)));
             Add_Action (Table.States (559), 24, Reduce, (189, 1), 0, null, 
null);
             Add_Action (Table.States (559), 48, 16);
@@ -7072,18 +7019,15 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (559), 188, 735);
             Add_Goto (Table.States (559), 189, 736);
             Add_Goto (Table.States (559), 257, 737);
-            Set_Minimal_Action (Table.States (559).Minimal_Complete_Actions, 
(1 => (Reduce, 189, 0)));
+            Table.States (559).Minimal_Complete_Action := (Reduce, 189, 0);
             Table.States (560).Productions := WisiToken.To_Vector ((1 => (158, 
0)));
             Add_Action (Table.States (560), (13, 24, 25, 28, 29, 30, 40, 46, 
47, 48, 49, 50, 51, 63, 66, 69, 71, 104),
             (158, 0), 2, null, null);
-            Set_Minimal_Action (Table.States (560).Minimal_Complete_Actions, 
(1 => (Reduce, 158, 2)));
+            Table.States (560).Minimal_Complete_Action := (Reduce, 158, 2);
             Table.States (561).Productions := WisiToken.To_Vector ((1 => (158, 
1)));
             Add_Action (Table.States (561), (13, 24, 25, 28, 29, 30, 40, 46, 
47, 48, 49, 50, 51, 63, 66, 69, 71, 104),
             (158, 1), 2, null, null);
-            Set_Minimal_Action (Table.States (561).Minimal_Complete_Actions, 
(1 => (Reduce, 158, 2)));
-         end Subr_10;
-         procedure Subr_11
-         is begin
+            Table.States (561).Minimal_Complete_Action := (Reduce, 158, 2);
             Table.States (562).Productions := WisiToken.To_Vector ((1 => (133, 
0)));
             Add_Action (Table.States (562), 4, 1);
             Add_Action (Table.States (562), 5, 2);
@@ -7142,20 +7086,23 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (562), 303, 101);
             Add_Goto (Table.States (562), 306, 363);
             Add_Goto (Table.States (562), 323, 114);
-            Set_Minimal_Action (Table.States (562).Minimal_Complete_Actions, 
(1 => (Reduce, 218, 0)));
+            Table.States (562).Minimal_Complete_Action := (Reduce, 218, 0);
+         end Subr_10;
+         procedure Subr_11
+         is begin
             Table.States (563).Productions := WisiToken.To_Vector ((1 => (232, 
1)));
             Add_Action (Table.States (563), 37, 739);
             Add_Error (Table.States (563));
-            Set_Minimal_Action (Table.States (563).Minimal_Complete_Actions, 
(1 => (Shift, 37, 739)));
+            Table.States (563).Minimal_Complete_Action := (Shift, 37, 739);
             Table.States (564).Productions := WisiToken.To_Vector ((1 => (232, 
0)));
             Add_Action (Table.States (564), 24, 740);
             Add_Error (Table.States (564));
-            Set_Minimal_Action (Table.States (564).Minimal_Complete_Actions, 
(1 => (Shift, 24, 740)));
+            Table.States (564).Minimal_Complete_Action := (Shift, 24, 740);
             Table.States (565).Productions := WisiToken.To_Vector ((1 => (216, 
0)));
             Add_Action (Table.States (565), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (216, 0), 4,
             generic_subprogram_declaration_0'Access, null);
-            Set_Minimal_Action (Table.States (565).Minimal_Complete_Actions, 
(1 => (Reduce, 216, 4)));
+            Table.States (565).Minimal_Complete_Action := (Reduce, 216, 4);
             Table.States (566).Productions := WisiToken.To_Vector ((1 => (157, 
9)));
             Add_Action (Table.States (566), 3, 121);
             Add_Action (Table.States (566), 39, 122);
@@ -7191,15 +7138,15 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (566), 320, 144);
             Add_Goto (Table.States (566), 321, 145);
             Add_Goto (Table.States (566), 330, 146);
-            Set_Minimal_Action (Table.States (566).Minimal_Complete_Actions, 
(1 => (Reduce, 192, 0)));
+            Table.States (566).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (567).Productions := WisiToken.To_Vector ((1 => (186, 
0)));
             Add_Action (Table.States (567), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (186, 0), 4,
             exception_declaration_0'Access, null);
-            Set_Minimal_Action (Table.States (567).Minimal_Complete_Actions, 
(1 => (Reduce, 186, 4)));
+            Table.States (567).Minimal_Complete_Action := (Reduce, 186, 4);
             Table.States (568).Productions := WisiToken.To_Vector ((1 => (154, 
0)));
             Add_Action (Table.States (568), (7, 11, 21, 40, 74, 82, 96, 104, 
105, 106), (154, 0), 1, null, null);
-            Set_Minimal_Action (Table.States (568).Minimal_Complete_Actions, 
(1 => (Reduce, 154, 1)));
+            Table.States (568).Minimal_Complete_Action := (Reduce, 154, 1);
             Table.States (569).Productions := WisiToken.To_Vector (((244, 0), 
(244, 1), (244, 2), (244, 3), (244, 4),
             (244, 5)));
             Add_Action (Table.States (569), 7, Reduce, (241, 1), 0, null, 
null);
@@ -7217,26 +7164,25 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (569), 272, 92);
             Add_Goto (Table.States (569), 293, 97);
             Add_Goto (Table.States (569), 314, 745);
-            Set_Minimal_Action (Table.States (569).Minimal_Complete_Actions, 
((Shift, 11, 699), (Shift, 105, 33),
-            (Reduce, 241, 0)));
+            Table.States (569).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (570).Productions := WisiToken.To_Vector ((1 => (115, 
0)));
             Add_Action (Table.States (570), (4, 5, 10, 13, 15, 17, 18, 20, 21, 
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
             40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74, 
75, 76, 77, 78, 79, 82, 83, 84, 85, 86, 87,
             88, 89, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 104, 
105, 106), (115, 0), 3,
             actual_parameter_part_0'Access, null);
-            Set_Minimal_Action (Table.States (570).Minimal_Complete_Actions, 
(1 => (Reduce, 115, 3)));
+            Table.States (570).Minimal_Complete_Action := (Reduce, 115, 3);
             Table.States (571).Productions := WisiToken.To_Vector ((1 => (115, 
1)));
             Add_Action (Table.States (571), (4, 5, 10, 13, 15, 17, 18, 20, 21, 
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
             40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74, 
75, 76, 77, 78, 79, 82, 83, 84, 85, 86, 87,
             88, 89, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 104, 
105, 106), (115, 1), 3,
             actual_parameter_part_1'Access, null);
-            Set_Minimal_Action (Table.States (571).Minimal_Complete_Actions, 
(1 => (Reduce, 115, 3)));
+            Table.States (571).Minimal_Complete_Action := (Reduce, 115, 3);
             Table.States (572).Productions := WisiToken.To_Vector ((1 => (239, 
0)));
             Add_Action (Table.States (572), (4, 5, 10, 13, 15, 17, 18, 20, 21, 
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
             40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74, 
75, 76, 77, 78, 79, 82, 83, 84, 85, 86, 87,
             88, 89, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 104, 
105, 106), (239, 0), 4, name_0'Access,
             null);
-            Set_Minimal_Action (Table.States (572).Minimal_Complete_Actions, 
(1 => (Reduce, 239, 4)));
+            Table.States (572).Minimal_Complete_Action := (Reduce, 239, 4);
             Table.States (573).Productions := WisiToken.To_Vector ((1 => (278, 
0)));
             Add_Action (Table.States (573), 3, 121);
             Add_Action (Table.States (573), 39, 122);
@@ -7262,12 +7208,12 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (573), 320, 144);
             Add_Goto (Table.States (573), 321, 145);
             Add_Goto (Table.States (573), 330, 146);
-            Set_Minimal_Action (Table.States (573).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (573).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (574).Productions := WisiToken.To_Vector ((1 => (123, 
0)));
             Add_Action (Table.States (574), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (123, 0), 4, assignment_statement_0'Access, null);
-            Set_Minimal_Action (Table.States (574).Minimal_Complete_Actions, 
(1 => (Reduce, 123, 4)));
+            Table.States (574).Minimal_Complete_Action := (Reduce, 123, 4);
             Table.States (575).Productions := WisiToken.To_Vector (((179, 0), 
(199, 0)));
             Add_Action (Table.States (575), 3, 121);
             Add_Action (Table.States (575), 39, 122);
@@ -7300,21 +7246,21 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (575), 320, 144);
             Add_Goto (Table.States (575), 321, 145);
             Add_Goto (Table.States (575), 330, 146);
-            Set_Minimal_Action (Table.States (575).Minimal_Complete_Actions, 
((Shift, 105, 33), (Reduce, 255, 0)));
+            Table.States (575).Minimal_Complete_Action := (Reduce, 255, 0);
             Table.States (576).Productions := WisiToken.To_Vector ((1 => (179, 
1)));
             Add_Action (Table.States (576), 74, 337);
             Add_Action (Table.States (576), 96, Reduce, (122, 1), 0, null, 
null);
             Add_Error (Table.States (576));
             Add_Goto (Table.States (576), 122, 748);
-            Set_Minimal_Action (Table.States (576).Minimal_Complete_Actions, 
(1 => (Reduce, 122, 0)));
+            Table.States (576).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (577).Productions := WisiToken.To_Vector ((1 => (213, 
2)));
             Add_Action (Table.States (577), 39, 749);
             Add_Error (Table.States (577));
-            Set_Minimal_Action (Table.States (577).Minimal_Complete_Actions, 
(1 => (Shift, 39, 749)));
+            Table.States (577).Minimal_Complete_Action := (Shift, 39, 749);
             Table.States (578).Productions := WisiToken.To_Vector ((1 => (213, 
1)));
             Add_Action (Table.States (578), 39, 750);
             Add_Error (Table.States (578));
-            Set_Minimal_Action (Table.States (578).Minimal_Complete_Actions, 
(1 => (Shift, 39, 750)));
+            Table.States (578).Minimal_Complete_Action := (Shift, 39, 750);
             Table.States (579).Productions := WisiToken.To_Vector (((256, 0), 
(256, 1), (256, 2)));
             Add_Action (Table.States (579), 3, 121);
             Add_Action (Table.States (579), 15, 258);
@@ -7366,32 +7312,31 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (579), 320, 144);
             Add_Goto (Table.States (579), 321, 145);
             Add_Goto (Table.States (579), 330, 146);
-            Set_Minimal_Action (Table.States (579).Minimal_Complete_Actions, 
((Shift, 32, 260), (Reduce, 125, 0),
-            (Reduce, 192, 0)));
+            Table.States (579).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (580).Productions := WisiToken.To_Vector ((1 => (193, 
0)));
             Add_Action (Table.States (580), 74, 337);
             Add_Action (Table.States (580), 96, Reduce, (122, 1), 0, null, 
null);
             Add_Error (Table.States (580));
             Add_Goto (Table.States (580), 122, 754);
-            Set_Minimal_Action (Table.States (580).Minimal_Complete_Actions, 
(1 => (Reduce, 122, 0)));
+            Table.States (580).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (581).Productions := WisiToken.To_Vector ((1 => (243, 
0)));
             Add_Action (Table.States (581), 74, 337);
             Add_Action (Table.States (581), 96, Reduce, (122, 1), 0, null, 
null);
             Add_Error (Table.States (581));
             Add_Goto (Table.States (581), 122, 755);
-            Set_Minimal_Action (Table.States (581).Minimal_Complete_Actions, 
(1 => (Reduce, 122, 0)));
+            Table.States (581).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (582).Productions := WisiToken.To_Vector ((1 => (112, 
0)));
             Add_Action (Table.States (582), 74, 337);
             Add_Action (Table.States (582), 96, Reduce, (122, 1), 0, null, 
null);
             Add_Error (Table.States (582));
             Add_Goto (Table.States (582), 122, 756);
-            Set_Minimal_Action (Table.States (582).Minimal_Complete_Actions, 
(1 => (Reduce, 122, 0)));
+            Table.States (582).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (583).Productions := WisiToken.To_Vector ((1 => (308, 
0)));
             Add_Action (Table.States (583), 74, 337);
             Add_Action (Table.States (583), 96, Reduce, (122, 1), 0, null, 
null);
             Add_Error (Table.States (583));
             Add_Goto (Table.States (583), 122, 757);
-            Set_Minimal_Action (Table.States (583).Minimal_Complete_Actions, 
(1 => (Reduce, 122, 0)));
+            Table.States (583).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (584).Productions := WisiToken.To_Vector (((128, 0), 
(239, 0), (239, 1), (272, 0), (293, 0),
             (293, 1), (293, 2), (293, 3), (311, 0)));
             Add_Action (Table.States (584), 74, 337);
@@ -7404,8 +7349,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (584), 115, 241);
             Add_Goto (Table.States (584), 122, 758);
             Add_Goto (Table.States (584), 322, 242);
-            Set_Minimal_Action (Table.States (584).Minimal_Complete_Actions, 
((Shift, 84, 237), (Shift, 102, 240),
-            (Reduce, 122, 0)));
+            Table.States (584).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (585).Productions := WisiToken.To_Vector ((1 => (307, 
0)));
             Add_Action (Table.States (585), 13, Reduce, (159, 1), 0, null, 
null);
             Add_Action (Table.States (585), 25, Reduce, (246, 2), 0, null, 
null);
@@ -7477,12 +7421,12 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (585), 319, 113);
             Add_Goto (Table.States (585), 325, 115);
             Add_Goto (Table.States (585), 331, 116);
-            Set_Minimal_Action (Table.States (585).Minimal_Complete_Actions, 
(1 => (Reduce, 159, 0)));
+            Table.States (585).Minimal_Complete_Action := (Reduce, 159, 0);
             Table.States (586).Productions := WisiToken.To_Vector ((1 => (309, 
0)));
             Add_Action (Table.States (586), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (309, 0), 4,
             subprogram_declaration_0'Access, null);
-            Set_Minimal_Action (Table.States (586).Minimal_Complete_Actions, 
(1 => (Reduce, 309, 4)));
+            Table.States (586).Minimal_Complete_Action := (Reduce, 309, 4);
             Table.States (587).Productions := WisiToken.To_Vector ((1 => (113, 
0)));
             Add_Action (Table.States (587), 4, 1);
             Add_Action (Table.States (587), 5, 2);
@@ -7541,26 +7485,26 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (587), 303, 101);
             Add_Goto (Table.States (587), 306, 363);
             Add_Goto (Table.States (587), 323, 114);
-            Set_Minimal_Action (Table.States (587).Minimal_Complete_Actions, 
(1 => (Reduce, 218, 0)));
+            Table.States (587).Minimal_Complete_Action := (Reduce, 218, 0);
             Table.States (588).Productions := WisiToken.To_Vector ((1 => (113, 
1)));
             Add_Action (Table.States (588), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (113, 1), 5, accept_statement_1'Access, null);
-            Set_Minimal_Action (Table.States (588).Minimal_Complete_Actions, 
(1 => (Reduce, 113, 5)));
+            Table.States (588).Minimal_Complete_Action := (Reduce, 113, 5);
             Table.States (589).Productions := WisiToken.To_Vector ((1 => (275, 
0)));
             Add_Action (Table.States (589), (10, 20, 21, 22, 23, 35, 37, 43, 
53, 68, 74, 75, 77, 79, 83, 87, 96), (275,
             0), 4, raise_expression_0'Access, null);
-            Set_Minimal_Action (Table.States (589).Minimal_Complete_Actions, 
(1 => (Reduce, 275, 4)));
+            Table.States (589).Minimal_Complete_Action := (Reduce, 275, 4);
             Table.States (590).Productions := WisiToken.To_Vector ((1 => (136, 
0)));
             Add_Action (Table.States (590), 72, 761);
             Add_Error (Table.States (590));
             Add_Goto (Table.States (590), 137, 762);
             Add_Goto (Table.States (590), 138, 763);
-            Set_Minimal_Action (Table.States (590).Minimal_Complete_Actions, 
(1 => (Shift, 72, 761)));
+            Table.States (590).Minimal_Complete_Action := (Shift, 72, 761);
             Table.States (591).Productions := WisiToken.To_Vector ((1 => (273, 
0)));
             Add_Action (Table.States (591), 87, 764);
             Add_Error (Table.States (591));
-            Set_Minimal_Action (Table.States (591).Minimal_Complete_Actions, 
(1 => (Shift, 87, 764)));
+            Table.States (591).Minimal_Complete_Action := (Shift, 87, 764);
             Table.States (592).Productions := WisiToken.To_Vector (((221, 0), 
(221, 1), (221, 2), (221, 3)));
             Add_Action (Table.States (592), 3, 121);
             Add_Action (Table.States (592), 22, Reduce, (192, 1), 0, null, 
null);
@@ -7598,7 +7542,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (592), 320, 144);
             Add_Goto (Table.States (592), 321, 145);
             Add_Goto (Table.States (592), 330, 146);
-            Set_Minimal_Action (Table.States (592).Minimal_Complete_Actions, 
(1 => (Reduce, 192, 0)));
+            Table.States (592).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (593).Productions := WisiToken.To_Vector (((128, 0), 
(165, 1), (239, 0), (239, 1), (272, 0),
             (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (593), 76, 235);
@@ -7610,34 +7554,33 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (593));
             Add_Goto (Table.States (593), 115, 241);
             Add_Goto (Table.States (593), 322, 242);
-            Set_Minimal_Action (Table.States (593).Minimal_Complete_Actions, 
((Shift, 84, 237), (Shift, 102, 240),
-            (Reduce, 165, 3)));
+            Table.States (593).Minimal_Complete_Action := (Reduce, 165, 3);
             Table.States (594).Productions := WisiToken.To_Vector ((1 => (117, 
2)));
             Add_Action (Table.States (594), (4, 5, 10, 13, 15, 17, 18, 20, 21, 
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
             40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74, 
75, 76, 77, 78, 79, 82, 83, 84, 85, 86, 87,
             88, 89, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 104, 
105, 106), (117, 2), 4, null, null);
-            Set_Minimal_Action (Table.States (594).Minimal_Complete_Actions, 
(1 => (Reduce, 117, 4)));
+            Table.States (594).Minimal_Complete_Action := (Reduce, 117, 4);
             Table.States (595).Productions := WisiToken.To_Vector ((1 => (124, 
1)));
             Add_Action (Table.States (595), (35, 77, 83, 96), (124, 1), 3, 
null, null);
-            Set_Minimal_Action (Table.States (595).Minimal_Complete_Actions, 
(1 => (Reduce, 124, 3)));
+            Table.States (595).Minimal_Complete_Action := (Reduce, 124, 3);
             Table.States (596).Productions := WisiToken.To_Vector ((1 => (124, 
0)));
             Add_Action (Table.States (596), (35, 77, 83, 96), (124, 0), 3, 
association_opt_0'Access, null);
-            Set_Minimal_Action (Table.States (596).Minimal_Complete_Actions, 
(1 => (Reduce, 124, 3)));
+            Table.States (596).Minimal_Complete_Action := (Reduce, 124, 3);
             Table.States (597).Productions := WisiToken.To_Vector ((1 => (125, 
0)));
             Add_Action (Table.States (597), (35, 77, 83, 96), (125, 0), 3, 
null, null);
-            Set_Minimal_Action (Table.States (597).Minimal_Complete_Actions, 
(1 => (Reduce, 125, 3)));
+            Table.States (597).Minimal_Complete_Action := (Reduce, 125, 3);
             Table.States (598).Productions := WisiToken.To_Vector ((1 => (166, 
0)));
             Add_Action (Table.States (598), (79, 87), (166, 0), 3, null, null);
-            Set_Minimal_Action (Table.States (598).Minimal_Complete_Actions, 
(1 => (Reduce, 166, 3)));
+            Table.States (598).Minimal_Complete_Action := (Reduce, 166, 3);
             Table.States (599).Productions := WisiToken.To_Vector ((1 => (165, 
0)));
             Add_Action (Table.States (599), (79, 87), (165, 0), 1, null, null);
-            Set_Minimal_Action (Table.States (599).Minimal_Complete_Actions, 
(1 => (Reduce, 165, 1)));
+            Table.States (599).Minimal_Complete_Action := (Reduce, 165, 1);
             Table.States (600).Productions := WisiToken.To_Vector ((1 => (124, 
3)));
             Add_Action (Table.States (600), (35, 77, 83, 96), (124, 3), 3, 
association_opt_3'Access, null);
-            Set_Minimal_Action (Table.States (600).Minimal_Complete_Actions, 
(1 => (Reduce, 124, 3)));
+            Table.States (600).Minimal_Complete_Action := (Reduce, 124, 3);
             Table.States (601).Productions := WisiToken.To_Vector ((1 => (124, 
2)));
             Add_Action (Table.States (601), (35, 77, 83, 96), (124, 2), 3, 
association_opt_2'Access, null);
-            Set_Minimal_Action (Table.States (601).Minimal_Complete_Actions, 
(1 => (Reduce, 124, 3)));
+            Table.States (601).Minimal_Complete_Action := (Reduce, 124, 3);
             Table.States (602).Productions := WisiToken.To_Vector (((117, 0), 
(258, 1)));
             Add_Action (Table.States (602), 10, Reduce, (258, 1), 1, null, 
null);
             Add_Action (Table.States (602), 33, Reduce, (258, 1), 1, null, 
null);
@@ -7665,12 +7608,12 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (602), 99, Reduce, (258, 1), 1, null, 
null);
             Add_Action (Table.States (602), 100, Reduce, (258, 1), 1, null, 
null);
             Add_Error (Table.States (602));
-            Set_Minimal_Action (Table.States (602).Minimal_Complete_Actions, 
((Shift, 54, 766), (Reduce, 258, 1)));
+            Table.States (602).Minimal_Complete_Action := (Reduce, 258, 1);
             Table.States (603).Productions := WisiToken.To_Vector (((117, 1), 
(125, 0)));
             Add_Action (Table.States (603), 77, 767);
             Add_Action (Table.States (603), 83, 443);
             Add_Error (Table.States (603));
-            Set_Minimal_Action (Table.States (603).Minimal_Complete_Actions, 
(1 => (Shift, 77, 767)));
+            Table.States (603).Minimal_Complete_Action := (Shift, 77, 767);
             Table.States (604).Productions := WisiToken.To_Vector (((277, 0), 
(277, 1)));
             Add_Action (Table.States (604), 10, Reduce, (277, 1), 3, null, 
null);
             Add_Action (Table.States (604), 20, Reduce, (277, 1), 3, null, 
null);
@@ -7693,39 +7636,39 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (604), 87, Reduce, (277, 1), 3, null, 
null);
             Add_Action (Table.States (604), 96, Reduce, (277, 1), 3, null, 
null);
             Add_Error (Table.States (604));
-            Set_Minimal_Action (Table.States (604).Minimal_Complete_Actions, 
(1 => (Reduce, 277, 3)));
+            Table.States (604).Minimal_Complete_Action := (Reduce, 277, 3);
             Table.States (605).Productions := WisiToken.To_Vector ((1 => (277, 
2)));
             Add_Action (Table.States (605), (10, 20, 21, 22, 23, 35, 37, 42, 
43, 53, 68, 74, 75, 77, 79, 82, 83, 87,
             96), (277, 2), 3, null, null);
-            Set_Minimal_Action (Table.States (605).Minimal_Complete_Actions, 
(1 => (Reduce, 277, 3)));
+            Table.States (605).Minimal_Complete_Action := (Reduce, 277, 3);
             Table.States (606).Productions := WisiToken.To_Vector (((140, 0), 
(166, 0)));
             Add_Action (Table.States (606), 79, 445);
             Add_Action (Table.States (606), 87, 769);
             Add_Error (Table.States (606));
-            Set_Minimal_Action (Table.States (606).Minimal_Complete_Actions, 
(1 => (Shift, 87, 769)));
+            Table.States (606).Minimal_Complete_Action := (Shift, 87, 769);
             Table.States (607).Productions := WisiToken.To_Vector ((1 => (139, 
0)));
             Add_Action (Table.States (607), 15, 770);
             Add_Error (Table.States (607));
-            Set_Minimal_Action (Table.States (607).Minimal_Complete_Actions, 
(1 => (Shift, 15, 770)));
+            Table.States (607).Minimal_Complete_Action := (Shift, 15, 770);
             Table.States (608).Productions := WisiToken.To_Vector ((1 => (141, 
0)));
             Add_Action (Table.States (608), (24, 72), (141, 0), 2, null, null);
-            Set_Minimal_Action (Table.States (608).Minimal_Complete_Actions, 
(1 => (Reduce, 141, 2)));
+            Table.States (608).Minimal_Complete_Action := (Reduce, 141, 2);
             Table.States (609).Productions := WisiToken.To_Vector ((1 => (283, 
0)));
             Add_Action (Table.States (609), (10, 20, 21, 22, 23, 35, 37, 43, 
53, 68, 74, 75, 77, 79, 83, 87, 96), (283,
             0), 4, null, null);
-            Set_Minimal_Action (Table.States (609).Minimal_Complete_Actions, 
(1 => (Reduce, 283, 4)));
+            Table.States (609).Minimal_Complete_Action := (Reduce, 283, 4);
             Table.States (610).Productions := WisiToken.To_Vector ((1 => (285, 
0)));
             Add_Action (Table.States (610), (10, 20, 21, 22, 23, 35, 37, 43, 
53, 68, 74, 75, 77, 79, 83, 87, 96), (285,
             0), 4, null, null);
-            Set_Minimal_Action (Table.States (610).Minimal_Complete_Actions, 
(1 => (Reduce, 285, 4)));
+            Table.States (610).Minimal_Complete_Action := (Reduce, 285, 4);
             Table.States (611).Productions := WisiToken.To_Vector ((1 => (283, 
1)));
             Add_Action (Table.States (611), (10, 20, 21, 22, 23, 35, 37, 43, 
53, 68, 74, 75, 77, 79, 83, 87, 96), (283,
             1), 4, null, null);
-            Set_Minimal_Action (Table.States (611).Minimal_Complete_Actions, 
(1 => (Reduce, 283, 4)));
+            Table.States (611).Minimal_Complete_Action := (Reduce, 283, 4);
             Table.States (612).Productions := WisiToken.To_Vector ((1 => (285, 
1)));
             Add_Action (Table.States (612), (10, 20, 21, 22, 23, 35, 37, 43, 
53, 68, 74, 75, 77, 79, 83, 87, 96), (285,
             1), 4, null, null);
-            Set_Minimal_Action (Table.States (612).Minimal_Complete_Actions, 
(1 => (Reduce, 285, 4)));
+            Table.States (612).Minimal_Complete_Action := (Reduce, 285, 4);
             Table.States (613).Productions := WisiToken.To_Vector ((1 => (233, 
0)));
             Add_Action (Table.States (613), 3, 121);
             Add_Action (Table.States (613), 39, 122);
@@ -7752,7 +7695,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (613), 320, 144);
             Add_Goto (Table.States (613), 321, 145);
             Add_Goto (Table.States (613), 330, 146);
-            Set_Minimal_Action (Table.States (613).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (613).Minimal_Complete_Action := (Shift, 103, 129);
             Table.States (614).Productions := WisiToken.To_Vector (((233, 0), 
(287, 0)));
             Add_Action (Table.States (614), 10, Reduce, (287, 0), 4, null, 
null);
             Add_Action (Table.States (614), 20, Reduce, (287, 0), 4, null, 
null);
@@ -7772,12 +7715,12 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (614), 87, Reduce, (287, 0), 4, null, 
null);
             Add_Action (Table.States (614), 96, Reduce, (287, 0), 4, null, 
null);
             Add_Error (Table.States (614));
-            Set_Minimal_Action (Table.States (614).Minimal_Complete_Actions, 
(1 => (Reduce, 287, 4)));
+            Table.States (614).Minimal_Complete_Action := (Reduce, 287, 4);
             Table.States (615).Productions := WisiToken.To_Vector ((1 => (190, 
0)));
             Add_Action (Table.States (615), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (190, 0), 5, exit_statement_0'Access, null);
-            Set_Minimal_Action (Table.States (615).Minimal_Complete_Actions, 
(1 => (Reduce, 190, 5)));
+            Table.States (615).Minimal_Complete_Action := (Reduce, 190, 5);
             Table.States (616).Productions := WisiToken.To_Vector (((258, 1), 
(314, 0), (314, 1)));
             Add_Action (Table.States (616), 38, Reduce, (258, 1), 1, null, 
null);
             Add_Action (Table.States (616), 55, Reduce, (258, 1), 1, null, 
null);
@@ -7795,13 +7738,10 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (616), 239, 772);
             Add_Goto (Table.States (616), 272, 92);
             Add_Goto (Table.States (616), 293, 97);
-            Set_Minimal_Action (Table.States (616).Minimal_Complete_Actions, 
((Shift, 105, 33), (Reduce, 258, 1)));
-         end Subr_11;
-         procedure Subr_12
-         is begin
+            Table.States (616).Minimal_Complete_Action := (Reduce, 258, 1);
             Table.States (617).Productions := WisiToken.To_Vector ((1 => (230, 
2)));
             Add_Action (Table.States (617), (37, 87), (230, 2), 4, 
iterator_specification_2'Access, null);
-            Set_Minimal_Action (Table.States (617).Minimal_Complete_Actions, 
(1 => (Reduce, 230, 4)));
+            Table.States (617).Minimal_Complete_Action := (Reduce, 230, 4);
             Table.States (618).Productions := WisiToken.To_Vector ((1 => (155, 
0)));
             Add_Action (Table.States (618), 3, 121);
             Add_Action (Table.States (618), 39, 122);
@@ -7827,7 +7767,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (618), 320, 144);
             Add_Goto (Table.States (618), 321, 145);
             Add_Goto (Table.States (618), 330, 146);
-            Set_Minimal_Action (Table.States (618).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (618).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (619).Productions := WisiToken.To_Vector (((115, 0), 
(115, 1), (224, 0), (239, 0)));
             Add_Action (Table.States (619), 3, 121);
             Add_Action (Table.States (619), 15, 258);
@@ -7882,15 +7822,17 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (619), 320, 144);
             Add_Goto (Table.States (619), 321, 145);
             Add_Goto (Table.States (619), 330, 146);
-            Set_Minimal_Action (Table.States (619).Minimal_Complete_Actions, 
((Shift, 32, 260), (Shift, 105, 33),
-            (Reduce, 125, 0)));
+            Table.States (619).Minimal_Complete_Action := (Reduce, 125, 0);
+         end Subr_11;
+         procedure Subr_12
+         is begin
             Table.States (620).Productions := WisiToken.To_Vector ((1 => (314, 
2)));
             Add_Action (Table.States (620), (10, 21, 37, 42, 74, 77, 82, 83, 
87, 96), (314, 2), 2,
             subtype_indication_2'Access, null);
-            Set_Minimal_Action (Table.States (620).Minimal_Complete_Actions, 
(1 => (Reduce, 314, 2)));
+            Table.States (620).Minimal_Complete_Action := (Reduce, 314, 2);
             Table.States (621).Productions := WisiToken.To_Vector ((1 => (155, 
1)));
             Add_Action (Table.States (621), (10, 21, 37, 42, 74, 77, 82, 83, 
87, 96), (155, 1), 1, null, null);
-            Set_Minimal_Action (Table.States (621).Minimal_Complete_Actions, 
(1 => (Reduce, 155, 1)));
+            Table.States (621).Minimal_Complete_Action := (Reduce, 155, 1);
             Table.States (622).Productions := WisiToken.To_Vector (((128, 0), 
(230, 3), (239, 0), (239, 1), (272, 0),
             (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (622), 37, Reduce, (230, 3), 4, null, 
null);
@@ -7902,8 +7844,7 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (622));
             Add_Goto (Table.States (622), 115, 241);
             Add_Goto (Table.States (622), 322, 242);
-            Set_Minimal_Action (Table.States (622).Minimal_Complete_Actions, 
((Shift, 84, 237), (Shift, 102, 240),
-            (Reduce, 230, 4)));
+            Table.States (622).Minimal_Complete_Action := (Reduce, 230, 4);
             Table.States (623).Productions := WisiToken.To_Vector (((314, 0), 
(314, 1)));
             Add_Action (Table.States (623), 104, 119);
             Add_Action (Table.States (623), 105, 33);
@@ -7913,7 +7854,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (623), 239, 772);
             Add_Goto (Table.States (623), 272, 92);
             Add_Goto (Table.States (623), 293, 97);
-            Set_Minimal_Action (Table.States (623).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (623).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (624).Productions := WisiToken.To_Vector (((230, 0), 
(230, 1)));
             Add_Action (Table.States (624), 59, 778);
             Add_Action (Table.States (624), 104, 119);
@@ -7924,31 +7865,31 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (624), 239, 779);
             Add_Goto (Table.States (624), 272, 92);
             Add_Goto (Table.States (624), 293, 97);
-            Set_Minimal_Action (Table.States (624).Minimal_Complete_Actions, 
((Shift, 59, 778), (Shift, 105, 33)));
+            Table.States (624).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (625).Productions := WisiToken.To_Vector ((1 => (121, 
0)));
             Add_Action (Table.States (625), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 72, 73, 
74, 93, 104, 105, 106, 107), (121, 0), 5,
             aspect_clause_0'Access, null);
-            Set_Minimal_Action (Table.States (625).Minimal_Complete_Actions, 
(1 => (Reduce, 121, 5)));
+            Table.States (625).Minimal_Complete_Action := (Reduce, 121, 5);
             Table.States (626).Productions := WisiToken.To_Vector ((1 => (127, 
0)));
             Add_Action (Table.States (626), 96, 780);
             Add_Error (Table.States (626));
-            Set_Minimal_Action (Table.States (626).Minimal_Complete_Actions, 
(1 => (Shift, 96, 780)));
+            Table.States (626).Minimal_Complete_Action := (Shift, 96, 780);
             Table.States (627).Productions := WisiToken.To_Vector ((1 => (235, 
0)));
             Add_Action (Table.States (627), 38, 781);
             Add_Error (Table.States (627));
-            Set_Minimal_Action (Table.States (627).Minimal_Complete_Actions, 
(1 => (Shift, 38, 781)));
+            Table.States (627).Minimal_Complete_Action := (Shift, 38, 781);
             Table.States (628).Productions := WisiToken.To_Vector ((1 => (281, 
0)));
             Add_Action (Table.States (628), 104, 782);
             Add_Error (Table.States (628));
             Add_Goto (Table.States (628), 144, 783);
             Add_Goto (Table.States (628), 145, 784);
-            Set_Minimal_Action (Table.States (628).Minimal_Complete_Actions, 
(1 => (Shift, 104, 782)));
+            Table.States (628).Minimal_Complete_Action := (Shift, 104, 782);
             Table.States (629).Productions := WisiToken.To_Vector ((1 => (182, 
0)));
             Add_Action (Table.States (629), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 72, 73, 
74, 93, 104, 105, 106, 107), (182, 0), 5,
             enumeration_representation_clause_0'Access, null);
-            Set_Minimal_Action (Table.States (629).Minimal_Complete_Actions, 
(1 => (Reduce, 182, 5)));
+            Table.States (629).Minimal_Complete_Action := (Reduce, 182, 5);
             Table.States (630).Productions := WisiToken.To_Vector (((128, 0), 
(239, 0), (239, 1), (240, 0), (272, 0),
             (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (630), 21, Reduce, (240, 0), 1, null, 
name_opt_0_check'Access);
@@ -7965,11 +7906,10 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (630));
             Add_Goto (Table.States (630), 115, 241);
             Add_Goto (Table.States (630), 322, 242);
-            Set_Minimal_Action (Table.States (630).Minimal_Complete_Actions, 
((Shift, 84, 237), (Shift, 102, 240),
-            (Reduce, 240, 1)));
+            Table.States (630).Minimal_Complete_Action := (Reduce, 240, 1);
             Table.States (631).Productions := WisiToken.To_Vector ((1 => (291, 
0)));
             Add_Action (Table.States (631), (21, 35, 56, 74, 77, 82, 96), 
(291, 0), 3, result_profile_0'Access, null);
-            Set_Minimal_Action (Table.States (631).Minimal_Complete_Actions, 
(1 => (Reduce, 291, 3)));
+            Table.States (631).Minimal_Complete_Action := (Reduce, 291, 3);
             Table.States (632).Productions := WisiToken.To_Vector (((254, 0), 
(254, 1), (254, 2), (254, 3)));
             Add_Action (Table.States (632), 7, Reduce, (118, 1), 0, null, 
null);
             Add_Action (Table.States (632), 8, 401);
@@ -7984,11 +7924,11 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (632), 106, Reduce, (118, 1), 0, null, 
null);
             Add_Error (Table.States (632));
             Add_Goto (Table.States (632), 118, 785);
-            Set_Minimal_Action (Table.States (632).Minimal_Complete_Actions, 
(1 => (Reduce, 118, 0)));
+            Table.States (632).Minimal_Complete_Action := (Reduce, 118, 0);
             Table.States (633).Productions := WisiToken.To_Vector ((1 => (199, 
0)));
             Add_Action (Table.States (633), (21, 35, 56, 58, 72, 74, 77, 82, 
96), (199, 0), 3, formal_part_0'Access,
             null);
-            Set_Minimal_Action (Table.States (633).Minimal_Complete_Actions, 
(1 => (Reduce, 199, 3)));
+            Table.States (633).Minimal_Complete_Action := (Reduce, 199, 3);
             Table.States (634).Productions := WisiToken.To_Vector ((1 => (255, 
0)));
             Add_Action (Table.States (634), 77, Reduce, (254, 4), 0, null, 
null);
             Add_Action (Table.States (634), 96, Reduce, (254, 4), 0, null, 
null);
@@ -7996,7 +7936,7 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (634));
             Add_Goto (Table.States (634), 219, 493);
             Add_Goto (Table.States (634), 254, 786);
-            Set_Minimal_Action (Table.States (634).Minimal_Complete_Actions, 
(1 => (Reduce, 254, 0)));
+            Table.States (634).Minimal_Complete_Action := (Reduce, 254, 0);
             Table.States (635).Productions := WisiToken.To_Vector (((128, 0), 
(215, 2), (239, 0), (239, 1), (272, 0),
             (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (635), 74, 337);
@@ -8009,8 +7949,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (635), 115, 241);
             Add_Goto (Table.States (635), 122, 787);
             Add_Goto (Table.States (635), 322, 242);
-            Set_Minimal_Action (Table.States (635).Minimal_Complete_Actions, 
((Shift, 84, 237), (Shift, 102, 240),
-            (Reduce, 122, 0)));
+            Table.States (635).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (636).Productions := WisiToken.To_Vector (((128, 0), 
(215, 0), (239, 0), (239, 1), (272, 0),
             (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (636), 74, 337);
@@ -8023,8 +7962,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (636), 115, 241);
             Add_Goto (Table.States (636), 122, 788);
             Add_Goto (Table.States (636), 322, 242);
-            Set_Minimal_Action (Table.States (636).Minimal_Complete_Actions, 
((Shift, 84, 237), (Shift, 102, 240),
-            (Reduce, 122, 0)));
+            Table.States (636).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (637).Productions := WisiToken.To_Vector (((128, 0), 
(215, 1), (239, 0), (239, 1), (272, 0),
             (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (637), 74, 337);
@@ -8037,8 +7975,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (637), 115, 241);
             Add_Goto (Table.States (637), 122, 789);
             Add_Goto (Table.States (637), 322, 242);
-            Set_Minimal_Action (Table.States (637).Minimal_Complete_Actions, 
((Shift, 84, 237), (Shift, 102, 240),
-            (Reduce, 122, 0)));
+            Table.States (637).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (638).Productions := WisiToken.To_Vector (((201, 0), 
(201, 1)));
             Add_Action (Table.States (638), 6, 790);
             Add_Action (Table.States (638), 7, Reduce, (241, 1), 0, null, 
null);
@@ -8066,15 +8003,15 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (638), 203, 803);
             Add_Goto (Table.States (638), 228, 804);
             Add_Goto (Table.States (638), 241, 721);
-            Set_Minimal_Action (Table.States (638).Minimal_Complete_Actions, 
((Shift, 34, 702), (Shift, 65, 796)));
+            Table.States (638).Minimal_Complete_Action := (Reduce, 111, 0);
             Table.States (639).Productions := WisiToken.To_Vector ((1 => (201, 
2)));
             Add_Action (Table.States (639), 96, 805);
             Add_Error (Table.States (639));
-            Set_Minimal_Action (Table.States (639).Minimal_Complete_Actions, 
(1 => (Shift, 96, 805)));
+            Table.States (639).Minimal_Complete_Action := (Shift, 96, 805);
             Table.States (640).Productions := WisiToken.To_Vector ((1 => (204, 
0)));
             Add_Action (Table.States (640), 39, 806);
             Add_Error (Table.States (640));
-            Set_Minimal_Action (Table.States (640).Minimal_Complete_Actions, 
(1 => (Shift, 39, 806)));
+            Table.States (640).Minimal_Complete_Action := (Shift, 39, 806);
             Table.States (641).Productions := WisiToken.To_Vector (((200, 0), 
(200, 2)));
             Add_Action (Table.States (641), 41, 642);
             Add_Action (Table.States (641), 74, 337);
@@ -8090,13 +8027,13 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (641), 272, 92);
             Add_Goto (Table.States (641), 293, 97);
             Add_Goto (Table.States (641), 310, 808);
-            Set_Minimal_Action (Table.States (641).Minimal_Complete_Actions, 
((Shift, 41, 642), (Reduce, 122, 0)));
+            Table.States (641).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (642).Productions := WisiToken.To_Vector ((1 => (310, 
2)));
             Add_Action (Table.States (642), (74, 96), (310, 2), 1, null, null);
-            Set_Minimal_Action (Table.States (642).Minimal_Complete_Actions, 
(1 => (Reduce, 310, 1)));
+            Table.States (642).Minimal_Complete_Action := (Reduce, 310, 1);
             Table.States (643).Productions := WisiToken.To_Vector ((1 => (310, 
1)));
             Add_Action (Table.States (643), (74, 96), (310, 1), 1, null, null);
-            Set_Minimal_Action (Table.States (643).Minimal_Complete_Actions, 
(1 => (Reduce, 310, 1)));
+            Table.States (643).Minimal_Complete_Action := (Reduce, 310, 1);
             Table.States (644).Productions := WisiToken.To_Vector (((128, 0), 
(239, 0), (239, 1), (272, 0), (293, 0),
             (293, 1), (293, 2), (293, 3), (310, 0)));
             Add_Action (Table.States (644), 74, Reduce, (310, 0), 1, 
subprogram_default_0'Access, null);
@@ -8108,28 +8045,27 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (644));
             Add_Goto (Table.States (644), 115, 241);
             Add_Goto (Table.States (644), 322, 242);
-            Set_Minimal_Action (Table.States (644).Minimal_Complete_Actions, 
((Shift, 84, 237), (Shift, 102, 240),
-            (Reduce, 310, 1)));
+            Table.States (644).Minimal_Complete_Action := (Reduce, 310, 1);
             Table.States (645).Productions := WisiToken.To_Vector ((1 => (200, 
1)));
             Add_Action (Table.States (645), 74, 337);
             Add_Action (Table.States (645), 96, Reduce, (122, 1), 0, null, 
null);
             Add_Error (Table.States (645));
             Add_Goto (Table.States (645), 122, 809);
-            Set_Minimal_Action (Table.States (645).Minimal_Complete_Actions, 
(1 => (Reduce, 122, 0)));
+            Table.States (645).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (646).Productions := WisiToken.To_Vector ((1 => (200, 
3)));
             Add_Action (Table.States (646), (29, 47, 48, 50, 69, 71, 74, 104), 
(200, 3), 4,
             formal_subprogram_declaration_3'Access, null);
-            Set_Minimal_Action (Table.States (646).Minimal_Complete_Actions, 
(1 => (Reduce, 200, 4)));
+            Table.States (646).Minimal_Complete_Action := (Reduce, 200, 4);
             Table.States (647).Productions := WisiToken.To_Vector ((1 => (236, 
1)));
             Add_Action (Table.States (647), (7, 40, 74, 82, 96, 104, 105, 
106), (236, 1), 2, null, null);
-            Set_Minimal_Action (Table.States (647).Minimal_Complete_Actions, 
(1 => (Reduce, 236, 2)));
+            Table.States (647).Minimal_Complete_Action := (Reduce, 236, 2);
             Table.States (648).Productions := WisiToken.To_Vector (((198, 1), 
(198, 3)));
             Add_Action (Table.States (648), 74, 337);
             Add_Action (Table.States (648), 82, 810);
             Add_Action (Table.States (648), 96, Reduce, (122, 1), 0, null, 
null);
             Add_Error (Table.States (648));
             Add_Goto (Table.States (648), 122, 811);
-            Set_Minimal_Action (Table.States (648).Minimal_Complete_Actions, 
((Shift, 82, 810), (Reduce, 122, 0)));
+            Table.States (648).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (649).Productions := WisiToken.To_Vector (((114, 0), 
(114, 1), (114, 2), (198, 0), (198, 2)));
             Add_Action (Table.States (649), 7, 556);
             Add_Action (Table.States (649), 104, 119);
@@ -8140,7 +8076,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (649), 239, 812);
             Add_Goto (Table.States (649), 272, 92);
             Add_Goto (Table.States (649), 293, 97);
-            Set_Minimal_Action (Table.States (649).Minimal_Complete_Actions, 
((Shift, 7, 556), (Shift, 105, 33)));
+            Table.States (649).Minimal_Complete_Action := (Shift, 7, 556);
             Table.States (650).Productions := WisiToken.To_Vector ((1 => (222, 
1)));
             Add_Action (Table.States (650), 4, 1);
             Add_Action (Table.States (650), 5, 2);
@@ -8197,7 +8133,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (650), 303, 101);
             Add_Goto (Table.States (650), 306, 363);
             Add_Goto (Table.States (650), 323, 114);
-            Set_Minimal_Action (Table.States (650).Minimal_Complete_Actions, 
(1 => (Reduce, 300, 0)));
+            Table.States (650).Minimal_Complete_Action := (Reduce, 300, 0);
             Table.States (651).Productions := WisiToken.To_Vector ((1 => (174, 
0)));
             Add_Action (Table.States (651), 3, 121);
             Add_Action (Table.States (651), 39, 122);
@@ -8233,32 +8169,32 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (651), 320, 144);
             Add_Goto (Table.States (651), 321, 145);
             Add_Goto (Table.States (651), 330, 146);
-            Set_Minimal_Action (Table.States (651).Minimal_Complete_Actions, 
(1 => (Reduce, 192, 0)));
+            Table.States (651).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (652).Productions := WisiToken.To_Vector ((1 => (222, 
3)));
             Add_Action (Table.States (652), 32, 815);
             Add_Error (Table.States (652));
-            Set_Minimal_Action (Table.States (652).Minimal_Complete_Actions, 
(1 => (Shift, 32, 815)));
+            Table.States (652).Minimal_Complete_Action := (Shift, 32, 815);
             Table.States (653).Productions := WisiToken.To_Vector ((1 => (175, 
1)));
             Add_Action (Table.States (653), (22, 23, 24), (175, 1), 1, null, 
null);
-            Set_Minimal_Action (Table.States (653).Minimal_Complete_Actions, 
(1 => (Reduce, 175, 1)));
+            Table.States (653).Minimal_Complete_Action := (Reduce, 175, 1);
             Table.States (654).Productions := WisiToken.To_Vector (((175, 0), 
(222, 0), (222, 2)));
             Add_Action (Table.States (654), 22, 816);
             Add_Action (Table.States (654), 23, 651);
             Add_Action (Table.States (654), 24, 817);
             Add_Error (Table.States (654));
             Add_Goto (Table.States (654), 174, 818);
-            Set_Minimal_Action (Table.States (654).Minimal_Complete_Actions, 
((Shift, 22, 816), (Shift, 24, 817)));
+            Table.States (654).Minimal_Complete_Action := (Shift, 24, 817);
             Table.States (655).Productions := WisiToken.To_Vector ((1 => (332, 
0)));
             Add_Action (Table.States (655), (4, 5, 13, 15, 17, 18, 25, 27, 28, 
29, 30, 31, 32, 36, 37, 40, 41, 46, 47,
             48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 93, 
104, 105, 106, 107), (332, 0), 5,
             with_clause_0'Access, null);
-            Set_Minimal_Action (Table.States (655).Minimal_Complete_Actions, 
(1 => (Reduce, 332, 5)));
+            Table.States (655).Minimal_Complete_Action := (Reduce, 332, 5);
             Table.States (656).Productions := WisiToken.To_Vector ((1 => (248, 
0)));
             Add_Action (Table.States (656), 74, 337);
             Add_Action (Table.States (656), 96, Reduce, (122, 1), 0, null, 
null);
             Add_Error (Table.States (656));
             Add_Goto (Table.States (656), 122, 819);
-            Set_Minimal_Action (Table.States (656).Minimal_Complete_Actions, 
(1 => (Reduce, 122, 0)));
+            Table.States (656).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (657).Productions := WisiToken.To_Vector (((247, 0), 
(247, 1)));
             Add_Action (Table.States (657), 13, Reduce, (159, 1), 0, null, 
null);
             Add_Action (Table.States (657), 24, Reduce, (159, 1), 0, null, 
null);
@@ -8331,7 +8267,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (657), 319, 113);
             Add_Goto (Table.States (657), 325, 115);
             Add_Goto (Table.States (657), 331, 116);
-            Set_Minimal_Action (Table.States (657).Minimal_Complete_Actions, 
(1 => (Reduce, 159, 0)));
+            Table.States (657).Minimal_Complete_Action := (Reduce, 159, 0);
             Table.States (658).Productions := WisiToken.To_Vector (((128, 0), 
(213, 0), (239, 0), (239, 1), (272, 0),
             (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (658), 74, 337);
@@ -8344,31 +8280,30 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (658), 115, 241);
             Add_Goto (Table.States (658), 122, 821);
             Add_Goto (Table.States (658), 322, 242);
-            Set_Minimal_Action (Table.States (658).Minimal_Complete_Actions, 
((Shift, 84, 237), (Shift, 102, 240),
-            (Reduce, 122, 0)));
+            Table.States (658).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (659).Productions := WisiToken.To_Vector ((1 => (250, 
0)));
             Add_Action (Table.States (659), 96, 822);
             Add_Error (Table.States (659));
-            Set_Minimal_Action (Table.States (659).Minimal_Complete_Actions, 
(1 => (Shift, 96, 822)));
+            Table.States (659).Minimal_Complete_Action := (Shift, 96, 822);
             Table.States (660).Productions := WisiToken.To_Vector (((251, 0), 
(251, 1)));
             Add_Action (Table.States (660), 24, 823);
             Add_Action (Table.States (660), 49, 824);
             Add_Error (Table.States (660));
-            Set_Minimal_Action (Table.States (660).Minimal_Complete_Actions, 
((Shift, 24, 823), (Shift, 49, 824)));
+            Table.States (660).Minimal_Complete_Action := (Shift, 24, 823);
             Table.States (661).Productions := WisiToken.To_Vector ((1 => (257, 
0)));
             Add_Action (Table.States (661), 96, 825);
             Add_Error (Table.States (661));
-            Set_Minimal_Action (Table.States (661).Minimal_Complete_Actions, 
(1 => (Shift, 96, 825)));
+            Table.States (661).Minimal_Complete_Action := (Shift, 96, 825);
             Table.States (662).Productions := WisiToken.To_Vector ((1 => (257, 
1)));
             Add_Action (Table.States (662), 96, 826);
             Add_Error (Table.States (662));
-            Set_Minimal_Action (Table.States (662).Minimal_Complete_Actions, 
(1 => (Shift, 96, 826)));
+            Table.States (662).Minimal_Complete_Action := (Shift, 96, 826);
             Table.States (663).Productions := WisiToken.To_Vector ((1 => (265, 
0)));
             Add_Action (Table.States (663), 74, 337);
             Add_Action (Table.States (663), 96, Reduce, (122, 1), 0, null, 
null);
             Add_Error (Table.States (663));
             Add_Goto (Table.States (663), 122, 827);
-            Set_Minimal_Action (Table.States (663).Minimal_Complete_Actions, 
(1 => (Reduce, 122, 0)));
+            Table.States (663).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (664).Productions := WisiToken.To_Vector ((1 => (264, 
0)));
             Add_Action (Table.States (664), 24, Reduce, (269, 1), 0, null, 
null);
             Add_Action (Table.States (664), 25, 828);
@@ -8393,11 +8328,11 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (664), 281, 94);
             Add_Goto (Table.States (664), 307, 837);
             Add_Goto (Table.States (664), 309, 838);
-            Set_Minimal_Action (Table.States (664).Minimal_Complete_Actions, 
(1 => (Reduce, 269, 0)));
+            Table.States (664).Minimal_Complete_Action := (Reduce, 269, 0);
             Table.States (665).Productions := WisiToken.To_Vector (((271, 0), 
(271, 1)));
             Add_Action (Table.States (665), 35, 839);
             Add_Error (Table.States (665));
-            Set_Minimal_Action (Table.States (665).Minimal_Complete_Actions, 
(1 => (Shift, 35, 839)));
+            Table.States (665).Minimal_Complete_Action := (Shift, 35, 839);
             Table.States (666).Productions := WisiToken.To_Vector ((1 => (304, 
0)));
             Add_Action (Table.States (666), 104, 119);
             Add_Action (Table.States (666), 105, 33);
@@ -8408,26 +8343,26 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (666), 239, 841);
             Add_Goto (Table.States (666), 272, 92);
             Add_Goto (Table.States (666), 293, 97);
-            Set_Minimal_Action (Table.States (666).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (666).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (667).Productions := WisiToken.To_Vector (((266, 0), 
(266, 1)));
             Add_Action (Table.States (667), 24, 842);
             Add_Action (Table.States (667), 49, 843);
             Add_Error (Table.States (667));
-            Set_Minimal_Action (Table.States (667).Minimal_Complete_Actions, 
((Shift, 24, 842), (Shift, 49, 843)));
+            Table.States (667).Minimal_Complete_Action := (Shift, 24, 842);
             Table.States (668).Productions := WisiToken.To_Vector ((1 => (304, 
1)));
             Add_Action (Table.States (668), 96, 844);
             Add_Error (Table.States (668));
-            Set_Minimal_Action (Table.States (668).Minimal_Complete_Actions, 
(1 => (Shift, 96, 844)));
+            Table.States (668).Minimal_Complete_Action := (Shift, 96, 844);
             Table.States (669).Productions := WisiToken.To_Vector ((1 => (276, 
0)));
             Add_Action (Table.States (669), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (276, 0), 5, raise_statement_0'Access, null);
-            Set_Minimal_Action (Table.States (669).Minimal_Complete_Actions, 
(1 => (Reduce, 276, 5)));
+            Table.States (669).Minimal_Complete_Action := (Reduce, 276, 5);
             Table.States (670).Productions := WisiToken.To_Vector ((1 => (290, 
0)));
             Add_Action (Table.States (670), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (290, 0), 5, requeue_statement_0'Access, null);
-            Set_Minimal_Action (Table.States (670).Minimal_Complete_Actions, 
(1 => (Reduce, 290, 5)));
+            Table.States (670).Minimal_Complete_Action := (Reduce, 290, 5);
             Table.States (671).Productions := WisiToken.To_Vector (((194, 0), 
(194, 1)));
             Add_Action (Table.States (671), 7, Reduce, (241, 1), 0, null, 
null);
             Add_Action (Table.States (671), 40, 742);
@@ -8443,23 +8378,23 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (671), 292, 846);
             Add_Goto (Table.States (671), 293, 97);
             Add_Goto (Table.States (671), 314, 847);
-            Set_Minimal_Action (Table.States (671).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (671).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (672).Productions := WisiToken.To_Vector ((1 => (196, 
0)));
             Add_Action (Table.States (672), 58, 848);
             Add_Error (Table.States (672));
-            Set_Minimal_Action (Table.States (672).Minimal_Complete_Actions, 
(1 => (Shift, 58, 848)));
+            Table.States (672).Minimal_Complete_Action := (Shift, 58, 848);
             Table.States (673).Productions := WisiToken.To_Vector (((247, 0), 
(247, 1)));
             Add_Action (Table.States (673), 14, 849);
             Add_Error (Table.States (673));
-            Set_Minimal_Action (Table.States (673).Minimal_Complete_Actions, 
(1 => (Shift, 14, 849)));
+            Table.States (673).Minimal_Complete_Action := (Shift, 14, 849);
             Table.States (674).Productions := WisiToken.To_Vector ((1 => (264, 
0)));
             Add_Action (Table.States (674), 14, 850);
             Add_Error (Table.States (674));
-            Set_Minimal_Action (Table.States (674).Minimal_Complete_Actions, 
(1 => (Shift, 14, 850)));
+            Table.States (674).Minimal_Complete_Action := (Shift, 14, 850);
             Table.States (675).Productions := WisiToken.To_Vector ((1 => (316, 
0)));
             Add_Action (Table.States (675), 14, 851);
             Add_Error (Table.States (675));
-            Set_Minimal_Action (Table.States (675).Minimal_Complete_Actions, 
(1 => (Shift, 14, 851)));
+            Table.States (675).Minimal_Complete_Action := (Shift, 14, 851);
             Table.States (676).Productions := WisiToken.To_Vector ((1 => (307, 
0)));
             Add_Action (Table.States (676), 29, 7);
             Add_Action (Table.States (676), 50, 18);
@@ -8467,16 +8402,16 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (676), 207, 61);
             Add_Goto (Table.States (676), 262, 87);
             Add_Goto (Table.States (676), 312, 852);
-            Set_Minimal_Action (Table.States (676).Minimal_Complete_Actions, 
(1 => (Shift, 50, 18)));
+            Table.States (676).Minimal_Complete_Action := (Shift, 50, 18);
             Table.States (677).Productions := WisiToken.To_Vector ((1 => (315, 
0)));
             Add_Action (Table.States (677), (4, 5, 13, 15, 17, 18, 25, 27, 28, 
29, 30, 31, 32, 36, 37, 40, 41, 46, 47,
             48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 93, 
104, 105, 106, 107), (315, 0), 5,
             subunit_0'Access, null);
-            Set_Minimal_Action (Table.States (677).Minimal_Complete_Actions, 
(1 => (Reduce, 315, 5)));
+            Table.States (677).Minimal_Complete_Action := (Reduce, 315, 5);
             Table.States (678).Productions := WisiToken.To_Vector ((1 => (295, 
1)));
             Add_Action (Table.States (678), 96, 853);
             Add_Error (Table.States (678));
-            Set_Minimal_Action (Table.States (678).Minimal_Complete_Actions, 
(1 => (Shift, 96, 853)));
+            Table.States (678).Minimal_Complete_Action := (Shift, 96, 853);
             Table.States (679).Productions := WisiToken.To_Vector ((1 => (295, 
0)));
             Add_Action (Table.States (679), 4, 1);
             Add_Action (Table.States (679), 5, 2);
@@ -8535,47 +8470,44 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (679), 303, 101);
             Add_Goto (Table.States (679), 306, 363);
             Add_Goto (Table.States (679), 323, 114);
-            Set_Minimal_Action (Table.States (679).Minimal_Complete_Actions, 
(1 => (Reduce, 300, 0)));
-         end Subr_12;
-         procedure Subr_13
-         is begin
+            Table.States (679).Minimal_Complete_Action := (Reduce, 300, 0);
             Table.States (680).Productions := WisiToken.To_Vector ((1 => (295, 
2)));
             Add_Action (Table.States (680), (22, 24, 43), (295, 2), 4, 
select_alternative_2'Access, null);
-            Set_Minimal_Action (Table.States (680).Minimal_Complete_Actions, 
(1 => (Reduce, 295, 4)));
+            Table.States (680).Minimal_Complete_Action := (Reduce, 295, 4);
             Table.States (681).Productions := WisiToken.To_Vector ((1 => (152, 
0)));
             Add_Action (Table.States (681), 61, 855);
             Add_Error (Table.States (681));
-            Set_Minimal_Action (Table.States (681).Minimal_Complete_Actions, 
(1 => (Shift, 61, 855)));
+            Table.States (681).Minimal_Complete_Action := (Shift, 61, 855);
             Table.States (682).Productions := WisiToken.To_Vector ((1 => (323, 
0)));
             Add_Action (Table.States (682), 61, 856);
             Add_Error (Table.States (682));
-            Set_Minimal_Action (Table.States (682).Minimal_Complete_Actions, 
(1 => (Shift, 61, 856)));
+            Table.States (682).Minimal_Complete_Action := (Shift, 61, 856);
             Table.States (683).Productions := WisiToken.To_Vector ((1 => (160, 
0)));
             Add_Action (Table.States (683), (22, 24, 43), (160, 0), 2, null, 
null);
-            Set_Minimal_Action (Table.States (683).Minimal_Complete_Actions, 
(1 => (Reduce, 160, 2)));
+            Table.States (683).Minimal_Complete_Action := (Reduce, 160, 2);
             Table.States (684).Productions := WisiToken.To_Vector ((1 => (294, 
0)));
             Add_Action (Table.States (684), 61, 857);
             Add_Error (Table.States (684));
-            Set_Minimal_Action (Table.States (684).Minimal_Complete_Actions, 
(1 => (Shift, 61, 857)));
+            Table.States (684).Minimal_Complete_Action := (Shift, 61, 857);
             Table.States (685).Productions := WisiToken.To_Vector ((1 => (294, 
1)));
             Add_Action (Table.States (685), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (294, 1), 5, selective_accept_1'Access, null);
-            Set_Minimal_Action (Table.States (685).Minimal_Complete_Actions, 
(1 => (Reduce, 294, 5)));
+            Table.States (685).Minimal_Complete_Action := (Reduce, 294, 5);
             Table.States (686).Productions := WisiToken.To_Vector ((1 => (126, 
0)));
             Add_Action (Table.States (686), 24, 858);
             Add_Error (Table.States (686));
-            Set_Minimal_Action (Table.States (686).Minimal_Complete_Actions, 
(1 => (Shift, 24, 858)));
+            Table.States (686).Minimal_Complete_Action := (Shift, 24, 858);
             Table.States (687).Productions := WisiToken.To_Vector ((1 => (313, 
0)));
             Add_Action (Table.States (687), 96, 859);
             Add_Error (Table.States (687));
-            Set_Minimal_Action (Table.States (687).Minimal_Complete_Actions, 
(1 => (Shift, 96, 859)));
+            Table.States (687).Minimal_Complete_Action := (Shift, 96, 859);
             Table.States (688).Productions := WisiToken.To_Vector ((1 => (317, 
0)));
             Add_Action (Table.States (688), 74, 337);
             Add_Action (Table.States (688), 96, Reduce, (122, 1), 0, null, 
null);
             Add_Error (Table.States (688));
             Add_Goto (Table.States (688), 122, 860);
-            Set_Minimal_Action (Table.States (688).Minimal_Complete_Actions, 
(1 => (Reduce, 122, 0)));
+            Table.States (688).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (689).Productions := WisiToken.To_Vector ((1 => (316, 
0)));
             Add_Action (Table.States (689), 13, Reduce, (159, 1), 0, null, 
null);
             Add_Action (Table.States (689), 25, Reduce, (246, 2), 0, null, 
null);
@@ -8647,12 +8579,15 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (689), 319, 113);
             Add_Goto (Table.States (689), 325, 115);
             Add_Goto (Table.States (689), 331, 116);
-            Set_Minimal_Action (Table.States (689).Minimal_Complete_Actions, 
(1 => (Reduce, 159, 0)));
+            Table.States (689).Minimal_Complete_Action := (Reduce, 159, 0);
+         end Subr_12;
+         procedure Subr_13
+         is begin
             Table.States (690).Productions := WisiToken.To_Vector (((319, 0), 
(319, 1), (319, 2)));
             Add_Action (Table.States (690), 35, 862);
             Add_Action (Table.States (690), 96, 863);
             Add_Error (Table.States (690));
-            Set_Minimal_Action (Table.States (690).Minimal_Complete_Actions, 
((Shift, 35, 862), (Shift, 96, 863)));
+            Table.States (690).Minimal_Complete_Action := (Shift, 96, 863);
             Table.States (691).Productions := WisiToken.To_Vector ((1 => (305, 
0)));
             Add_Action (Table.States (691), 104, 119);
             Add_Action (Table.States (691), 105, 33);
@@ -8663,22 +8598,22 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (691), 239, 841);
             Add_Goto (Table.States (691), 272, 92);
             Add_Goto (Table.States (691), 293, 97);
-            Set_Minimal_Action (Table.States (691).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (691).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (692).Productions := WisiToken.To_Vector (((318, 0), 
(318, 1)));
             Add_Action (Table.States (692), 24, Reduce, (318, 1), 1, 
task_definition_1'Access, null);
             Add_Action (Table.States (692), 49, 865);
             Add_Error (Table.States (692));
-            Set_Minimal_Action (Table.States (692).Minimal_Complete_Actions, 
(1 => (Reduce, 318, 1)));
+            Table.States (692).Minimal_Complete_Action := (Reduce, 318, 1);
             Table.States (693).Productions := WisiToken.To_Vector ((1 => (305, 
1)));
             Add_Action (Table.States (693), 24, 866);
             Add_Error (Table.States (693));
-            Set_Minimal_Action (Table.States (693).Minimal_Complete_Actions, 
(1 => (Shift, 24, 866)));
+            Table.States (693).Minimal_Complete_Action := (Shift, 24, 866);
             Table.States (694).Productions := WisiToken.To_Vector ((1 => (169, 
0)));
             Add_Action (Table.States (694), (35, 74, 96), (169, 0), 3, null, 
null);
-            Set_Minimal_Action (Table.States (694).Minimal_Complete_Actions, 
(1 => (Reduce, 169, 3)));
+            Table.States (694).Minimal_Complete_Action := (Reduce, 169, 3);
             Table.States (695).Productions := WisiToken.To_Vector ((1 => (169, 
1)));
             Add_Action (Table.States (695), (35, 74, 96), (169, 1), 3, 
discriminant_part_opt_1'Access, null);
-            Set_Minimal_Action (Table.States (695).Minimal_Complete_Actions, 
(1 => (Reduce, 169, 3)));
+            Table.States (695).Minimal_Complete_Action := (Reduce, 169, 3);
             Table.States (696).Productions := WisiToken.To_Vector ((1 => (171, 
0)));
             Add_Action (Table.States (696), 77, Reduce, (170, 4), 0, null, 
null);
             Add_Action (Table.States (696), 96, Reduce, (170, 4), 0, null, 
null);
@@ -8686,7 +8621,7 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (696));
             Add_Goto (Table.States (696), 170, 867);
             Add_Goto (Table.States (696), 219, 547);
-            Set_Minimal_Action (Table.States (696).Minimal_Complete_Actions, 
(1 => (Reduce, 170, 0)));
+            Table.States (696).Minimal_Complete_Action := (Reduce, 170, 0);
             Table.States (697).Productions := WisiToken.To_Vector (((170, 0), 
(170, 1), (170, 2), (170, 3)));
             Add_Action (Table.States (697), 7, Reduce, (241, 1), 0, null, 
null);
             Add_Action (Table.States (697), 40, 868);
@@ -8701,7 +8636,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (697), 242, 872);
             Add_Goto (Table.States (697), 272, 92);
             Add_Goto (Table.States (697), 293, 873);
-            Set_Minimal_Action (Table.States (697).Minimal_Complete_Actions, 
((Shift, 104, 869), (Reduce, 241, 0)));
+            Table.States (697).Minimal_Complete_Action := (Shift, 104, 869);
             Table.States (698).Productions := WisiToken.To_Vector (((109, 0), 
(109, 1), (109, 2), (110, 0), (110, 2),
             (111, 0), (111, 1)));
             Add_Action (Table.States (698), 36, 874);
@@ -8709,12 +8644,11 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (698), 64, 875);
             Add_Action (Table.States (698), 65, 876);
             Add_Error (Table.States (698));
-            Set_Minimal_Action (Table.States (698).Minimal_Complete_Actions, 
((Shift, 65, 876), (Reduce, 109, 1),
-            (Reduce, 110, 1)));
+            Table.States (698).Minimal_Complete_Action := (Reduce, 109, 1);
             Table.States (699).Productions := WisiToken.To_Vector (((120, 0), 
(120, 1)));
             Add_Action (Table.States (699), 76, 877);
             Add_Error (Table.States (699));
-            Set_Minimal_Action (Table.States (699).Minimal_Complete_Actions, 
(1 => (Shift, 76, 877)));
+            Table.States (699).Minimal_Complete_Action := (Shift, 76, 877);
             Table.States (700).Productions := WisiToken.To_Vector (((326, 4), 
(326, 5)));
             Add_Action (Table.States (700), 3, 121);
             Add_Action (Table.States (700), 20, Reduce, (192, 1), 0, null, 
null);
@@ -8753,7 +8687,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (700), 320, 144);
             Add_Goto (Table.States (700), 321, 145);
             Add_Goto (Table.States (700), 330, 146);
-            Set_Minimal_Action (Table.States (700).Minimal_Complete_Actions, 
(1 => (Reduce, 192, 0)));
+            Table.States (700).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (701).Productions := WisiToken.To_Vector ((1 => (326, 
3)));
             Add_Action (Table.States (701), 3, 121);
             Add_Action (Table.States (701), 39, 122);
@@ -8791,10 +8725,10 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (701), 320, 144);
             Add_Goto (Table.States (701), 321, 145);
             Add_Goto (Table.States (701), 330, 146);
-            Set_Minimal_Action (Table.States (701).Minimal_Complete_Actions, 
(1 => (Reduce, 192, 0)));
+            Table.States (701).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (702).Productions := WisiToken.To_Vector ((1 => (228, 
8)));
             Add_Action (Table.States (702), (74, 96), (228, 8), 1, null, null);
-            Set_Minimal_Action (Table.States (702).Minimal_Complete_Actions, 
(1 => (Reduce, 228, 1)));
+            Table.States (702).Minimal_Complete_Action := (Reduce, 228, 1);
             Table.States (703).Productions := WisiToken.To_Vector (((109, 3), 
(110, 1), (111, 4), (228, 0), (228, 4)));
             Add_Action (Table.States (703), 34, 880);
             Add_Action (Table.States (703), 39, Reduce, (109, 3), 1, null, 
null, (110, 1), 1, null, null);
@@ -8802,8 +8736,7 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (703), 49, Reduce, (111, 4), 1, null, 
null);
             Add_Action (Table.States (703), 54, Reduce, (111, 4), 1, null, 
null);
             Add_Error (Table.States (703));
-            Set_Minimal_Action (Table.States (703).Minimal_Complete_Actions, 
((Shift, 34, 880), (Reduce, 109, 1),
-            (Reduce, 110, 1), (Reduce, 111, 1)));
+            Table.States (703).Minimal_Complete_Action := (Reduce, 109, 1);
             Table.States (704).Productions := WisiToken.To_Vector ((1 => (326, 
2)));
             Add_Action (Table.States (704), 3, 121);
             Add_Action (Table.States (704), 39, 122);
@@ -8840,15 +8773,15 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (704), 320, 144);
             Add_Goto (Table.States (704), 321, 145);
             Add_Goto (Table.States (704), 330, 146);
-            Set_Minimal_Action (Table.States (704).Minimal_Complete_Actions, 
(1 => (Reduce, 192, 0)));
+            Table.States (704).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (705).Productions := WisiToken.To_Vector ((1 => (280, 
1)));
             Add_Action (Table.States (705), 54, 882);
             Add_Error (Table.States (705));
-            Set_Minimal_Action (Table.States (705).Minimal_Complete_Actions, 
(1 => (Shift, 54, 882)));
+            Table.States (705).Minimal_Complete_Action := (Shift, 54, 882);
             Table.States (706).Productions := WisiToken.To_Vector (((228, 2), 
(228, 6)));
             Add_Action (Table.States (706), 34, 883);
             Add_Error (Table.States (706));
-            Set_Minimal_Action (Table.States (706).Minimal_Complete_Actions, 
(1 => (Shift, 34, 883)));
+            Table.States (706).Minimal_Complete_Action := (Shift, 34, 883);
             Table.States (707).Productions := WisiToken.To_Vector ((1 => (326, 
1)));
             Add_Action (Table.States (707), 3, 121);
             Add_Action (Table.States (707), 39, 122);
@@ -8873,7 +8806,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (707), 320, 144);
             Add_Goto (Table.States (707), 321, 145);
             Add_Goto (Table.States (707), 330, 146);
-            Set_Minimal_Action (Table.States (707).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (707).Minimal_Complete_Action := (Shift, 103, 129);
             Table.States (708).Productions := WisiToken.To_Vector ((1 => (280, 
0)));
             Add_Action (Table.States (708), 15, 885);
             Add_Action (Table.States (708), 24, Reduce, (150, 1), 0, null, 
null);
@@ -8891,12 +8824,12 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (708), 219, 892);
             Add_Goto (Table.States (708), 281, 94);
             Add_Goto (Table.States (708), 327, 893);
-            Set_Minimal_Action (Table.States (708).Minimal_Complete_Actions, 
(1 => (Reduce, 150, 0)));
+            Table.States (708).Minimal_Complete_Action := (Reduce, 150, 0);
             Table.States (709).Productions := WisiToken.To_Vector (((109, 4), 
(228, 3), (228, 7)));
             Add_Action (Table.States (709), 34, 894);
             Add_Action (Table.States (709), 39, Reduce, (109, 4), 1, null, 
null);
             Add_Error (Table.States (709));
-            Set_Minimal_Action (Table.States (709).Minimal_Complete_Actions, 
((Shift, 34, 894), (Reduce, 109, 1)));
+            Table.States (709).Minimal_Complete_Action := (Reduce, 109, 1);
             Table.States (710).Productions := WisiToken.To_Vector (((111, 2), 
(111, 3), (223, 0)));
             Add_Action (Table.States (710), 36, 895);
             Add_Action (Table.States (710), 41, Reduce, (111, 3), 1, null, 
null);
@@ -8904,63 +8837,63 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (710), 54, Reduce, (111, 3), 1, null, 
null);
             Add_Action (Table.States (710), 96, 896);
             Add_Error (Table.States (710));
-            Set_Minimal_Action (Table.States (710).Minimal_Complete_Actions, 
((Shift, 96, 896), (Reduce, 111, 1)));
+            Table.States (710).Minimal_Complete_Action := (Reduce, 111, 1);
             Table.States (711).Productions := WisiToken.To_Vector (((228, 1), 
(228, 5)));
             Add_Action (Table.States (711), 34, 897);
             Add_Error (Table.States (711));
-            Set_Minimal_Action (Table.States (711).Minimal_Complete_Actions, 
(1 => (Shift, 34, 897)));
+            Table.States (711).Minimal_Complete_Action := (Shift, 34, 897);
             Table.States (712).Productions := WisiToken.To_Vector ((1 => (183, 
0)));
             Add_Action (Table.States (712), 104, 898);
             Add_Action (Table.States (712), 106, 899);
             Add_Error (Table.States (712));
             Add_Goto (Table.States (712), 180, 900);
             Add_Goto (Table.States (712), 181, 901);
-            Set_Minimal_Action (Table.States (712).Minimal_Complete_Actions, 
(1 => (Shift, 106, 899)));
+            Table.States (712).Minimal_Complete_Action := (Shift, 104, 898);
             Table.States (713).Productions := WisiToken.To_Vector ((1 => (259, 
0)));
             Add_Action (Table.States (713), 39, 902);
             Add_Error (Table.States (713));
-            Set_Minimal_Action (Table.States (713).Minimal_Complete_Actions, 
(1 => (Shift, 39, 902)));
+            Table.States (713).Minimal_Complete_Action := (Shift, 39, 902);
             Table.States (714).Productions := WisiToken.To_Vector (((162, 0), 
(162, 1)));
             Add_Action (Table.States (714), 39, 903);
             Add_Error (Table.States (714));
-            Set_Minimal_Action (Table.States (714).Minimal_Complete_Actions, 
(1 => (Shift, 39, 903)));
+            Table.States (714).Minimal_Complete_Action := (Shift, 39, 903);
             Table.States (715).Productions := WisiToken.To_Vector (((260, 0), 
(326, 7)));
             Add_Action (Table.States (715), 41, 705);
             Add_Action (Table.States (715), 49, 904);
             Add_Action (Table.States (715), 54, 708);
             Add_Error (Table.States (715));
             Add_Goto (Table.States (715), 280, 905);
-            Set_Minimal_Action (Table.States (715).Minimal_Complete_Actions, 
((Shift, 41, 705), (Shift, 49, 904)));
+            Table.States (715).Minimal_Complete_Action := (Shift, 41, 705);
             Table.States (716).Productions := WisiToken.To_Vector ((1 => (326, 
8)));
             Add_Action (Table.States (716), (74, 96), (326, 8), 1, null, null);
-            Set_Minimal_Action (Table.States (716).Minimal_Complete_Actions, 
(1 => (Reduce, 326, 1)));
+            Table.States (716).Minimal_Complete_Action := (Reduce, 326, 1);
             Table.States (717).Productions := WisiToken.To_Vector ((1 => (326, 
6)));
             Add_Action (Table.States (717), (74, 96), (326, 6), 1, null, null);
-            Set_Minimal_Action (Table.States (717).Minimal_Complete_Actions, 
(1 => (Reduce, 326, 1)));
+            Table.States (717).Minimal_Complete_Action := (Reduce, 326, 1);
             Table.States (718).Productions := WisiToken.To_Vector ((1 => (326, 
9)));
             Add_Action (Table.States (718), (74, 96), (326, 9), 1, null, null);
-            Set_Minimal_Action (Table.States (718).Minimal_Complete_Actions, 
(1 => (Reduce, 326, 1)));
+            Table.States (718).Minimal_Complete_Action := (Reduce, 326, 1);
             Table.States (719).Productions := WisiToken.To_Vector ((1 => (326, 
0)));
             Add_Action (Table.States (719), (74, 96), (326, 0), 1, null, null);
-            Set_Minimal_Action (Table.States (719).Minimal_Complete_Actions, 
(1 => (Reduce, 326, 1)));
+            Table.States (719).Minimal_Complete_Action := (Reduce, 326, 1);
             Table.States (720).Productions := WisiToken.To_Vector ((1 => (326, 
10)));
             Add_Action (Table.States (720), (74, 96), (326, 10), 1, null, 
null);
-            Set_Minimal_Action (Table.States (720).Minimal_Complete_Actions, 
(1 => (Reduce, 326, 1)));
+            Table.States (720).Minimal_Complete_Action := (Reduce, 326, 1);
             Table.States (721).Productions := WisiToken.To_Vector (((114, 0), 
(114, 1), (114, 2)));
             Add_Action (Table.States (721), 7, 556);
             Add_Error (Table.States (721));
-            Set_Minimal_Action (Table.States (721).Minimal_Complete_Actions, 
(1 => (Shift, 7, 556)));
+            Table.States (721).Minimal_Complete_Action := (Shift, 7, 556);
             Table.States (722).Productions := WisiToken.To_Vector ((1 => (206, 
0)));
             Add_Action (Table.States (722), 74, 337);
             Add_Action (Table.States (722), 96, Reduce, (122, 1), 0, null, 
null);
             Add_Error (Table.States (722));
             Add_Goto (Table.States (722), 122, 906);
-            Set_Minimal_Action (Table.States (722).Minimal_Complete_Actions, 
(1 => (Reduce, 122, 0)));
+            Table.States (722).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (723).Productions := WisiToken.To_Vector ((1 => (331, 
0)));
             Add_Action (Table.States (723), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (331, 0), 5,
             use_clause_0'Access, null);
-            Set_Minimal_Action (Table.States (723).Minimal_Complete_Actions, 
(1 => (Reduce, 331, 5)));
+            Table.States (723).Minimal_Complete_Action := (Reduce, 331, 5);
             Table.States (724).Productions := WisiToken.To_Vector (((128, 0), 
(239, 0), (239, 1), (245, 2), (272, 0),
             (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (724), 74, 337);
@@ -8973,8 +8906,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (724), 115, 241);
             Add_Goto (Table.States (724), 122, 907);
             Add_Goto (Table.States (724), 322, 242);
-            Set_Minimal_Action (Table.States (724).Minimal_Complete_Actions, 
((Shift, 84, 237), (Shift, 102, 240),
-            (Reduce, 122, 0)));
+            Table.States (724).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (725).Productions := WisiToken.To_Vector (((128, 0), 
(239, 0), (239, 1), (245, 1), (272, 0),
             (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (725), 74, 337);
@@ -8987,17 +8919,16 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (725), 115, 241);
             Add_Goto (Table.States (725), 122, 908);
             Add_Goto (Table.States (725), 322, 242);
-            Set_Minimal_Action (Table.States (725).Minimal_Complete_Actions, 
((Shift, 84, 237), (Shift, 102, 240),
-            (Reduce, 122, 0)));
+            Table.States (725).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (726).Productions := WisiToken.To_Vector ((1 => (208, 
0)));
             Add_Action (Table.States (726), (104, 105, 106), (208, 0), 1, 
null, null);
-            Set_Minimal_Action (Table.States (726).Minimal_Complete_Actions, 
(1 => (Reduce, 208, 1)));
+            Table.States (726).Minimal_Complete_Action := (Reduce, 208, 1);
             Table.States (727).Productions := WisiToken.To_Vector ((1 => (208, 
1)));
             Add_Action (Table.States (727), (104, 105, 106), (208, 1), 1, 
null, null);
-            Set_Minimal_Action (Table.States (727).Minimal_Complete_Actions, 
(1 => (Reduce, 208, 1)));
+            Table.States (727).Minimal_Complete_Action := (Reduce, 208, 1);
             Table.States (728).Productions := WisiToken.To_Vector ((1 => (270, 
0)));
             Add_Action (Table.States (728), (29, 50), (270, 0), 1, null, null);
-            Set_Minimal_Action (Table.States (728).Minimal_Complete_Actions, 
(1 => (Reduce, 270, 1)));
+            Table.States (728).Minimal_Complete_Action := (Reduce, 270, 1);
             Table.States (729).Productions := WisiToken.To_Vector ((1 => (114, 
2)));
             Add_Action (Table.States (729), 104, 119);
             Add_Action (Table.States (729), 105, 33);
@@ -9007,12 +8938,12 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (729), 239, 909);
             Add_Goto (Table.States (729), 272, 92);
             Add_Goto (Table.States (729), 293, 97);
-            Set_Minimal_Action (Table.States (729).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (729).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (730).Productions := WisiToken.To_Vector (((114, 0), 
(114, 1)));
             Add_Action (Table.States (730), 29, 910);
             Add_Action (Table.States (730), 50, 911);
             Add_Error (Table.States (730));
-            Set_Minimal_Action (Table.States (730).Minimal_Complete_Actions, 
((Shift, 29, 910), (Shift, 50, 911)));
+            Table.States (730).Minimal_Complete_Action := (Shift, 50, 911);
             Table.States (731).Productions := WisiToken.To_Vector ((1 => (245, 
0)));
             Add_Action (Table.States (731), 104, 119);
             Add_Action (Table.States (731), 105, 33);
@@ -9022,11 +8953,11 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (731), 239, 912);
             Add_Goto (Table.States (731), 272, 92);
             Add_Goto (Table.States (731), 293, 97);
-            Set_Minimal_Action (Table.States (731).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (731).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (732).Productions := WisiToken.To_Vector ((1 => (133, 
1)));
             Add_Action (Table.States (732), 96, 913);
             Add_Error (Table.States (732));
-            Set_Minimal_Action (Table.States (732).Minimal_Complete_Actions, 
(1 => (Shift, 96, 913)));
+            Table.States (732).Minimal_Complete_Action := (Shift, 96, 913);
             Table.States (733).Productions := WisiToken.To_Vector (((187, 0), 
(187, 1)));
             Add_Action (Table.States (733), 44, 914);
             Add_Action (Table.States (733), 104, 915);
@@ -9039,76 +8970,76 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (733), 239, 918);
             Add_Goto (Table.States (733), 272, 92);
             Add_Goto (Table.States (733), 293, 97);
-            Set_Minimal_Action (Table.States (733).Minimal_Complete_Actions, 
((Shift, 44, 914), (Shift, 104, 915)));
+            Table.States (733).Minimal_Complete_Action := (Shift, 104, 915);
             Table.States (734).Productions := WisiToken.To_Vector ((1 => (188, 
1)));
             Add_Action (Table.States (734), (24, 72), (188, 1), 1, null, null);
-            Set_Minimal_Action (Table.States (734).Minimal_Complete_Actions, 
(1 => (Reduce, 188, 1)));
+            Table.States (734).Minimal_Complete_Action := (Reduce, 188, 1);
             Table.States (735).Productions := WisiToken.To_Vector (((188, 0), 
(189, 0)));
             Add_Action (Table.States (735), 24, Reduce, (189, 0), 1, null, 
null);
             Add_Action (Table.States (735), 72, 733);
             Add_Error (Table.States (735));
             Add_Goto (Table.States (735), 187, 919);
-            Set_Minimal_Action (Table.States (735).Minimal_Complete_Actions, 
(1 => (Reduce, 189, 1)));
+            Table.States (735).Minimal_Complete_Action := (Reduce, 189, 1);
             Table.States (736).Productions := WisiToken.To_Vector ((1 => (218, 
0)));
             Add_Action (Table.States (736), (1 =>  24), (218, 0), 3, 
handled_sequence_of_statements_0'Access, null);
-            Set_Minimal_Action (Table.States (736).Minimal_Complete_Actions, 
(1 => (Reduce, 218, 3)));
+            Table.States (736).Minimal_Complete_Action := (Reduce, 218, 3);
             Table.States (737).Productions := WisiToken.To_Vector ((1 => (188, 
2)));
             Add_Action (Table.States (737), (24, 72), (188, 2), 1, null, null);
-            Set_Minimal_Action (Table.States (737).Minimal_Complete_Actions, 
(1 => (Reduce, 188, 1)));
+            Table.States (737).Minimal_Complete_Action := (Reduce, 188, 1);
             Table.States (738).Productions := WisiToken.To_Vector ((1 => (133, 
0)));
             Add_Action (Table.States (738), 24, 920);
             Add_Error (Table.States (738));
-            Set_Minimal_Action (Table.States (738).Minimal_Complete_Actions, 
(1 => (Shift, 24, 920)));
+            Table.States (738).Minimal_Complete_Action := (Shift, 24, 920);
             Table.States (739).Productions := WisiToken.To_Vector ((1 => (232, 
1)));
             Add_Action (Table.States (739), 96, Reduce, (220, 1), 0, null, 
null);
             Add_Action (Table.States (739), 104, 149);
             Add_Error (Table.States (739));
             Add_Goto (Table.States (739), 220, 921);
-            Set_Minimal_Action (Table.States (739).Minimal_Complete_Actions, 
(1 => (Reduce, 220, 0)));
+            Table.States (739).Minimal_Complete_Action := (Reduce, 220, 0);
             Table.States (740).Productions := WisiToken.To_Vector ((1 => (232, 
0)));
             Add_Action (Table.States (740), 37, 922);
             Add_Error (Table.States (740));
-            Set_Minimal_Action (Table.States (740).Minimal_Complete_Actions, 
(1 => (Shift, 37, 922)));
+            Table.States (740).Minimal_Complete_Action := (Shift, 37, 922);
             Table.States (741).Productions := WisiToken.To_Vector ((1 => (157, 
9)));
             Add_Action (Table.States (741), 96, 923);
             Add_Error (Table.States (741));
-            Set_Minimal_Action (Table.States (741).Minimal_Complete_Actions, 
(1 => (Shift, 96, 923)));
+            Table.States (741).Minimal_Complete_Action := (Shift, 96, 923);
             Table.States (742).Productions := WisiToken.To_Vector (((241, 0), 
(314, 0), (314, 1)));
             Add_Action (Table.States (742), 41, 924);
             Add_Error (Table.States (742));
-            Set_Minimal_Action (Table.States (742).Minimal_Complete_Actions, 
(1 => (Shift, 41, 924)));
+            Table.States (742).Minimal_Complete_Action := (Shift, 41, 924);
             Table.States (743).Productions := WisiToken.To_Vector (((244, 1), 
(244, 4)));
             Add_Action (Table.States (743), 74, 337);
             Add_Action (Table.States (743), 82, 925);
             Add_Action (Table.States (743), 96, Reduce, (122, 1), 0, null, 
null);
             Add_Error (Table.States (743));
             Add_Goto (Table.States (743), 122, 926);
-            Set_Minimal_Action (Table.States (743).Minimal_Complete_Actions, 
((Shift, 82, 925), (Reduce, 122, 0)));
+            Table.States (743).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (744).Productions := WisiToken.To_Vector (((244, 2), 
(244, 5)));
             Add_Action (Table.States (744), 74, 337);
             Add_Action (Table.States (744), 82, 927);
             Add_Action (Table.States (744), 96, Reduce, (122, 1), 0, null, 
null);
             Add_Error (Table.States (744));
             Add_Goto (Table.States (744), 122, 928);
-            Set_Minimal_Action (Table.States (744).Minimal_Complete_Actions, 
((Shift, 82, 927), (Reduce, 122, 0)));
+            Table.States (744).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (745).Productions := WisiToken.To_Vector (((244, 0), 
(244, 3)));
             Add_Action (Table.States (745), 74, 337);
             Add_Action (Table.States (745), 82, 929);
             Add_Action (Table.States (745), 96, Reduce, (122, 1), 0, null, 
null);
             Add_Error (Table.States (745));
             Add_Goto (Table.States (745), 122, 930);
-            Set_Minimal_Action (Table.States (745).Minimal_Complete_Actions, 
((Shift, 82, 929), (Reduce, 122, 0)));
+            Table.States (745).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (746).Productions := WisiToken.To_Vector ((1 => (278, 
0)));
             Add_Action (Table.States (746), (77, 83), (278, 0), 3, null, null);
-            Set_Minimal_Action (Table.States (746).Minimal_Complete_Actions, 
(1 => (Reduce, 278, 3)));
+            Table.States (746).Minimal_Complete_Action := (Reduce, 278, 3);
             Table.States (747).Productions := WisiToken.To_Vector ((1 => (179, 
0)));
             Add_Action (Table.States (747), 77, 931);
             Add_Error (Table.States (747));
-            Set_Minimal_Action (Table.States (747).Minimal_Complete_Actions, 
(1 => (Shift, 77, 931)));
+            Table.States (747).Minimal_Complete_Action := (Shift, 77, 931);
             Table.States (748).Productions := WisiToken.To_Vector ((1 => (179, 
1)));
             Add_Action (Table.States (748), 96, 932);
             Add_Error (Table.States (748));
-            Set_Minimal_Action (Table.States (748).Minimal_Complete_Actions, 
(1 => (Shift, 96, 932)));
+            Table.States (748).Minimal_Complete_Action := (Shift, 96, 932);
             Table.States (749).Productions := WisiToken.To_Vector ((1 => (213, 
2)));
             Add_Action (Table.States (749), 104, 119);
             Add_Action (Table.States (749), 105, 33);
@@ -9118,7 +9049,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (749), 239, 933);
             Add_Goto (Table.States (749), 272, 92);
             Add_Goto (Table.States (749), 293, 97);
-            Set_Minimal_Action (Table.States (749).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (749).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (750).Productions := WisiToken.To_Vector ((1 => (213, 
1)));
             Add_Action (Table.States (750), 104, 119);
             Add_Action (Table.States (750), 105, 33);
@@ -9128,48 +9059,48 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (750), 239, 934);
             Add_Goto (Table.States (750), 272, 92);
             Add_Goto (Table.States (750), 293, 97);
-            Set_Minimal_Action (Table.States (750).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (750).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (751).Productions := WisiToken.To_Vector (((125, 0), 
(256, 1)));
             Add_Action (Table.States (751), 77, 935);
             Add_Action (Table.States (751), 83, 443);
             Add_Error (Table.States (751));
-            Set_Minimal_Action (Table.States (751).Minimal_Complete_Actions, 
(1 => (Shift, 77, 935)));
+            Table.States (751).Minimal_Complete_Action := (Shift, 77, 935);
             Table.States (752).Productions := WisiToken.To_Vector ((1 => (256, 
2)));
             Add_Action (Table.States (752), 77, 936);
             Add_Error (Table.States (752));
-            Set_Minimal_Action (Table.States (752).Minimal_Complete_Actions, 
(1 => (Shift, 77, 936)));
+            Table.States (752).Minimal_Complete_Action := (Shift, 77, 936);
             Table.States (753).Productions := WisiToken.To_Vector ((1 => (256, 
0)));
             Add_Action (Table.States (753), 77, 937);
             Add_Error (Table.States (753));
-            Set_Minimal_Action (Table.States (753).Minimal_Complete_Actions, 
(1 => (Shift, 77, 937)));
+            Table.States (753).Minimal_Complete_Action := (Shift, 77, 937);
             Table.States (754).Productions := WisiToken.To_Vector ((1 => (193, 
0)));
             Add_Action (Table.States (754), 96, 938);
             Add_Error (Table.States (754));
-            Set_Minimal_Action (Table.States (754).Minimal_Complete_Actions, 
(1 => (Shift, 96, 938)));
+            Table.States (754).Minimal_Complete_Action := (Shift, 96, 938);
             Table.States (755).Productions := WisiToken.To_Vector ((1 => (243, 
0)));
             Add_Action (Table.States (755), 96, 939);
             Add_Error (Table.States (755));
-            Set_Minimal_Action (Table.States (755).Minimal_Complete_Actions, 
(1 => (Shift, 96, 939)));
+            Table.States (755).Minimal_Complete_Action := (Shift, 96, 939);
             Table.States (756).Productions := WisiToken.To_Vector ((1 => (112, 
0)));
             Add_Action (Table.States (756), 96, 940);
             Add_Error (Table.States (756));
-            Set_Minimal_Action (Table.States (756).Minimal_Complete_Actions, 
(1 => (Shift, 96, 940)));
+            Table.States (756).Minimal_Complete_Action := (Shift, 96, 940);
             Table.States (757).Productions := WisiToken.To_Vector ((1 => (308, 
0)));
             Add_Action (Table.States (757), 96, 941);
             Add_Error (Table.States (757));
-            Set_Minimal_Action (Table.States (757).Minimal_Complete_Actions, 
(1 => (Shift, 96, 941)));
+            Table.States (757).Minimal_Complete_Action := (Shift, 96, 941);
             Table.States (758).Productions := WisiToken.To_Vector ((1 => (311, 
0)));
             Add_Action (Table.States (758), 96, 942);
             Add_Error (Table.States (758));
-            Set_Minimal_Action (Table.States (758).Minimal_Complete_Actions, 
(1 => (Shift, 96, 942)));
+            Table.States (758).Minimal_Complete_Action := (Shift, 96, 942);
             Table.States (759).Productions := WisiToken.To_Vector ((1 => (307, 
0)));
             Add_Action (Table.States (759), 13, 943);
             Add_Error (Table.States (759));
-            Set_Minimal_Action (Table.States (759).Minimal_Complete_Actions, 
(1 => (Shift, 13, 943)));
+            Table.States (759).Minimal_Complete_Action := (Shift, 13, 943);
             Table.States (760).Productions := WisiToken.To_Vector ((1 => (113, 
0)));
             Add_Action (Table.States (760), 24, 944);
             Add_Error (Table.States (760));
-            Set_Minimal_Action (Table.States (760).Minimal_Complete_Actions, 
(1 => (Shift, 24, 944)));
+            Table.States (760).Minimal_Complete_Action := (Shift, 24, 944);
             Table.States (761).Productions := WisiToken.To_Vector ((1 => (137, 
0)));
             Add_Action (Table.States (761), 3, 121);
             Add_Action (Table.States (761), 39, 122);
@@ -9209,15 +9140,15 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (761), 320, 144);
             Add_Goto (Table.States (761), 321, 145);
             Add_Goto (Table.States (761), 330, 146);
-            Set_Minimal_Action (Table.States (761).Minimal_Complete_Actions, 
(1 => (Reduce, 166, 0)));
+            Table.States (761).Minimal_Complete_Action := (Reduce, 166, 0);
             Table.States (762).Productions := WisiToken.To_Vector ((1 => (138, 
1)));
             Add_Action (Table.States (762), (77, 83), (138, 1), 1, null, null);
-            Set_Minimal_Action (Table.States (762).Minimal_Complete_Actions, 
(1 => (Reduce, 138, 1)));
+            Table.States (762).Minimal_Complete_Action := (Reduce, 138, 1);
             Table.States (763).Productions := WisiToken.To_Vector (((136, 0), 
(138, 0)));
             Add_Action (Table.States (763), 77, Reduce, (136, 0), 4, 
case_expression_0'Access, null);
             Add_Action (Table.States (763), 83, 946);
             Add_Error (Table.States (763));
-            Set_Minimal_Action (Table.States (763).Minimal_Complete_Actions, 
(1 => (Reduce, 136, 4)));
+            Table.States (763).Minimal_Complete_Action := (Reduce, 136, 4);
             Table.States (764).Productions := WisiToken.To_Vector ((1 => (273, 
0)));
             Add_Action (Table.States (764), 3, 121);
             Add_Action (Table.States (764), 39, 122);
@@ -9253,10 +9184,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (764), 320, 144);
             Add_Goto (Table.States (764), 321, 145);
             Add_Goto (Table.States (764), 330, 146);
-            Set_Minimal_Action (Table.States (764).Minimal_Complete_Actions, 
(1 => (Reduce, 192, 0)));
-         end Subr_13;
-         procedure Subr_14
-         is begin
+            Table.States (764).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (765).Productions := WisiToken.To_Vector (((221, 0), 
(221, 1), (221, 2), (221, 3)));
             Add_Action (Table.States (765), 22, 948);
             Add_Action (Table.States (765), 23, 949);
@@ -9264,17 +9192,17 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (765));
             Add_Goto (Table.States (765), 172, 950);
             Add_Goto (Table.States (765), 173, 951);
-            Set_Minimal_Action (Table.States (765).Minimal_Complete_Actions, 
(1 => (Reduce, 221, 4)));
+            Table.States (765).Minimal_Complete_Action := (Reduce, 221, 4);
             Table.States (766).Productions := WisiToken.To_Vector ((1 => (117, 
0)));
             Add_Action (Table.States (766), 77, 952);
             Add_Error (Table.States (766));
-            Set_Minimal_Action (Table.States (766).Minimal_Complete_Actions, 
(1 => (Shift, 77, 952)));
+            Table.States (766).Minimal_Complete_Action := (Shift, 77, 952);
             Table.States (767).Productions := WisiToken.To_Vector ((1 => (117, 
1)));
             Add_Action (Table.States (767), (4, 5, 10, 13, 15, 17, 18, 20, 21, 
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
             40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74, 
75, 76, 77, 78, 79, 82, 83, 84, 85, 86, 87,
             88, 89, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 104, 
105, 106), (117, 1), 5, aggregate_1'Access,
             null);
-            Set_Minimal_Action (Table.States (767).Minimal_Complete_Actions, 
(1 => (Reduce, 117, 5)));
+            Table.States (767).Minimal_Complete_Action := (Reduce, 117, 5);
             Table.States (768).Productions := WisiToken.To_Vector ((1 => (277, 
0)));
             Add_Action (Table.States (768), 3, 121);
             Add_Action (Table.States (768), 39, 122);
@@ -9310,7 +9238,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (768), 320, 144);
             Add_Goto (Table.States (768), 321, 145);
             Add_Goto (Table.States (768), 330, 146);
-            Set_Minimal_Action (Table.States (768).Minimal_Complete_Actions, 
(1 => (Reduce, 192, 0)));
+            Table.States (768).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (769).Productions := WisiToken.To_Vector ((1 => (140, 
0)));
             Add_Action (Table.States (769), 4, 1);
             Add_Action (Table.States (769), 5, 2);
@@ -9368,15 +9296,18 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (769), 303, 101);
             Add_Goto (Table.States (769), 306, 363);
             Add_Goto (Table.States (769), 323, 114);
-            Set_Minimal_Action (Table.States (769).Minimal_Complete_Actions, 
(1 => (Reduce, 300, 0)));
+            Table.States (769).Minimal_Complete_Action := (Reduce, 300, 0);
+         end Subr_13;
+         procedure Subr_14
+         is begin
             Table.States (770).Productions := WisiToken.To_Vector ((1 => (139, 
0)));
             Add_Action (Table.States (770), 96, 955);
             Add_Error (Table.States (770));
-            Set_Minimal_Action (Table.States (770).Minimal_Complete_Actions, 
(1 => (Shift, 96, 955)));
+            Table.States (770).Minimal_Complete_Action := (Shift, 96, 955);
             Table.States (771).Productions := WisiToken.To_Vector ((1 => (233, 
0)));
             Add_Action (Table.States (771), (10, 20, 21, 22, 23, 35, 37, 43, 
53, 68, 74, 75, 77, 79, 83, 87, 96), (233,
             0), 3, null, null);
-            Set_Minimal_Action (Table.States (771).Minimal_Complete_Actions, 
(1 => (Reduce, 233, 3)));
+            Table.States (771).Minimal_Complete_Action := (Reduce, 233, 3);
             Table.States (772).Productions := WisiToken.To_Vector (((128, 0), 
(239, 0), (239, 1), (272, 0), (293, 0),
             (293, 1), (293, 2), (293, 3), (314, 0), (314, 1)));
             Add_Action (Table.States (772), 10, Reduce, (314, 1), 3, 
subtype_indication_1'Access, null);
@@ -9399,11 +9330,10 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (772), 155, 956);
             Add_Goto (Table.States (772), 224, 621);
             Add_Goto (Table.States (772), 322, 242);
-            Set_Minimal_Action (Table.States (772).Minimal_Complete_Actions, 
((Shift, 84, 237), (Shift, 102, 240),
-            (Reduce, 314, 3)));
+            Table.States (772).Minimal_Complete_Action := (Reduce, 314, 3);
             Table.States (773).Productions := WisiToken.To_Vector ((1 => (155, 
0)));
             Add_Action (Table.States (773), (10, 21, 37, 42, 74, 77, 82, 83, 
87, 96), (155, 0), 2, null, null);
-            Set_Minimal_Action (Table.States (773).Minimal_Complete_Actions, 
(1 => (Reduce, 155, 2)));
+            Table.States (773).Minimal_Complete_Action := (Reduce, 155, 2);
             Table.States (774).Productions := WisiToken.To_Vector (((165, 1), 
(197, 3), (314, 0), (314, 1)));
             Add_Action (Table.States (774), 39, 122);
             Add_Action (Table.States (774), 41, 957);
@@ -9419,23 +9349,22 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (774), 258, 256);
             Add_Goto (Table.States (774), 272, 92);
             Add_Goto (Table.States (774), 293, 97);
-            Set_Minimal_Action (Table.States (774).Minimal_Complete_Actions, 
((Shift, 41, 957), (Shift, 105, 33)));
+            Table.States (774).Minimal_Complete_Action := (Shift, 103, 129);
             Table.States (775).Productions := WisiToken.To_Vector ((1 => (168, 
1)));
             Add_Action (Table.States (775), (77, 83), (168, 1), 1, null, null);
-            Set_Minimal_Action (Table.States (775).Minimal_Complete_Actions, 
(1 => (Reduce, 168, 1)));
+            Table.States (775).Minimal_Complete_Action := (Reduce, 168, 1);
             Table.States (776).Productions := WisiToken.To_Vector (((168, 0), 
(224, 0)));
             Add_Action (Table.States (776), 77, 958);
             Add_Action (Table.States (776), 83, 959);
             Add_Error (Table.States (776));
-            Set_Minimal_Action (Table.States (776).Minimal_Complete_Actions, 
(1 => (Shift, 77, 958)));
+            Table.States (776).Minimal_Complete_Action := (Shift, 77, 958);
             Table.States (777).Productions := WisiToken.To_Vector (((165, 2), 
(167, 1), (278, 1)));
             Add_Action (Table.States (777), 77, Reduce, (167, 1), 1, null, 
null, (278, 1), 1, null, null);
             Add_Action (Table.States (777), 79, Reduce, (165, 2), 1, null, 
null);
             Add_Action (Table.States (777), 83, Reduce, (167, 1), 1, null, 
null, (278, 1), 1, null, null);
             Add_Action (Table.States (777), 87, Reduce, (165, 2), 1, null, 
null);
             Add_Error (Table.States (777));
-            Set_Minimal_Action (Table.States (777).Minimal_Complete_Actions, 
((Reduce, 165, 1), (Reduce, 167, 1),
-            (Reduce, 278, 1)));
+            Table.States (777).Minimal_Complete_Action := (Reduce, 165, 1);
             Table.States (778).Productions := WisiToken.To_Vector ((1 => (230, 
0)));
             Add_Action (Table.States (778), 104, 119);
             Add_Action (Table.States (778), 105, 33);
@@ -9445,7 +9374,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (778), 239, 960);
             Add_Goto (Table.States (778), 272, 92);
             Add_Goto (Table.States (778), 293, 97);
-            Set_Minimal_Action (Table.States (778).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (778).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (779).Productions := WisiToken.To_Vector (((128, 0), 
(230, 1), (239, 0), (239, 1), (272, 0),
             (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (779), 37, Reduce, (230, 1), 5, null, 
null);
@@ -9457,13 +9386,12 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (779));
             Add_Goto (Table.States (779), 115, 241);
             Add_Goto (Table.States (779), 322, 242);
-            Set_Minimal_Action (Table.States (779).Minimal_Complete_Actions, 
((Shift, 84, 237), (Shift, 102, 240),
-            (Reduce, 230, 5)));
+            Table.States (779).Minimal_Complete_Action := (Reduce, 230, 5);
             Table.States (780).Productions := WisiToken.To_Vector ((1 => (127, 
0)));
             Add_Action (Table.States (780), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 72, 73, 
74, 93, 104, 105, 106, 107), (127, 0), 6,
             at_clause_0'Access, null);
-            Set_Minimal_Action (Table.States (780).Minimal_Complete_Actions, 
(1 => (Reduce, 127, 6)));
+            Table.States (780).Minimal_Complete_Action := (Reduce, 127, 6);
             Table.States (781).Productions := WisiToken.To_Vector ((1 => (235, 
0)));
             Add_Action (Table.States (781), 3, 121);
             Add_Action (Table.States (781), 39, 122);
@@ -9499,20 +9427,20 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (781), 320, 144);
             Add_Goto (Table.States (781), 321, 145);
             Add_Goto (Table.States (781), 330, 146);
-            Set_Minimal_Action (Table.States (781).Minimal_Complete_Actions, 
(1 => (Reduce, 192, 0)));
+            Table.States (781).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (782).Productions := WisiToken.To_Vector ((1 => (144, 
0)));
             Add_Action (Table.States (782), 12, 962);
             Add_Error (Table.States (782));
-            Set_Minimal_Action (Table.States (782).Minimal_Complete_Actions, 
(1 => (Shift, 12, 962)));
+            Table.States (782).Minimal_Complete_Action := (Shift, 12, 962);
             Table.States (783).Productions := WisiToken.To_Vector ((1 => (145, 
1)));
             Add_Action (Table.States (783), (24, 104), (145, 1), 1, null, 
null);
-            Set_Minimal_Action (Table.States (783).Minimal_Complete_Actions, 
(1 => (Reduce, 145, 1)));
+            Table.States (783).Minimal_Complete_Action := (Reduce, 145, 1);
             Table.States (784).Productions := WisiToken.To_Vector (((145, 0), 
(281, 0)));
             Add_Action (Table.States (784), 24, 963);
             Add_Action (Table.States (784), 104, 782);
             Add_Error (Table.States (784));
             Add_Goto (Table.States (784), 144, 964);
-            Set_Minimal_Action (Table.States (784).Minimal_Complete_Actions, 
(1 => (Shift, 24, 963)));
+            Table.States (784).Minimal_Complete_Action := (Shift, 24, 963);
             Table.States (785).Productions := WisiToken.To_Vector (((254, 0), 
(254, 1), (254, 2), (254, 3)));
             Add_Action (Table.States (785), 7, Reduce, (241, 1), 0, null, 
null);
             Add_Action (Table.States (785), 33, 504);
@@ -9525,52 +9453,51 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (785), 114, 965);
             Add_Goto (Table.States (785), 236, 966);
             Add_Goto (Table.States (785), 241, 721);
-            Set_Minimal_Action (Table.States (785).Minimal_Complete_Actions, 
((Reduce, 236, 0), (Reduce, 241, 0)));
+            Table.States (785).Minimal_Complete_Action := (Reduce, 236, 0);
             Table.States (786).Productions := WisiToken.To_Vector ((1 => (255, 
0)));
             Add_Action (Table.States (786), (77, 96), (255, 0), 3, 
parameter_specification_list_0'Access, null);
-            Set_Minimal_Action (Table.States (786).Minimal_Complete_Actions, 
(1 => (Reduce, 255, 3)));
+            Table.States (786).Minimal_Complete_Action := (Reduce, 255, 3);
             Table.States (787).Productions := WisiToken.To_Vector ((1 => (215, 
2)));
             Add_Action (Table.States (787), 96, 967);
             Add_Error (Table.States (787));
-            Set_Minimal_Action (Table.States (787).Minimal_Complete_Actions, 
(1 => (Shift, 96, 967)));
+            Table.States (787).Minimal_Complete_Action := (Shift, 96, 967);
             Table.States (788).Productions := WisiToken.To_Vector ((1 => (215, 
0)));
             Add_Action (Table.States (788), 96, 968);
             Add_Error (Table.States (788));
-            Set_Minimal_Action (Table.States (788).Minimal_Complete_Actions, 
(1 => (Shift, 96, 968)));
+            Table.States (788).Minimal_Complete_Action := (Shift, 96, 968);
             Table.States (789).Productions := WisiToken.To_Vector ((1 => (215, 
1)));
             Add_Action (Table.States (789), 96, 969);
             Add_Error (Table.States (789));
-            Set_Minimal_Action (Table.States (789).Minimal_Complete_Actions, 
(1 => (Shift, 96, 969)));
+            Table.States (789).Minimal_Complete_Action := (Shift, 96, 969);
             Table.States (790).Productions := WisiToken.To_Vector (((109, 0), 
(109, 1), (109, 2), (111, 0), (111, 1)));
             Add_Action (Table.States (790), 36, 970);
             Add_Action (Table.States (790), 39, Reduce, (109, 2), 1, null, 
null);
             Add_Action (Table.States (790), 64, 875);
             Add_Action (Table.States (790), 65, 876);
             Add_Error (Table.States (790));
-            Set_Minimal_Action (Table.States (790).Minimal_Complete_Actions, 
((Shift, 65, 876), (Reduce, 109, 1)));
+            Table.States (790).Minimal_Complete_Action := (Reduce, 109, 1);
             Table.States (791).Productions := WisiToken.To_Vector (((202, 6), 
(202, 7)));
             Add_Action (Table.States (791), 80, 971);
             Add_Error (Table.States (791));
-            Set_Minimal_Action (Table.States (791).Minimal_Complete_Actions, 
(1 => (Shift, 80, 971)));
+            Table.States (791).Minimal_Complete_Action := (Shift, 80, 971);
             Table.States (792).Productions := WisiToken.To_Vector ((1 => (202, 
5)));
             Add_Action (Table.States (792), 80, 972);
             Add_Error (Table.States (792));
-            Set_Minimal_Action (Table.States (792).Minimal_Complete_Actions, 
(1 => (Shift, 80, 972)));
+            Table.States (792).Minimal_Complete_Action := (Shift, 80, 972);
             Table.States (793).Productions := WisiToken.To_Vector (((109, 3), 
(111, 4), (228, 0), (228, 4)));
             Add_Action (Table.States (793), 34, 880);
             Add_Action (Table.States (793), 39, Reduce, (109, 3), 1, null, 
null);
             Add_Action (Table.States (793), 49, Reduce, (111, 4), 1, null, 
null);
             Add_Error (Table.States (793));
-            Set_Minimal_Action (Table.States (793).Minimal_Complete_Actions, 
((Shift, 34, 880), (Reduce, 109, 1),
-            (Reduce, 111, 1)));
+            Table.States (793).Minimal_Complete_Action := (Reduce, 109, 1);
             Table.States (794).Productions := WisiToken.To_Vector ((1 => (202, 
4)));
             Add_Action (Table.States (794), 80, 973);
             Add_Error (Table.States (794));
-            Set_Minimal_Action (Table.States (794).Minimal_Complete_Actions, 
(1 => (Shift, 80, 973)));
+            Table.States (794).Minimal_Complete_Action := (Shift, 80, 973);
             Table.States (795).Productions := WisiToken.To_Vector ((1 => (202, 
3)));
             Add_Action (Table.States (795), 80, 974);
             Add_Error (Table.States (795));
-            Set_Minimal_Action (Table.States (795).Minimal_Complete_Actions, 
(1 => (Shift, 80, 974)));
+            Table.States (795).Minimal_Complete_Action := (Shift, 80, 974);
             Table.States (796).Productions := WisiToken.To_Vector (((111, 2), 
(111, 3), (201, 1)));
             Add_Action (Table.States (796), 36, 895);
             Add_Action (Table.States (796), 49, Reduce, (111, 3), 1, null, 
null);
@@ -9578,41 +9505,41 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (796), 96, Reduce, (122, 1), 0, null, 
null);
             Add_Error (Table.States (796));
             Add_Goto (Table.States (796), 122, 975);
-            Set_Minimal_Action (Table.States (796).Minimal_Complete_Actions, 
((Reduce, 111, 1), (Reduce, 122, 0)));
+            Table.States (796).Minimal_Complete_Action := (Reduce, 111, 1);
             Table.States (797).Productions := WisiToken.To_Vector ((1 => (202, 
2)));
             Add_Action (Table.States (797), 80, 976);
             Add_Error (Table.States (797));
-            Set_Minimal_Action (Table.States (797).Minimal_Complete_Actions, 
(1 => (Shift, 80, 976)));
+            Table.States (797).Minimal_Complete_Action := (Shift, 80, 976);
             Table.States (798).Productions := WisiToken.To_Vector (((203, 0), 
(203, 1)));
             Add_Action (Table.States (798), 39, 977);
             Add_Error (Table.States (798));
-            Set_Minimal_Action (Table.States (798).Minimal_Complete_Actions, 
(1 => (Shift, 39, 977)));
+            Table.States (798).Minimal_Complete_Action := (Shift, 39, 977);
             Table.States (799).Productions := WisiToken.To_Vector ((1 => (202, 
0)));
             Add_Action (Table.States (799), 49, 978);
             Add_Error (Table.States (799));
-            Set_Minimal_Action (Table.States (799).Minimal_Complete_Actions, 
(1 => (Shift, 49, 978)));
+            Table.States (799).Minimal_Complete_Action := (Shift, 49, 978);
             Table.States (800).Productions := WisiToken.To_Vector ((1 => (202, 
9)));
             Add_Action (Table.States (800), (74, 96), (202, 9), 1, null, null);
-            Set_Minimal_Action (Table.States (800).Minimal_Complete_Actions, 
(1 => (Reduce, 202, 1)));
+            Table.States (800).Minimal_Complete_Action := (Reduce, 202, 1);
             Table.States (801).Productions := WisiToken.To_Vector ((1 => (202, 
8)));
             Add_Action (Table.States (801), (74, 96), (202, 8), 1, null, null);
-            Set_Minimal_Action (Table.States (801).Minimal_Complete_Actions, 
(1 => (Reduce, 202, 1)));
+            Table.States (801).Minimal_Complete_Action := (Reduce, 202, 1);
             Table.States (802).Productions := WisiToken.To_Vector ((1 => (201, 
0)));
             Add_Action (Table.States (802), 74, 337);
             Add_Action (Table.States (802), 96, Reduce, (122, 1), 0, null, 
null);
             Add_Error (Table.States (802));
             Add_Goto (Table.States (802), 122, 979);
-            Set_Minimal_Action (Table.States (802).Minimal_Complete_Actions, 
(1 => (Reduce, 122, 0)));
+            Table.States (802).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (803).Productions := WisiToken.To_Vector ((1 => (202, 
1)));
             Add_Action (Table.States (803), (74, 96), (202, 1), 1, null, null);
-            Set_Minimal_Action (Table.States (803).Minimal_Complete_Actions, 
(1 => (Reduce, 202, 1)));
+            Table.States (803).Minimal_Complete_Action := (Reduce, 202, 1);
             Table.States (804).Productions := WisiToken.To_Vector ((1 => (202, 
10)));
             Add_Action (Table.States (804), (74, 96), (202, 10), 1, null, 
null);
-            Set_Minimal_Action (Table.States (804).Minimal_Complete_Actions, 
(1 => (Reduce, 202, 1)));
+            Table.States (804).Minimal_Complete_Action := (Reduce, 202, 1);
             Table.States (805).Productions := WisiToken.To_Vector ((1 => (201, 
2)));
             Add_Action (Table.States (805), (29, 47, 48, 50, 69, 71, 74, 104), 
(201, 2), 5,
             formal_type_declaration_2'Access, null);
-            Set_Minimal_Action (Table.States (805).Minimal_Complete_Actions, 
(1 => (Reduce, 201, 5)));
+            Table.States (805).Minimal_Complete_Action := (Reduce, 201, 5);
             Table.States (806).Productions := WisiToken.To_Vector ((1 => (204, 
0)));
             Add_Action (Table.States (806), 104, 119);
             Add_Action (Table.States (806), 105, 33);
@@ -9622,21 +9549,21 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (806), 239, 980);
             Add_Goto (Table.States (806), 272, 92);
             Add_Goto (Table.States (806), 293, 97);
-            Set_Minimal_Action (Table.States (806).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (806).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (807).Productions := WisiToken.To_Vector ((1 => (200, 
2)));
             Add_Action (Table.States (807), 96, 981);
             Add_Error (Table.States (807));
-            Set_Minimal_Action (Table.States (807).Minimal_Complete_Actions, 
(1 => (Shift, 96, 981)));
+            Table.States (807).Minimal_Complete_Action := (Shift, 96, 981);
             Table.States (808).Productions := WisiToken.To_Vector ((1 => (200, 
0)));
             Add_Action (Table.States (808), 74, 337);
             Add_Action (Table.States (808), 96, Reduce, (122, 1), 0, null, 
null);
             Add_Error (Table.States (808));
             Add_Goto (Table.States (808), 122, 982);
-            Set_Minimal_Action (Table.States (808).Minimal_Complete_Actions, 
(1 => (Reduce, 122, 0)));
+            Table.States (808).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (809).Productions := WisiToken.To_Vector ((1 => (200, 
1)));
             Add_Action (Table.States (809), 96, 983);
             Add_Error (Table.States (809));
-            Set_Minimal_Action (Table.States (809).Minimal_Complete_Actions, 
(1 => (Shift, 96, 983)));
+            Table.States (809).Minimal_Complete_Action := (Shift, 96, 983);
             Table.States (810).Productions := WisiToken.To_Vector ((1 => (198, 
1)));
             Add_Action (Table.States (810), 3, 121);
             Add_Action (Table.States (810), 39, 122);
@@ -9673,11 +9600,11 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (810), 320, 144);
             Add_Goto (Table.States (810), 321, 145);
             Add_Goto (Table.States (810), 330, 146);
-            Set_Minimal_Action (Table.States (810).Minimal_Complete_Actions, 
(1 => (Reduce, 192, 0)));
+            Table.States (810).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (811).Productions := WisiToken.To_Vector ((1 => (198, 
3)));
             Add_Action (Table.States (811), 96, 985);
             Add_Error (Table.States (811));
-            Set_Minimal_Action (Table.States (811).Minimal_Complete_Actions, 
(1 => (Shift, 96, 985)));
+            Table.States (811).Minimal_Complete_Action := (Shift, 96, 985);
             Table.States (812).Productions := WisiToken.To_Vector (((128, 0), 
(198, 0), (198, 2), (239, 0), (239, 1),
             (272, 0), (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (812), 74, 337);
@@ -9691,20 +9618,19 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (812), 115, 241);
             Add_Goto (Table.States (812), 122, 987);
             Add_Goto (Table.States (812), 322, 242);
-            Set_Minimal_Action (Table.States (812).Minimal_Complete_Actions, 
((Shift, 82, 986), (Shift, 84, 237),
-            (Shift, 102, 240), (Reduce, 122, 0)));
+            Table.States (812).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (813).Productions := WisiToken.To_Vector ((1 => (222, 
1)));
             Add_Action (Table.States (813), 24, 988);
             Add_Error (Table.States (813));
-            Set_Minimal_Action (Table.States (813).Minimal_Complete_Actions, 
(1 => (Shift, 24, 988)));
+            Table.States (813).Minimal_Complete_Action := (Shift, 24, 988);
             Table.States (814).Productions := WisiToken.To_Vector ((1 => (174, 
0)));
             Add_Action (Table.States (814), 68, 989);
             Add_Error (Table.States (814));
-            Set_Minimal_Action (Table.States (814).Minimal_Complete_Actions, 
(1 => (Shift, 68, 989)));
+            Table.States (814).Minimal_Complete_Action := (Shift, 68, 989);
             Table.States (815).Productions := WisiToken.To_Vector ((1 => (222, 
3)));
             Add_Action (Table.States (815), 96, 990);
             Add_Error (Table.States (815));
-            Set_Minimal_Action (Table.States (815).Minimal_Complete_Actions, 
(1 => (Shift, 96, 990)));
+            Table.States (815).Minimal_Complete_Action := (Shift, 96, 990);
             Table.States (816).Productions := WisiToken.To_Vector ((1 => (222, 
0)));
             Add_Action (Table.States (816), 4, 1);
             Add_Action (Table.States (816), 5, 2);
@@ -9761,32 +9687,32 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (816), 303, 101);
             Add_Goto (Table.States (816), 306, 363);
             Add_Goto (Table.States (816), 323, 114);
-            Set_Minimal_Action (Table.States (816).Minimal_Complete_Actions, 
(1 => (Reduce, 300, 0)));
+            Table.States (816).Minimal_Complete_Action := (Reduce, 300, 0);
             Table.States (817).Productions := WisiToken.To_Vector ((1 => (222, 
2)));
             Add_Action (Table.States (817), 32, 992);
             Add_Error (Table.States (817));
-            Set_Minimal_Action (Table.States (817).Minimal_Complete_Actions, 
(1 => (Shift, 32, 992)));
+            Table.States (817).Minimal_Complete_Action := (Shift, 32, 992);
             Table.States (818).Productions := WisiToken.To_Vector ((1 => (175, 
0)));
             Add_Action (Table.States (818), (22, 23, 24), (175, 0), 2, null, 
null);
-            Set_Minimal_Action (Table.States (818).Minimal_Complete_Actions, 
(1 => (Reduce, 175, 2)));
+            Table.States (818).Minimal_Complete_Action := (Reduce, 175, 2);
             Table.States (819).Productions := WisiToken.To_Vector ((1 => (248, 
0)));
             Add_Action (Table.States (819), 96, 993);
             Add_Error (Table.States (819));
-            Set_Minimal_Action (Table.States (819).Minimal_Complete_Actions, 
(1 => (Shift, 96, 993)));
+            Table.States (819).Minimal_Complete_Action := (Shift, 96, 993);
             Table.States (820).Productions := WisiToken.To_Vector (((247, 0), 
(247, 1)));
             Add_Action (Table.States (820), 13, 994);
             Add_Action (Table.States (820), 24, 995);
             Add_Error (Table.States (820));
-            Set_Minimal_Action (Table.States (820).Minimal_Complete_Actions, 
((Shift, 13, 994), (Shift, 24, 995)));
+            Table.States (820).Minimal_Complete_Action := (Shift, 24, 995);
             Table.States (821).Productions := WisiToken.To_Vector ((1 => (213, 
0)));
             Add_Action (Table.States (821), 96, 996);
             Add_Error (Table.States (821));
-            Set_Minimal_Action (Table.States (821).Minimal_Complete_Actions, 
(1 => (Shift, 96, 996)));
+            Table.States (821).Minimal_Complete_Action := (Shift, 96, 996);
             Table.States (822).Productions := WisiToken.To_Vector ((1 => (250, 
0)));
             Add_Action (Table.States (822), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (250, 0), 6,
             package_renaming_declaration_0'Access, null);
-            Set_Minimal_Action (Table.States (822).Minimal_Complete_Actions, 
(1 => (Reduce, 250, 6)));
+            Table.States (822).Minimal_Complete_Action := (Reduce, 250, 6);
             Table.States (823).Productions := WisiToken.To_Vector ((1 => (251, 
1)));
             Add_Action (Table.States (823), 96, Reduce, (240, 1), 0, null, 
null);
             Add_Action (Table.States (823), 104, 119);
@@ -9798,7 +9724,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (823), 240, 997);
             Add_Goto (Table.States (823), 272, 92);
             Add_Goto (Table.States (823), 293, 97);
-            Set_Minimal_Action (Table.States (823).Minimal_Complete_Actions, 
(1 => (Reduce, 240, 0)));
+            Table.States (823).Minimal_Complete_Action := (Reduce, 240, 0);
             Table.States (824).Productions := WisiToken.To_Vector ((1 => (251, 
0)));
             Add_Action (Table.States (824), 24, Reduce, (159, 1), 0, null, 
null);
             Add_Action (Table.States (824), 25, Reduce, (246, 2), 0, null, 
null);
@@ -9870,37 +9796,37 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (824), 319, 113);
             Add_Goto (Table.States (824), 325, 115);
             Add_Goto (Table.States (824), 331, 116);
-            Set_Minimal_Action (Table.States (824).Minimal_Complete_Actions, 
(1 => (Reduce, 159, 0)));
+            Table.States (824).Minimal_Complete_Action := (Reduce, 159, 0);
             Table.States (825).Productions := WisiToken.To_Vector ((1 => (257, 
0)));
             Add_Action (Table.States (825), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (257, 0), 6, pragma_g_0'Access, null);
-            Set_Minimal_Action (Table.States (825).Minimal_Complete_Actions, 
(1 => (Reduce, 257, 6)));
+            Table.States (825).Minimal_Complete_Action := (Reduce, 257, 6);
             Table.States (826).Productions := WisiToken.To_Vector ((1 => (257, 
1)));
             Add_Action (Table.States (826), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (257, 1), 6, pragma_g_1'Access, null);
-            Set_Minimal_Action (Table.States (826).Minimal_Complete_Actions, 
(1 => (Reduce, 257, 6)));
+            Table.States (826).Minimal_Complete_Action := (Reduce, 257, 6);
             Table.States (827).Productions := WisiToken.To_Vector ((1 => (265, 
0)));
             Add_Action (Table.States (827), 96, 999);
             Add_Error (Table.States (827));
-            Set_Minimal_Action (Table.States (827).Minimal_Complete_Actions, 
(1 => (Shift, 96, 999)));
+            Table.States (827).Minimal_Complete_Action := (Shift, 96, 999);
             Table.States (828).Productions := WisiToken.To_Vector ((1 => (176, 
0)));
             Add_Action (Table.States (828), 104, 1000);
             Add_Error (Table.States (828));
-            Set_Minimal_Action (Table.States (828).Minimal_Complete_Actions, 
(1 => (Shift, 104, 1000)));
+            Table.States (828).Minimal_Complete_Action := (Shift, 104, 1000);
             Table.States (829).Productions := WisiToken.To_Vector ((1 => (267, 
5)));
             Add_Action (Table.States (829), (24, 25, 28, 29, 40, 46, 50), 
(267, 5), 1, null, null);
-            Set_Minimal_Action (Table.States (829).Minimal_Complete_Actions, 
(1 => (Reduce, 267, 1)));
+            Table.States (829).Minimal_Complete_Action := (Reduce, 267, 1);
             Table.States (830).Productions := WisiToken.To_Vector ((1 => (267, 
2)));
             Add_Action (Table.States (830), (24, 25, 28, 29, 40, 46, 50), 
(267, 2), 1, null, null);
-            Set_Minimal_Action (Table.States (830).Minimal_Complete_Actions, 
(1 => (Reduce, 267, 1)));
+            Table.States (830).Minimal_Complete_Action := (Reduce, 267, 1);
             Table.States (831).Productions := WisiToken.To_Vector ((1 => (267, 
3)));
             Add_Action (Table.States (831), (24, 25, 28, 29, 40, 46, 50), 
(267, 3), 1, null, null);
-            Set_Minimal_Action (Table.States (831).Minimal_Complete_Actions, 
(1 => (Reduce, 267, 1)));
+            Table.States (831).Minimal_Complete_Action := (Reduce, 267, 1);
             Table.States (832).Productions := WisiToken.To_Vector ((1 => (267, 
4)));
             Add_Action (Table.States (832), (24, 25, 28, 29, 40, 46, 50), 
(267, 4), 1, null, null);
-            Set_Minimal_Action (Table.States (832).Minimal_Complete_Actions, 
(1 => (Reduce, 267, 1)));
+            Table.States (832).Minimal_Complete_Action := (Reduce, 267, 1);
             Table.States (833).Productions := WisiToken.To_Vector (((193, 0), 
(243, 0), (307, 0), (309, 0)));
             Add_Action (Table.States (833), 29, 7);
             Add_Action (Table.States (833), 50, 18);
@@ -9908,10 +9834,10 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (833), 207, 246);
             Add_Goto (Table.States (833), 262, 247);
             Add_Goto (Table.States (833), 312, 1001);
-            Set_Minimal_Action (Table.States (833).Minimal_Complete_Actions, 
((Shift, 29, 7), (Shift, 50, 18)));
+            Table.States (833).Minimal_Complete_Action := (Shift, 50, 18);
             Table.States (834).Productions := WisiToken.To_Vector ((1 => (268, 
1)));
             Add_Action (Table.States (834), (24, 25, 28, 29, 40, 46, 50), 
(268, 1), 1, null, null);
-            Set_Minimal_Action (Table.States (834).Minimal_Complete_Actions, 
(1 => (Reduce, 268, 1)));
+            Table.States (834).Minimal_Complete_Action := (Reduce, 268, 1);
             Table.States (835).Productions := WisiToken.To_Vector (((268, 0), 
(269, 0)));
             Add_Action (Table.States (835), 24, Reduce, (269, 0), 1, null, 
null);
             Add_Action (Table.States (835), 25, 828);
@@ -9934,17 +9860,17 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (835), 281, 94);
             Add_Goto (Table.States (835), 307, 837);
             Add_Goto (Table.States (835), 309, 838);
-            Set_Minimal_Action (Table.States (835).Minimal_Complete_Actions, 
(1 => (Reduce, 269, 1)));
+            Table.States (835).Minimal_Complete_Action := (Reduce, 269, 1);
             Table.States (836).Productions := WisiToken.To_Vector ((1 => (264, 
0)));
             Add_Action (Table.States (836), 24, 1003);
             Add_Error (Table.States (836));
-            Set_Minimal_Action (Table.States (836).Minimal_Complete_Actions, 
(1 => (Shift, 24, 1003)));
+            Table.States (836).Minimal_Complete_Action := (Shift, 24, 1003);
             Table.States (837).Productions := WisiToken.To_Vector ((1 => (267, 
1)));
             Add_Action (Table.States (837), (24, 25, 28, 29, 40, 46, 50), 
(267, 1), 1, null, null);
-            Set_Minimal_Action (Table.States (837).Minimal_Complete_Actions, 
(1 => (Reduce, 267, 1)));
+            Table.States (837).Minimal_Complete_Action := (Reduce, 267, 1);
             Table.States (838).Productions := WisiToken.To_Vector ((1 => (267, 
0)));
             Add_Action (Table.States (838), (24, 25, 28, 29, 40, 46, 50), 
(267, 0), 1, null, null);
-            Set_Minimal_Action (Table.States (838).Minimal_Complete_Actions, 
(1 => (Reduce, 267, 1)));
+            Table.States (838).Minimal_Complete_Action := (Reduce, 267, 1);
             Table.States (839).Productions := WisiToken.To_Vector (((271, 0), 
(271, 1)));
             Add_Action (Table.States (839), 24, Reduce, (159, 1), 0, null, 
null);
             Add_Action (Table.States (839), 25, Reduce, (246, 2), 0, null, 
null);
@@ -10019,15 +9945,12 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (839), 319, 113);
             Add_Goto (Table.States (839), 325, 115);
             Add_Goto (Table.States (839), 331, 116);
-            Set_Minimal_Action (Table.States (839).Minimal_Complete_Actions, 
((Shift, 39, 1004), (Reduce, 159, 0)));
-         end Subr_14;
-         procedure Subr_15
-         is begin
+            Table.States (839).Minimal_Complete_Action := (Reduce, 159, 0);
             Table.States (840).Productions := WisiToken.To_Vector (((227, 0), 
(304, 0)));
             Add_Action (Table.States (840), 10, 1006);
             Add_Action (Table.States (840), 74, 1007);
             Add_Error (Table.States (840));
-            Set_Minimal_Action (Table.States (840).Minimal_Complete_Actions, 
(1 => (Shift, 74, 1007)));
+            Table.States (840).Minimal_Complete_Action := (Shift, 74, 1007);
             Table.States (841).Productions := WisiToken.To_Vector (((128, 0), 
(227, 1), (239, 0), (239, 1), (272, 0),
             (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (841), 10, Reduce, (227, 1), 1, 
interface_list_1'Access, null);
@@ -10040,14 +9963,13 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (841));
             Add_Goto (Table.States (841), 115, 241);
             Add_Goto (Table.States (841), 322, 242);
-            Set_Minimal_Action (Table.States (841).Minimal_Complete_Actions, 
((Shift, 84, 237), (Shift, 102, 240),
-            (Reduce, 227, 1)));
+            Table.States (841).Minimal_Complete_Action := (Reduce, 227, 1);
             Table.States (842).Productions := WisiToken.To_Vector ((1 => (266, 
1)));
             Add_Action (Table.States (842), 96, Reduce, (220, 1), 0, null, 
null);
             Add_Action (Table.States (842), 104, 149);
             Add_Error (Table.States (842));
             Add_Goto (Table.States (842), 220, 1008);
-            Set_Minimal_Action (Table.States (842).Minimal_Complete_Actions, 
(1 => (Reduce, 220, 0)));
+            Table.States (842).Minimal_Complete_Action := (Reduce, 220, 0);
             Table.States (843).Productions := WisiToken.To_Vector ((1 => (266, 
0)));
             Add_Action (Table.States (843), 24, Reduce, (159, 1), 0, null, 
null);
             Add_Action (Table.States (843), 25, Reduce, (246, 2), 0, null, 
null);
@@ -10119,15 +10041,18 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (843), 319, 113);
             Add_Goto (Table.States (843), 325, 115);
             Add_Goto (Table.States (843), 331, 116);
-            Set_Minimal_Action (Table.States (843).Minimal_Complete_Actions, 
(1 => (Reduce, 159, 0)));
+            Table.States (843).Minimal_Complete_Action := (Reduce, 159, 0);
+         end Subr_14;
+         procedure Subr_15
+         is begin
             Table.States (844).Productions := WisiToken.To_Vector ((1 => (304, 
1)));
             Add_Action (Table.States (844), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (304, 1), 6,
             single_protected_declaration_1'Access, 
single_protected_declaration_1_check'Access);
-            Set_Minimal_Action (Table.States (844).Minimal_Complete_Actions, 
(1 => (Reduce, 304, 6)));
+            Table.States (844).Minimal_Complete_Action := (Reduce, 304, 6);
             Table.States (845).Productions := WisiToken.To_Vector ((1 => (292, 
1)));
             Add_Action (Table.States (845), (21, 82, 96), (292, 1), 1, null, 
null);
-            Set_Minimal_Action (Table.States (845).Minimal_Complete_Actions, 
(1 => (Reduce, 292, 1)));
+            Table.States (845).Minimal_Complete_Action := (Reduce, 292, 1);
             Table.States (846).Productions := WisiToken.To_Vector (((194, 0), 
(194, 1)));
             Add_Action (Table.States (846), 21, Reduce, (194, 1), 5, 
extended_return_object_declaration_1'Access,
             null);
@@ -10135,14 +10060,14 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (846), 96, Reduce, (194, 1), 5, 
extended_return_object_declaration_1'Access,
             null);
             Add_Error (Table.States (846));
-            Set_Minimal_Action (Table.States (846).Minimal_Complete_Actions, 
(1 => (Reduce, 194, 5)));
+            Table.States (846).Minimal_Complete_Action := (Reduce, 194, 5);
             Table.States (847).Productions := WisiToken.To_Vector ((1 => (292, 
0)));
             Add_Action (Table.States (847), (21, 82, 96), (292, 0), 1, null, 
null);
-            Set_Minimal_Action (Table.States (847).Minimal_Complete_Actions, 
(1 => (Reduce, 292, 1)));
+            Table.States (847).Minimal_Complete_Action := (Reduce, 292, 1);
             Table.States (848).Productions := WisiToken.To_Vector ((1 => (196, 
0)));
             Add_Action (Table.States (848), 96, 1011);
             Add_Error (Table.States (848));
-            Set_Minimal_Action (Table.States (848).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1011)));
+            Table.States (848).Minimal_Complete_Action := (Shift, 96, 1011);
             Table.States (849).Productions := WisiToken.To_Vector (((247, 0), 
(247, 1)));
             Add_Action (Table.States (849), 104, 119);
             Add_Action (Table.States (849), 105, 33);
@@ -10152,56 +10077,56 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (849), 239, 1012);
             Add_Goto (Table.States (849), 272, 92);
             Add_Goto (Table.States (849), 293, 97);
-            Set_Minimal_Action (Table.States (849).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (849).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (850).Productions := WisiToken.To_Vector ((1 => (264, 
0)));
             Add_Action (Table.States (850), 104, 1013);
             Add_Error (Table.States (850));
-            Set_Minimal_Action (Table.States (850).Minimal_Complete_Actions, 
(1 => (Shift, 104, 1013)));
+            Table.States (850).Minimal_Complete_Action := (Shift, 104, 1013);
             Table.States (851).Productions := WisiToken.To_Vector ((1 => (316, 
0)));
             Add_Action (Table.States (851), 104, 1014);
             Add_Error (Table.States (851));
-            Set_Minimal_Action (Table.States (851).Minimal_Complete_Actions, 
(1 => (Shift, 104, 1014)));
+            Table.States (851).Minimal_Complete_Action := (Shift, 104, 1014);
             Table.States (852).Productions := WisiToken.To_Vector ((1 => (307, 
0)));
             Add_Action (Table.States (852), 35, Reduce, (122, 1), 0, null, 
null);
             Add_Action (Table.States (852), 74, 337);
             Add_Error (Table.States (852));
             Add_Goto (Table.States (852), 122, 1015);
-            Set_Minimal_Action (Table.States (852).Minimal_Complete_Actions, 
(1 => (Reduce, 122, 0)));
+            Table.States (852).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (853).Productions := WisiToken.To_Vector ((1 => (295, 
1)));
             Add_Action (Table.States (853), (22, 24, 43), (295, 1), 5, 
select_alternative_1'Access, null);
-            Set_Minimal_Action (Table.States (853).Minimal_Complete_Actions, 
(1 => (Reduce, 295, 5)));
+            Table.States (853).Minimal_Complete_Action := (Reduce, 295, 5);
             Table.States (854).Productions := WisiToken.To_Vector ((1 => (295, 
0)));
             Add_Action (Table.States (854), (22, 24, 43), (295, 0), 5, 
select_alternative_0'Access, null);
-            Set_Minimal_Action (Table.States (854).Minimal_Complete_Actions, 
(1 => (Reduce, 295, 5)));
+            Table.States (854).Minimal_Complete_Action := (Reduce, 295, 5);
             Table.States (855).Productions := WisiToken.To_Vector ((1 => (152, 
0)));
             Add_Action (Table.States (855), 96, 1016);
             Add_Error (Table.States (855));
-            Set_Minimal_Action (Table.States (855).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1016)));
+            Table.States (855).Minimal_Complete_Action := (Shift, 96, 1016);
             Table.States (856).Productions := WisiToken.To_Vector ((1 => (323, 
0)));
             Add_Action (Table.States (856), 96, 1017);
             Add_Error (Table.States (856));
-            Set_Minimal_Action (Table.States (856).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1017)));
+            Table.States (856).Minimal_Complete_Action := (Shift, 96, 1017);
             Table.States (857).Productions := WisiToken.To_Vector ((1 => (294, 
0)));
             Add_Action (Table.States (857), 96, 1018);
             Add_Error (Table.States (857));
-            Set_Minimal_Action (Table.States (857).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1018)));
+            Table.States (857).Minimal_Complete_Action := (Shift, 96, 1018);
             Table.States (858).Productions := WisiToken.To_Vector ((1 => (126, 
0)));
             Add_Action (Table.States (858), 61, 1019);
             Add_Error (Table.States (858));
-            Set_Minimal_Action (Table.States (858).Minimal_Complete_Actions, 
(1 => (Shift, 61, 1019)));
+            Table.States (858).Minimal_Complete_Action := (Shift, 61, 1019);
             Table.States (859).Productions := WisiToken.To_Vector ((1 => (313, 
0)));
             Add_Action (Table.States (859), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (313, 0), 6,
             subtype_declaration_0'Access, null);
-            Set_Minimal_Action (Table.States (859).Minimal_Complete_Actions, 
(1 => (Reduce, 313, 6)));
+            Table.States (859).Minimal_Complete_Action := (Reduce, 313, 6);
             Table.States (860).Productions := WisiToken.To_Vector ((1 => (317, 
0)));
             Add_Action (Table.States (860), 96, 1020);
             Add_Error (Table.States (860));
-            Set_Minimal_Action (Table.States (860).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1020)));
+            Table.States (860).Minimal_Complete_Action := (Shift, 96, 1020);
             Table.States (861).Productions := WisiToken.To_Vector ((1 => (316, 
0)));
             Add_Action (Table.States (861), 13, 1021);
             Add_Error (Table.States (861));
-            Set_Minimal_Action (Table.States (861).Minimal_Complete_Actions, 
(1 => (Shift, 13, 1021)));
+            Table.States (861).Minimal_Complete_Action := (Shift, 13, 1021);
             Table.States (862).Productions := WisiToken.To_Vector (((319, 0), 
(319, 1)));
             Add_Action (Table.States (862), 24, Reduce, (159, 1), 0, null, 
null);
             Add_Action (Table.States (862), 25, Reduce, (246, 2), 0, null, 
null);
@@ -10276,17 +10201,17 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (862), 319, 113);
             Add_Goto (Table.States (862), 325, 115);
             Add_Goto (Table.States (862), 331, 116);
-            Set_Minimal_Action (Table.States (862).Minimal_Complete_Actions, 
((Shift, 39, 1022), (Reduce, 318, 0)));
+            Table.States (862).Minimal_Complete_Action := (Reduce, 318, 0);
             Table.States (863).Productions := WisiToken.To_Vector ((1 => (319, 
2)));
             Add_Action (Table.States (863), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (319, 2), 6,
             task_type_declaration_2'Access, null);
-            Set_Minimal_Action (Table.States (863).Minimal_Complete_Actions, 
(1 => (Reduce, 319, 6)));
+            Table.States (863).Minimal_Complete_Action := (Reduce, 319, 6);
             Table.States (864).Productions := WisiToken.To_Vector (((227, 0), 
(305, 0)));
             Add_Action (Table.States (864), 10, 1006);
             Add_Action (Table.States (864), 74, 1024);
             Add_Error (Table.States (864));
-            Set_Minimal_Action (Table.States (864).Minimal_Complete_Actions, 
(1 => (Shift, 74, 1024)));
+            Table.States (864).Minimal_Complete_Action := (Shift, 74, 1024);
             Table.States (865).Productions := WisiToken.To_Vector ((1 => (318, 
0)));
             Add_Action (Table.States (865), 24, Reduce, (159, 1), 0, null, 
null);
             Add_Action (Table.States (865), 25, Reduce, (246, 2), 0, null, 
null);
@@ -10358,20 +10283,20 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (865), 319, 113);
             Add_Goto (Table.States (865), 325, 115);
             Add_Goto (Table.States (865), 331, 116);
-            Set_Minimal_Action (Table.States (865).Minimal_Complete_Actions, 
(1 => (Reduce, 159, 0)));
+            Table.States (865).Minimal_Complete_Action := (Reduce, 159, 0);
             Table.States (866).Productions := WisiToken.To_Vector ((1 => (305, 
1)));
             Add_Action (Table.States (866), 96, Reduce, (220, 1), 0, null, 
null);
             Add_Action (Table.States (866), 104, 149);
             Add_Error (Table.States (866));
             Add_Goto (Table.States (866), 220, 1026);
-            Set_Minimal_Action (Table.States (866).Minimal_Complete_Actions, 
(1 => (Reduce, 220, 0)));
+            Table.States (866).Minimal_Complete_Action := (Reduce, 220, 0);
             Table.States (867).Productions := WisiToken.To_Vector ((1 => (171, 
0)));
             Add_Action (Table.States (867), (77, 96), (171, 0), 3, null, null);
-            Set_Minimal_Action (Table.States (867).Minimal_Complete_Actions, 
(1 => (Reduce, 171, 3)));
+            Table.States (867).Minimal_Complete_Action := (Reduce, 171, 3);
             Table.States (868).Productions := WisiToken.To_Vector (((241, 0), 
(242, 2), (242, 3)));
             Add_Action (Table.States (868), 41, 1027);
             Add_Error (Table.States (868));
-            Set_Minimal_Action (Table.States (868).Minimal_Complete_Actions, 
(1 => (Shift, 41, 1027)));
+            Table.States (868).Minimal_Complete_Action := (Shift, 41, 1027);
             Table.States (869).Productions := WisiToken.To_Vector (((239, 5), 
(242, 0)));
             Add_Action (Table.States (869), 76, Reduce, (239, 5), 1, 
name_5'Access, name_5_check'Access);
             Add_Action (Table.States (869), 77, Reduce, (242, 0), 1, 
null_exclusion_opt_name_type_0'Access, null);
@@ -10381,13 +10306,13 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (869), 101, Reduce, (239, 5), 1, 
name_5'Access, name_5_check'Access);
             Add_Action (Table.States (869), 102, Reduce, (239, 5), 1, 
name_5'Access, name_5_check'Access);
             Add_Error (Table.States (869));
-            Set_Minimal_Action (Table.States (869).Minimal_Complete_Actions, 
((Reduce, 239, 1), (Reduce, 242, 1)));
+            Table.States (869).Minimal_Complete_Action := (Reduce, 239, 1);
             Table.States (870).Productions := WisiToken.To_Vector (((170, 1), 
(170, 3)));
             Add_Action (Table.States (870), 77, Reduce, (170, 3), 3, null, 
null);
             Add_Action (Table.States (870), 82, 1028);
             Add_Action (Table.States (870), 96, Reduce, (170, 3), 3, null, 
null);
             Add_Error (Table.States (870));
-            Set_Minimal_Action (Table.States (870).Minimal_Complete_Actions, 
(1 => (Reduce, 170, 3)));
+            Table.States (870).Minimal_Complete_Action := (Reduce, 170, 3);
             Table.States (871).Productions := WisiToken.To_Vector (((128, 0), 
(239, 0), (239, 1), (272, 0), (293, 0),
             (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (871), 76, 235);
@@ -10397,13 +10322,12 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (871));
             Add_Goto (Table.States (871), 115, 241);
             Add_Goto (Table.States (871), 322, 242);
-            Set_Minimal_Action (Table.States (871).Minimal_Complete_Actions, 
((Shift, 84, 237), (Shift, 102, 240)));
             Table.States (872).Productions := WisiToken.To_Vector (((170, 0), 
(170, 2)));
             Add_Action (Table.States (872), 77, Reduce, (170, 2), 3, null, 
null);
             Add_Action (Table.States (872), 82, 1029);
             Add_Action (Table.States (872), 96, Reduce, (170, 2), 3, null, 
null);
             Add_Error (Table.States (872));
-            Set_Minimal_Action (Table.States (872).Minimal_Complete_Actions, 
(1 => (Reduce, 170, 3)));
+            Table.States (872).Minimal_Complete_Action := (Reduce, 170, 3);
             Table.States (873).Productions := WisiToken.To_Vector (((239, 2), 
(242, 1)));
             Add_Action (Table.States (873), 76, Reduce, (239, 2), 1, null, 
name_2_check'Access);
             Add_Action (Table.States (873), 77, Reduce, (242, 1), 1, 
null_exclusion_opt_name_type_1'Access, null);
@@ -10413,21 +10337,21 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (873), 101, Reduce, (239, 2), 1, null, 
name_2_check'Access);
             Add_Action (Table.States (873), 102, Reduce, (239, 2), 1, null, 
name_2_check'Access);
             Add_Error (Table.States (873));
-            Set_Minimal_Action (Table.States (873).Minimal_Complete_Actions, 
((Reduce, 239, 1), (Reduce, 242, 1)));
+            Table.States (873).Minimal_Complete_Action := (Reduce, 239, 1);
             Table.States (874).Productions := WisiToken.To_Vector (((109, 0), 
(110, 0)));
             Add_Action (Table.States (874), 39, Reduce, (109, 0), 2, null, 
null, (110, 0), 2, null, null);
             Add_Error (Table.States (874));
-            Set_Minimal_Action (Table.States (874).Minimal_Complete_Actions, 
((Reduce, 109, 2), (Reduce, 110, 2)));
+            Table.States (874).Minimal_Complete_Action := (Reduce, 109, 2);
             Table.States (875).Productions := WisiToken.To_Vector ((1 => (109, 
1)));
             Add_Action (Table.States (875), (1 =>  39), (109, 1), 2, null, 
null);
-            Set_Minimal_Action (Table.States (875).Minimal_Complete_Actions, 
(1 => (Reduce, 109, 2)));
+            Table.States (875).Minimal_Complete_Action := (Reduce, 109, 2);
             Table.States (876).Productions := WisiToken.To_Vector (((111, 0), 
(111, 1)));
             Add_Action (Table.States (876), 36, 1030);
             Add_Action (Table.States (876), 41, Reduce, (111, 1), 2, null, 
null);
             Add_Action (Table.States (876), 49, Reduce, (111, 1), 2, null, 
null);
             Add_Action (Table.States (876), 54, Reduce, (111, 1), 2, null, 
null);
             Add_Error (Table.States (876));
-            Set_Minimal_Action (Table.States (876).Minimal_Complete_Actions, 
(1 => (Reduce, 111, 2)));
+            Table.States (876).Minimal_Complete_Action := (Reduce, 111, 2);
             Table.States (877).Productions := WisiToken.To_Vector (((120, 0), 
(120, 1)));
             Add_Action (Table.States (877), 3, 121);
             Add_Action (Table.States (877), 39, 122);
@@ -10458,7 +10382,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (877), 320, 144);
             Add_Goto (Table.States (877), 321, 145);
             Add_Goto (Table.States (877), 330, 146);
-            Set_Minimal_Action (Table.States (877).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (877).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (878).Productions := WisiToken.To_Vector (((326, 4), 
(326, 5)));
             Add_Action (Table.States (878), 20, 1035);
             Add_Action (Table.States (878), 53, 1036);
@@ -10466,36 +10390,36 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (878), 96, Reduce, (279, 1), 0, null, 
null);
             Add_Error (Table.States (878));
             Add_Goto (Table.States (878), 279, 1037);
-            Set_Minimal_Action (Table.States (878).Minimal_Complete_Actions, 
((Shift, 20, 1035), (Reduce, 279, 0)));
+            Table.States (878).Minimal_Complete_Action := (Reduce, 279, 0);
             Table.States (879).Productions := WisiToken.To_Vector ((1 => (326, 
3)));
             Add_Action (Table.States (879), 53, 1036);
             Add_Action (Table.States (879), 74, Reduce, (279, 1), 0, null, 
null);
             Add_Action (Table.States (879), 96, Reduce, (279, 1), 0, null, 
null);
             Add_Error (Table.States (879));
             Add_Goto (Table.States (879), 279, 1038);
-            Set_Minimal_Action (Table.States (879).Minimal_Complete_Actions, 
(1 => (Reduce, 279, 0)));
+            Table.States (879).Minimal_Complete_Action := (Reduce, 279, 0);
             Table.States (880).Productions := WisiToken.To_Vector (((228, 0), 
(228, 4)));
             Add_Action (Table.States (880), 10, 1039);
             Add_Action (Table.States (880), 74, Reduce, (228, 4), 2, null, 
null);
             Add_Action (Table.States (880), 96, Reduce, (228, 4), 2, null, 
null);
             Add_Error (Table.States (880));
-            Set_Minimal_Action (Table.States (880).Minimal_Complete_Actions, 
(1 => (Reduce, 228, 2)));
+            Table.States (880).Minimal_Complete_Action := (Reduce, 228, 2);
             Table.States (881).Productions := WisiToken.To_Vector ((1 => (326, 
2)));
             Add_Action (Table.States (881), (74, 96), (326, 2), 2, null, null);
-            Set_Minimal_Action (Table.States (881).Minimal_Complete_Actions, 
(1 => (Reduce, 326, 2)));
+            Table.States (881).Minimal_Complete_Action := (Reduce, 326, 2);
             Table.States (882).Productions := WisiToken.To_Vector ((1 => (280, 
1)));
             Add_Action (Table.States (882), (74, 96), (280, 1), 2, null, null);
-            Set_Minimal_Action (Table.States (882).Minimal_Complete_Actions, 
(1 => (Reduce, 280, 2)));
+            Table.States (882).Minimal_Complete_Action := (Reduce, 280, 2);
             Table.States (883).Productions := WisiToken.To_Vector (((228, 2), 
(228, 6)));
             Add_Action (Table.States (883), 10, 1040);
             Add_Action (Table.States (883), 74, Reduce, (228, 6), 2, null, 
null);
             Add_Action (Table.States (883), 96, Reduce, (228, 6), 2, null, 
null);
             Add_Error (Table.States (883));
-            Set_Minimal_Action (Table.States (883).Minimal_Complete_Actions, 
(1 => (Reduce, 228, 2)));
+            Table.States (883).Minimal_Complete_Action := (Reduce, 228, 2);
             Table.States (884).Productions := WisiToken.To_Vector ((1 => (326, 
1)));
             Add_Action (Table.States (884), 85, 1041);
             Add_Error (Table.States (884));
-            Set_Minimal_Action (Table.States (884).Minimal_Complete_Actions, 
(1 => (Shift, 85, 1041)));
+            Table.States (884).Minimal_Complete_Action := (Shift, 85, 1041);
             Table.States (885).Productions := WisiToken.To_Vector ((1 => (327, 
0)));
             Add_Action (Table.States (885), 35, Reduce, (164, 1), 0, null, 
null);
             Add_Action (Table.States (885), 104, 1042);
@@ -10503,20 +10427,20 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (885));
             Add_Goto (Table.States (885), 163, 1044);
             Add_Goto (Table.States (885), 164, 1045);
-            Set_Minimal_Action (Table.States (885).Minimal_Complete_Actions, 
(1 => (Reduce, 164, 0)));
+            Table.States (885).Minimal_Complete_Action := (Reduce, 164, 0);
             Table.States (886).Productions := WisiToken.To_Vector ((1 => (149, 
4)));
             Add_Action (Table.States (886), 96, 1046);
             Add_Error (Table.States (886));
-            Set_Minimal_Action (Table.States (886).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1046)));
+            Table.States (886).Minimal_Complete_Action := (Shift, 96, 1046);
             Table.States (887).Productions := WisiToken.To_Vector ((1 => (148, 
1)));
             Add_Action (Table.States (887), (15, 24, 28, 72, 104), (148, 1), 
1, null, null);
-            Set_Minimal_Action (Table.States (887).Minimal_Complete_Actions, 
(1 => (Reduce, 148, 1)));
+            Table.States (887).Minimal_Complete_Action := (Reduce, 148, 1);
             Table.States (888).Productions := WisiToken.To_Vector ((1 => (148, 
0)));
             Add_Action (Table.States (888), (15, 24, 28, 72, 104), (148, 0), 
1, null, null);
-            Set_Minimal_Action (Table.States (888).Minimal_Complete_Actions, 
(1 => (Reduce, 148, 1)));
+            Table.States (888).Minimal_Complete_Action := (Reduce, 148, 1);
             Table.States (889).Productions := WisiToken.To_Vector ((1 => (149, 
2)));
             Add_Action (Table.States (889), (15, 24, 28, 72, 104), (149, 2), 
1, null, null);
-            Set_Minimal_Action (Table.States (889).Minimal_Complete_Actions, 
(1 => (Reduce, 149, 1)));
+            Table.States (889).Minimal_Complete_Action := (Reduce, 149, 1);
             Table.States (890).Productions := WisiToken.To_Vector (((149, 0), 
(149, 1), (150, 0)));
             Add_Action (Table.States (890), 15, 885);
             Add_Action (Table.States (890), 24, Reduce, (150, 0), 1, null, 
null);
@@ -10532,53 +10456,53 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (890), 219, 892);
             Add_Goto (Table.States (890), 281, 94);
             Add_Goto (Table.States (890), 327, 1048);
-            Set_Minimal_Action (Table.States (890).Minimal_Complete_Actions, 
(1 => (Reduce, 150, 1)));
+            Table.States (890).Minimal_Complete_Action := (Reduce, 150, 1);
             Table.States (891).Productions := WisiToken.To_Vector ((1 => (280, 
0)));
             Add_Action (Table.States (891), 24, 1049);
             Add_Error (Table.States (891));
-            Set_Minimal_Action (Table.States (891).Minimal_Complete_Actions, 
(1 => (Shift, 24, 1049)));
+            Table.States (891).Minimal_Complete_Action := (Shift, 24, 1049);
             Table.States (892).Productions := WisiToken.To_Vector (((146, 0), 
(146, 1), (219, 0)));
             Add_Action (Table.States (892), 81, 1050);
             Add_Action (Table.States (892), 83, 234);
             Add_Error (Table.States (892));
-            Set_Minimal_Action (Table.States (892).Minimal_Complete_Actions, 
(1 => (Shift, 81, 1050)));
+            Table.States (892).Minimal_Complete_Action := (Shift, 81, 1050);
             Table.States (893).Productions := WisiToken.To_Vector ((1 => (149, 
3)));
             Add_Action (Table.States (893), (15, 24, 28, 72, 104), (149, 3), 
1, null, null);
-            Set_Minimal_Action (Table.States (893).Minimal_Complete_Actions, 
(1 => (Reduce, 149, 1)));
+            Table.States (893).Minimal_Complete_Action := (Reduce, 149, 1);
             Table.States (894).Productions := WisiToken.To_Vector (((228, 3), 
(228, 7)));
             Add_Action (Table.States (894), 10, 1051);
             Add_Action (Table.States (894), 74, Reduce, (228, 7), 2, null, 
null);
             Add_Action (Table.States (894), 96, Reduce, (228, 7), 2, null, 
null);
             Add_Error (Table.States (894));
-            Set_Minimal_Action (Table.States (894).Minimal_Complete_Actions, 
(1 => (Reduce, 228, 2)));
+            Table.States (894).Minimal_Complete_Action := (Reduce, 228, 2);
             Table.States (895).Productions := WisiToken.To_Vector ((1 => (111, 
2)));
             Add_Action (Table.States (895), (41, 49, 54), (111, 2), 2, null, 
null);
-            Set_Minimal_Action (Table.States (895).Minimal_Complete_Actions, 
(1 => (Reduce, 111, 2)));
+            Table.States (895).Minimal_Complete_Action := (Reduce, 111, 2);
             Table.States (896).Productions := WisiToken.To_Vector ((1 => (223, 
0)));
             Add_Action (Table.States (896), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (223, 0), 6,
             incomplete_type_declaration_0'Access, null);
-            Set_Minimal_Action (Table.States (896).Minimal_Complete_Actions, 
(1 => (Reduce, 223, 6)));
+            Table.States (896).Minimal_Complete_Action := (Reduce, 223, 6);
             Table.States (897).Productions := WisiToken.To_Vector (((228, 1), 
(228, 5)));
             Add_Action (Table.States (897), 10, 1052);
             Add_Action (Table.States (897), 74, Reduce, (228, 5), 2, null, 
null);
             Add_Action (Table.States (897), 96, Reduce, (228, 5), 2, null, 
null);
             Add_Error (Table.States (897));
-            Set_Minimal_Action (Table.States (897).Minimal_Complete_Actions, 
(1 => (Reduce, 228, 2)));
+            Table.States (897).Minimal_Complete_Action := (Reduce, 228, 2);
             Table.States (898).Productions := WisiToken.To_Vector ((1 => (180, 
0)));
             Add_Action (Table.States (898), (77, 83), (180, 0), 1, null, null);
-            Set_Minimal_Action (Table.States (898).Minimal_Complete_Actions, 
(1 => (Reduce, 180, 1)));
+            Table.States (898).Minimal_Complete_Action := (Reduce, 180, 1);
             Table.States (899).Productions := WisiToken.To_Vector ((1 => (180, 
1)));
             Add_Action (Table.States (899), (77, 83), (180, 1), 1, null, null);
-            Set_Minimal_Action (Table.States (899).Minimal_Complete_Actions, 
(1 => (Reduce, 180, 1)));
+            Table.States (899).Minimal_Complete_Action := (Reduce, 180, 1);
             Table.States (900).Productions := WisiToken.To_Vector ((1 => (181, 
1)));
             Add_Action (Table.States (900), (77, 83), (181, 1), 1, null, null);
-            Set_Minimal_Action (Table.States (900).Minimal_Complete_Actions, 
(1 => (Reduce, 181, 1)));
+            Table.States (900).Minimal_Complete_Action := (Reduce, 181, 1);
             Table.States (901).Productions := WisiToken.To_Vector (((181, 0), 
(183, 0)));
             Add_Action (Table.States (901), 77, 1053);
             Add_Action (Table.States (901), 83, 1054);
             Add_Error (Table.States (901));
-            Set_Minimal_Action (Table.States (901).Minimal_Complete_Actions, 
(1 => (Shift, 77, 1053)));
+            Table.States (901).Minimal_Complete_Action := (Shift, 77, 1053);
             Table.States (902).Productions := WisiToken.To_Vector ((1 => (259, 
0)));
             Add_Action (Table.States (902), 40, 483);
             Add_Action (Table.States (902), 104, 119);
@@ -10590,7 +10514,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (902), 272, 92);
             Add_Goto (Table.States (902), 293, 97);
             Add_Goto (Table.States (902), 314, 1055);
-            Set_Minimal_Action (Table.States (902).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (902).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (903).Productions := WisiToken.To_Vector (((162, 0), 
(162, 1)));
             Add_Action (Table.States (903), 104, 119);
             Add_Action (Table.States (903), 105, 33);
@@ -10600,28 +10524,28 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (903), 239, 1056);
             Add_Goto (Table.States (903), 272, 92);
             Add_Goto (Table.States (903), 293, 97);
-            Set_Minimal_Action (Table.States (903).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (903).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (904).Productions := WisiToken.To_Vector ((1 => (260, 
0)));
             Add_Action (Table.States (904), 74, 337);
             Add_Action (Table.States (904), 96, Reduce, (122, 1), 0, null, 
null);
             Add_Error (Table.States (904));
             Add_Goto (Table.States (904), 122, 1057);
-            Set_Minimal_Action (Table.States (904).Minimal_Complete_Actions, 
(1 => (Reduce, 122, 0)));
+            Table.States (904).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (905).Productions := WisiToken.To_Vector ((1 => (326, 
7)));
             Add_Action (Table.States (905), (74, 96), (326, 7), 2, null, null);
-            Set_Minimal_Action (Table.States (905).Minimal_Complete_Actions, 
(1 => (Reduce, 326, 2)));
+            Table.States (905).Minimal_Complete_Action := (Reduce, 326, 2);
             Table.States (906).Productions := WisiToken.To_Vector ((1 => (206, 
0)));
             Add_Action (Table.States (906), 96, 1058);
             Add_Error (Table.States (906));
-            Set_Minimal_Action (Table.States (906).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1058)));
+            Table.States (906).Minimal_Complete_Action := (Shift, 96, 1058);
             Table.States (907).Productions := WisiToken.To_Vector ((1 => (245, 
2)));
             Add_Action (Table.States (907), 96, 1059);
             Add_Error (Table.States (907));
-            Set_Minimal_Action (Table.States (907).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1059)));
+            Table.States (907).Minimal_Complete_Action := (Shift, 96, 1059);
             Table.States (908).Productions := WisiToken.To_Vector ((1 => (245, 
1)));
             Add_Action (Table.States (908), 96, 1060);
             Add_Error (Table.States (908));
-            Set_Minimal_Action (Table.States (908).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1060)));
+            Table.States (908).Minimal_Complete_Action := (Shift, 96, 1060);
             Table.States (909).Productions := WisiToken.To_Vector (((114, 2), 
(128, 0), (239, 0), (239, 1), (272, 0),
             (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (909), 21, Reduce, (114, 2), 4, 
access_definition_2'Access, null);
@@ -10638,8 +10562,7 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (909));
             Add_Goto (Table.States (909), 115, 241);
             Add_Goto (Table.States (909), 322, 242);
-            Set_Minimal_Action (Table.States (909).Minimal_Complete_Actions, 
((Shift, 84, 237), (Shift, 102, 240),
-            (Reduce, 114, 4)));
+            Table.States (909).Minimal_Complete_Action := (Reduce, 114, 4);
             Table.States (910).Productions := WisiToken.To_Vector ((1 => (114, 
1)));
             Add_Action (Table.States (910), 58, 317);
             Add_Action (Table.States (910), 76, 431);
@@ -10647,7 +10570,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (910), 199, 319);
             Add_Goto (Table.States (910), 252, 1061);
             Add_Goto (Table.States (910), 291, 321);
-            Set_Minimal_Action (Table.States (910).Minimal_Complete_Actions, 
(1 => (Shift, 58, 317)));
+            Table.States (910).Minimal_Complete_Action := (Shift, 58, 317);
             Table.States (911).Productions := WisiToken.To_Vector ((1 => (114, 
0)));
             Add_Action (Table.States (911), 21, Reduce, (253, 1), 0, null, 
null);
             Add_Action (Table.States (911), 35, Reduce, (253, 1), 0, null, 
null);
@@ -10660,7 +10583,7 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (911));
             Add_Goto (Table.States (911), 199, 344);
             Add_Goto (Table.States (911), 253, 1062);
-            Set_Minimal_Action (Table.States (911).Minimal_Complete_Actions, 
(1 => (Reduce, 253, 0)));
+            Table.States (911).Minimal_Complete_Action := (Reduce, 253, 0);
             Table.States (912).Productions := WisiToken.To_Vector (((128, 0), 
(239, 0), (239, 1), (245, 0), (272, 0),
             (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (912), 74, 337);
@@ -10673,16 +10596,15 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (912), 115, 241);
             Add_Goto (Table.States (912), 122, 1063);
             Add_Goto (Table.States (912), 322, 242);
-            Set_Minimal_Action (Table.States (912).Minimal_Complete_Actions, 
((Shift, 84, 237), (Shift, 102, 240),
-            (Reduce, 122, 0)));
+            Table.States (912).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (913).Productions := WisiToken.To_Vector ((1 => (133, 
1)));
             Add_Action (Table.States (913), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (133, 1), 6, block_statement_1'Access, 
block_statement_1_check'Access);
-            Set_Minimal_Action (Table.States (913).Minimal_Complete_Actions, 
(1 => (Reduce, 133, 6)));
+            Table.States (913).Minimal_Complete_Action := (Reduce, 133, 6);
             Table.States (914).Productions := WisiToken.To_Vector ((1 => (184, 
1)));
             Add_Action (Table.States (914), (79, 87), (184, 1), 1, null, null);
-            Set_Minimal_Action (Table.States (914).Minimal_Complete_Actions, 
(1 => (Reduce, 184, 1)));
+            Table.States (914).Minimal_Complete_Action := (Reduce, 184, 1);
             Table.States (915).Productions := WisiToken.To_Vector (((187, 0), 
(239, 5)));
             Add_Action (Table.States (915), 76, Reduce, (239, 5), 1, 
name_5'Access, name_5_check'Access);
             Add_Action (Table.States (915), 79, Reduce, (239, 5), 1, 
name_5'Access, name_5_check'Access);
@@ -10692,15 +10614,15 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (915), 101, Reduce, (239, 5), 1, 
name_5'Access, name_5_check'Access);
             Add_Action (Table.States (915), 102, Reduce, (239, 5), 1, 
name_5'Access, name_5_check'Access);
             Add_Error (Table.States (915));
-            Set_Minimal_Action (Table.States (915).Minimal_Complete_Actions, 
((Shift, 81, 1064), (Reduce, 239, 1)));
+            Table.States (915).Minimal_Complete_Action := (Reduce, 239, 1);
             Table.States (916).Productions := WisiToken.To_Vector ((1 => (185, 
1)));
             Add_Action (Table.States (916), (79, 87), (185, 1), 1, null, null);
-            Set_Minimal_Action (Table.States (916).Minimal_Complete_Actions, 
(1 => (Reduce, 185, 1)));
+            Table.States (916).Minimal_Complete_Action := (Reduce, 185, 1);
             Table.States (917).Productions := WisiToken.To_Vector (((185, 0), 
(187, 1)));
             Add_Action (Table.States (917), 79, 1065);
             Add_Action (Table.States (917), 87, 1066);
             Add_Error (Table.States (917));
-            Set_Minimal_Action (Table.States (917).Minimal_Complete_Actions, 
(1 => (Shift, 87, 1066)));
+            Table.States (917).Minimal_Complete_Action := (Shift, 87, 1066);
             Table.States (918).Productions := WisiToken.To_Vector (((128, 0), 
(184, 0), (239, 0), (239, 1), (272, 0),
             (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (918), 76, 235);
@@ -10712,35 +10634,31 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (918));
             Add_Goto (Table.States (918), 115, 241);
             Add_Goto (Table.States (918), 322, 242);
-            Set_Minimal_Action (Table.States (918).Minimal_Complete_Actions, 
((Shift, 84, 237), (Shift, 102, 240),
-            (Reduce, 184, 1)));
+            Table.States (918).Minimal_Complete_Action := (Reduce, 184, 1);
             Table.States (919).Productions := WisiToken.To_Vector ((1 => (188, 
0)));
             Add_Action (Table.States (919), (24, 72), (188, 0), 2, null, null);
-            Set_Minimal_Action (Table.States (919).Minimal_Complete_Actions, 
(1 => (Reduce, 188, 2)));
+            Table.States (919).Minimal_Complete_Action := (Reduce, 188, 2);
             Table.States (920).Productions := WisiToken.To_Vector ((1 => (133, 
0)));
             Add_Action (Table.States (920), 96, Reduce, (220, 1), 0, null, 
null);
             Add_Action (Table.States (920), 104, 149);
             Add_Error (Table.States (920));
             Add_Goto (Table.States (920), 220, 1067);
-            Set_Minimal_Action (Table.States (920).Minimal_Complete_Actions, 
(1 => (Reduce, 220, 0)));
+            Table.States (920).Minimal_Complete_Action := (Reduce, 220, 0);
             Table.States (921).Productions := WisiToken.To_Vector ((1 => (232, 
1)));
             Add_Action (Table.States (921), 96, 1068);
             Add_Error (Table.States (921));
-            Set_Minimal_Action (Table.States (921).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1068)));
-         end Subr_15;
-         procedure Subr_16
-         is begin
+            Table.States (921).Minimal_Complete_Action := (Shift, 96, 1068);
             Table.States (922).Productions := WisiToken.To_Vector ((1 => (232, 
0)));
             Add_Action (Table.States (922), 96, Reduce, (220, 1), 0, null, 
null);
             Add_Action (Table.States (922), 104, 149);
             Add_Error (Table.States (922));
             Add_Goto (Table.States (922), 220, 1069);
-            Set_Minimal_Action (Table.States (922).Minimal_Complete_Actions, 
(1 => (Reduce, 220, 0)));
+            Table.States (922).Minimal_Complete_Action := (Reduce, 220, 0);
             Table.States (923).Productions := WisiToken.To_Vector ((1 => (157, 
9)));
             Add_Action (Table.States (923), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (157, 9), 6,
             declaration_9'Access, null);
-            Set_Minimal_Action (Table.States (923).Minimal_Complete_Actions, 
(1 => (Reduce, 157, 6)));
+            Table.States (923).Minimal_Complete_Action := (Reduce, 157, 6);
             Table.States (924).Productions := WisiToken.To_Vector (((241, 0), 
(314, 0), (314, 1)));
             Add_Action (Table.States (924), 7, Reduce, (241, 0), 2, null, 
null);
             Add_Action (Table.States (924), 104, 119);
@@ -10751,7 +10669,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (924), 239, 772);
             Add_Goto (Table.States (924), 272, 92);
             Add_Goto (Table.States (924), 293, 97);
-            Set_Minimal_Action (Table.States (924).Minimal_Complete_Actions, 
((Shift, 105, 33), (Reduce, 241, 2)));
+            Table.States (924).Minimal_Complete_Action := (Reduce, 241, 2);
             Table.States (925).Productions := WisiToken.To_Vector ((1 => (244, 
1)));
             Add_Action (Table.States (925), 3, 121);
             Add_Action (Table.States (925), 39, 122);
@@ -10788,11 +10706,11 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (925), 320, 144);
             Add_Goto (Table.States (925), 321, 145);
             Add_Goto (Table.States (925), 330, 146);
-            Set_Minimal_Action (Table.States (925).Minimal_Complete_Actions, 
(1 => (Reduce, 192, 0)));
+            Table.States (925).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (926).Productions := WisiToken.To_Vector ((1 => (244, 
4)));
             Add_Action (Table.States (926), 96, 1071);
             Add_Error (Table.States (926));
-            Set_Minimal_Action (Table.States (926).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1071)));
+            Table.States (926).Minimal_Complete_Action := (Shift, 96, 1071);
             Table.States (927).Productions := WisiToken.To_Vector ((1 => (244, 
2)));
             Add_Action (Table.States (927), 3, 121);
             Add_Action (Table.States (927), 39, 122);
@@ -10829,11 +10747,14 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (927), 320, 144);
             Add_Goto (Table.States (927), 321, 145);
             Add_Goto (Table.States (927), 330, 146);
-            Set_Minimal_Action (Table.States (927).Minimal_Complete_Actions, 
(1 => (Reduce, 192, 0)));
+            Table.States (927).Minimal_Complete_Action := (Reduce, 192, 0);
+         end Subr_15;
+         procedure Subr_16
+         is begin
             Table.States (928).Productions := WisiToken.To_Vector ((1 => (244, 
5)));
             Add_Action (Table.States (928), 96, 1073);
             Add_Error (Table.States (928));
-            Set_Minimal_Action (Table.States (928).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1073)));
+            Table.States (928).Minimal_Complete_Action := (Shift, 96, 1073);
             Table.States (929).Productions := WisiToken.To_Vector ((1 => (244, 
0)));
             Add_Action (Table.States (929), 3, 121);
             Add_Action (Table.States (929), 39, 122);
@@ -10870,11 +10791,11 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (929), 320, 144);
             Add_Goto (Table.States (929), 321, 145);
             Add_Goto (Table.States (929), 330, 146);
-            Set_Minimal_Action (Table.States (929).Minimal_Complete_Actions, 
(1 => (Reduce, 192, 0)));
+            Table.States (929).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (930).Productions := WisiToken.To_Vector ((1 => (244, 
3)));
             Add_Action (Table.States (930), 96, 1075);
             Add_Error (Table.States (930));
-            Set_Minimal_Action (Table.States (930).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1075)));
+            Table.States (930).Minimal_Complete_Action := (Shift, 96, 1075);
             Table.States (931).Productions := WisiToken.To_Vector ((1 => (179, 
0)));
             Add_Action (Table.States (931), 74, Reduce, (253, 1), 0, null, 
null);
             Add_Action (Table.States (931), 76, 431);
@@ -10882,12 +10803,12 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (931));
             Add_Goto (Table.States (931), 199, 344);
             Add_Goto (Table.States (931), 253, 1076);
-            Set_Minimal_Action (Table.States (931).Minimal_Complete_Actions, 
(1 => (Reduce, 253, 0)));
+            Table.States (931).Minimal_Complete_Action := (Reduce, 253, 0);
             Table.States (932).Productions := WisiToken.To_Vector ((1 => (179, 
1)));
             Add_Action (Table.States (932), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (179, 1), 6,
             entry_declaration_1'Access, null);
-            Set_Minimal_Action (Table.States (932).Minimal_Complete_Actions, 
(1 => (Reduce, 179, 6)));
+            Table.States (932).Minimal_Complete_Action := (Reduce, 179, 6);
             Table.States (933).Productions := WisiToken.To_Vector (((128, 0), 
(213, 2), (239, 0), (239, 1), (272, 0),
             (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (933), 74, 337);
@@ -10900,8 +10821,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (933), 115, 241);
             Add_Goto (Table.States (933), 122, 1077);
             Add_Goto (Table.States (933), 322, 242);
-            Set_Minimal_Action (Table.States (933).Minimal_Complete_Actions, 
((Shift, 84, 237), (Shift, 102, 240),
-            (Reduce, 122, 0)));
+            Table.States (933).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (934).Productions := WisiToken.To_Vector (((128, 0), 
(213, 1), (239, 0), (239, 1), (272, 0),
             (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (934), 74, 337);
@@ -10914,42 +10834,41 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (934), 115, 241);
             Add_Goto (Table.States (934), 122, 1078);
             Add_Goto (Table.States (934), 322, 242);
-            Set_Minimal_Action (Table.States (934).Minimal_Complete_Actions, 
((Shift, 84, 237), (Shift, 102, 240),
-            (Reduce, 122, 0)));
+            Table.States (934).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (935).Productions := WisiToken.To_Vector ((1 => (256, 
1)));
             Add_Action (Table.States (935), (74, 96), (256, 1), 3, 
paren_expression_1'Access, null);
-            Set_Minimal_Action (Table.States (935).Minimal_Complete_Actions, 
(1 => (Reduce, 256, 3)));
+            Table.States (935).Minimal_Complete_Action := (Reduce, 256, 3);
             Table.States (936).Productions := WisiToken.To_Vector ((1 => (256, 
2)));
             Add_Action (Table.States (936), (74, 96), (256, 2), 3, 
paren_expression_2'Access, null);
-            Set_Minimal_Action (Table.States (936).Minimal_Complete_Actions, 
(1 => (Reduce, 256, 3)));
+            Table.States (936).Minimal_Complete_Action := (Reduce, 256, 3);
             Table.States (937).Productions := WisiToken.To_Vector ((1 => (256, 
0)));
             Add_Action (Table.States (937), (74, 96), (256, 0), 3, 
paren_expression_0'Access, null);
-            Set_Minimal_Action (Table.States (937).Minimal_Complete_Actions, 
(1 => (Reduce, 256, 3)));
+            Table.States (937).Minimal_Complete_Action := (Reduce, 256, 3);
             Table.States (938).Productions := WisiToken.To_Vector ((1 => (193, 
0)));
             Add_Action (Table.States (938), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (193, 0), 6,
             expression_function_declaration_0'Access, null);
-            Set_Minimal_Action (Table.States (938).Minimal_Complete_Actions, 
(1 => (Reduce, 193, 6)));
+            Table.States (938).Minimal_Complete_Action := (Reduce, 193, 6);
             Table.States (939).Productions := WisiToken.To_Vector ((1 => (243, 
0)));
             Add_Action (Table.States (939), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (243, 0), 6,
             null_procedure_declaration_0'Access, null);
-            Set_Minimal_Action (Table.States (939).Minimal_Complete_Actions, 
(1 => (Reduce, 243, 6)));
+            Table.States (939).Minimal_Complete_Action := (Reduce, 243, 6);
             Table.States (940).Productions := WisiToken.To_Vector ((1 => (112, 
0)));
             Add_Action (Table.States (940), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (112, 0), 6,
             abstract_subprogram_declaration_0'Access, null);
-            Set_Minimal_Action (Table.States (940).Minimal_Complete_Actions, 
(1 => (Reduce, 112, 6)));
+            Table.States (940).Minimal_Complete_Action := (Reduce, 112, 6);
             Table.States (941).Productions := WisiToken.To_Vector ((1 => (308, 
0)));
             Add_Action (Table.States (941), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (308, 0), 6,
             subprogram_body_stub_0'Access, null);
-            Set_Minimal_Action (Table.States (941).Minimal_Complete_Actions, 
(1 => (Reduce, 308, 6)));
+            Table.States (941).Minimal_Complete_Action := (Reduce, 308, 6);
             Table.States (942).Productions := WisiToken.To_Vector ((1 => (311, 
0)));
             Add_Action (Table.States (942), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (311, 0), 6,
             subprogram_renaming_declaration_0'Access, null);
-            Set_Minimal_Action (Table.States (942).Minimal_Complete_Actions, 
(1 => (Reduce, 311, 6)));
+            Table.States (942).Minimal_Complete_Action := (Reduce, 311, 6);
             Table.States (943).Productions := WisiToken.To_Vector ((1 => (307, 
0)));
             Add_Action (Table.States (943), 4, 1);
             Add_Action (Table.States (943), 5, 2);
@@ -11008,26 +10927,26 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (943), 303, 101);
             Add_Goto (Table.States (943), 306, 363);
             Add_Goto (Table.States (943), 323, 114);
-            Set_Minimal_Action (Table.States (943).Minimal_Complete_Actions, 
(1 => (Reduce, 218, 0)));
+            Table.States (943).Minimal_Complete_Action := (Reduce, 218, 0);
             Table.States (944).Productions := WisiToken.To_Vector ((1 => (113, 
0)));
             Add_Action (Table.States (944), 96, Reduce, (220, 1), 0, null, 
null);
             Add_Action (Table.States (944), 104, 149);
             Add_Error (Table.States (944));
             Add_Goto (Table.States (944), 220, 1080);
-            Set_Minimal_Action (Table.States (944).Minimal_Complete_Actions, 
(1 => (Reduce, 220, 0)));
+            Table.States (944).Minimal_Complete_Action := (Reduce, 220, 0);
             Table.States (945).Productions := WisiToken.To_Vector (((137, 0), 
(166, 0)));
             Add_Action (Table.States (945), 79, 445);
             Add_Action (Table.States (945), 87, 1081);
             Add_Error (Table.States (945));
-            Set_Minimal_Action (Table.States (945).Minimal_Complete_Actions, 
(1 => (Shift, 87, 1081)));
+            Table.States (945).Minimal_Complete_Action := (Shift, 87, 1081);
             Table.States (946).Productions := WisiToken.To_Vector ((1 => (138, 
0)));
             Add_Action (Table.States (946), 72, 761);
             Add_Error (Table.States (946));
             Add_Goto (Table.States (946), 137, 1082);
-            Set_Minimal_Action (Table.States (946).Minimal_Complete_Actions, 
(1 => (Shift, 72, 761)));
+            Table.States (946).Minimal_Complete_Action := (Shift, 72, 761);
             Table.States (947).Productions := WisiToken.To_Vector ((1 => (273, 
0)));
             Add_Action (Table.States (947), (1 =>  77), (273, 0), 5, 
quantified_expression_0'Access, null);
-            Set_Minimal_Action (Table.States (947).Minimal_Complete_Actions, 
(1 => (Reduce, 273, 5)));
+            Table.States (947).Minimal_Complete_Action := (Reduce, 273, 5);
             Table.States (948).Productions := WisiToken.To_Vector ((1 => (221, 
1)));
             Add_Action (Table.States (948), 3, 121);
             Add_Action (Table.States (948), 39, 122);
@@ -11063,7 +10982,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (948), 320, 144);
             Add_Goto (Table.States (948), 321, 145);
             Add_Goto (Table.States (948), 330, 146);
-            Set_Minimal_Action (Table.States (948).Minimal_Complete_Actions, 
(1 => (Reduce, 192, 0)));
+            Table.States (948).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (949).Productions := WisiToken.To_Vector ((1 => (172, 
0)));
             Add_Action (Table.States (949), 3, 121);
             Add_Action (Table.States (949), 39, 122);
@@ -11099,39 +11018,39 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (949), 320, 144);
             Add_Goto (Table.States (949), 321, 145);
             Add_Goto (Table.States (949), 330, 146);
-            Set_Minimal_Action (Table.States (949).Minimal_Complete_Actions, 
(1 => (Reduce, 192, 0)));
+            Table.States (949).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (950).Productions := WisiToken.To_Vector ((1 => (173, 
1)));
             Add_Action (Table.States (950), (22, 23, 77), (173, 1), 1, null, 
null);
-            Set_Minimal_Action (Table.States (950).Minimal_Complete_Actions, 
(1 => (Reduce, 173, 1)));
+            Table.States (950).Minimal_Complete_Action := (Reduce, 173, 1);
             Table.States (951).Productions := WisiToken.To_Vector (((173, 0), 
(221, 0), (221, 2)));
             Add_Action (Table.States (951), 22, 1085);
             Add_Action (Table.States (951), 23, 949);
             Add_Action (Table.States (951), 77, Reduce, (221, 2), 5, 
if_expression_2'Access, null);
             Add_Error (Table.States (951));
             Add_Goto (Table.States (951), 172, 1086);
-            Set_Minimal_Action (Table.States (951).Minimal_Complete_Actions, 
(1 => (Reduce, 221, 5)));
+            Table.States (951).Minimal_Complete_Action := (Reduce, 221, 5);
             Table.States (952).Productions := WisiToken.To_Vector ((1 => (117, 
0)));
             Add_Action (Table.States (952), (4, 5, 10, 13, 15, 17, 18, 20, 21, 
22, 23, 27, 28, 31, 32, 33, 35, 37, 38,
             40, 41, 42, 43, 48, 52, 53, 55, 56, 57, 58, 61, 68, 71, 73, 74, 
75, 76, 77, 78, 79, 82, 83, 84, 85, 86, 87,
             88, 89, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 104, 
105, 106), (117, 0), 6, aggregate_0'Access,
             null);
-            Set_Minimal_Action (Table.States (952).Minimal_Complete_Actions, 
(1 => (Reduce, 117, 6)));
+            Table.States (952).Minimal_Complete_Action := (Reduce, 117, 6);
             Table.States (953).Productions := WisiToken.To_Vector ((1 => (277, 
0)));
             Add_Action (Table.States (953), 77, 1087);
             Add_Error (Table.States (953));
-            Set_Minimal_Action (Table.States (953).Minimal_Complete_Actions, 
(1 => (Shift, 77, 1087)));
+            Table.States (953).Minimal_Complete_Action := (Shift, 77, 1087);
             Table.States (954).Productions := WisiToken.To_Vector ((1 => (140, 
0)));
             Add_Action (Table.States (954), (24, 72), (140, 0), 4, 
case_statement_alternative_0'Access, null);
-            Set_Minimal_Action (Table.States (954).Minimal_Complete_Actions, 
(1 => (Reduce, 140, 4)));
+            Table.States (954).Minimal_Complete_Action := (Reduce, 140, 4);
             Table.States (955).Productions := WisiToken.To_Vector ((1 => (139, 
0)));
             Add_Action (Table.States (955), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (139, 0), 7, case_statement_0'Access, null);
-            Set_Minimal_Action (Table.States (955).Minimal_Complete_Actions, 
(1 => (Reduce, 139, 7)));
+            Table.States (955).Minimal_Complete_Action := (Reduce, 139, 7);
             Table.States (956).Productions := WisiToken.To_Vector ((1 => (314, 
0)));
             Add_Action (Table.States (956), (10, 21, 37, 42, 74, 77, 82, 83, 
87, 96), (314, 0), 4,
             subtype_indication_0'Access, null);
-            Set_Minimal_Action (Table.States (956).Minimal_Complete_Actions, 
(1 => (Reduce, 314, 4)));
+            Table.States (956).Minimal_Complete_Action := (Reduce, 314, 4);
             Table.States (957).Productions := WisiToken.To_Vector (((165, 1), 
(258, 1), (314, 0), (314, 1)));
             Add_Action (Table.States (957), 10, Reduce, (258, 1), 1, null, 
null);
             Add_Action (Table.States (957), 33, Reduce, (258, 1), 1, null, 
null);
@@ -11164,11 +11083,11 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (957), 239, 1088);
             Add_Goto (Table.States (957), 272, 92);
             Add_Goto (Table.States (957), 293, 97);
-            Set_Minimal_Action (Table.States (957).Minimal_Complete_Actions, 
((Shift, 105, 33), (Reduce, 258, 1)));
+            Table.States (957).Minimal_Complete_Action := (Reduce, 258, 1);
             Table.States (958).Productions := WisiToken.To_Vector ((1 => (224, 
0)));
             Add_Action (Table.States (958), (10, 21, 37, 42, 74, 77, 82, 83, 
87, 96), (224, 0), 3,
             index_constraint_0'Access, null);
-            Set_Minimal_Action (Table.States (958).Minimal_Complete_Actions, 
(1 => (Reduce, 224, 3)));
+            Table.States (958).Minimal_Complete_Action := (Reduce, 224, 3);
             Table.States (959).Productions := WisiToken.To_Vector ((1 => (168, 
0)));
             Add_Action (Table.States (959), 3, 121);
             Add_Action (Table.States (959), 39, 122);
@@ -11196,7 +11115,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (959), 320, 144);
             Add_Goto (Table.States (959), 321, 145);
             Add_Goto (Table.States (959), 330, 146);
-            Set_Minimal_Action (Table.States (959).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (959).Minimal_Complete_Action := (Shift, 40, 474);
             Table.States (960).Productions := WisiToken.To_Vector (((128, 0), 
(230, 0), (239, 0), (239, 1), (272, 0),
             (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (960), 37, Reduce, (230, 0), 6, null, 
null);
@@ -11208,12 +11127,11 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (960));
             Add_Goto (Table.States (960), 115, 241);
             Add_Goto (Table.States (960), 322, 242);
-            Set_Minimal_Action (Table.States (960).Minimal_Complete_Actions, 
((Shift, 84, 237), (Shift, 102, 240),
-            (Reduce, 230, 6)));
+            Table.States (960).Minimal_Complete_Action := (Reduce, 230, 6);
             Table.States (961).Productions := WisiToken.To_Vector ((1 => (235, 
0)));
             Add_Action (Table.States (961), 96, 1090);
             Add_Error (Table.States (961));
-            Set_Minimal_Action (Table.States (961).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1090)));
+            Table.States (961).Minimal_Complete_Action := (Shift, 96, 1090);
             Table.States (962).Productions := WisiToken.To_Vector ((1 => (144, 
0)));
             Add_Action (Table.States (962), 3, 121);
             Add_Action (Table.States (962), 39, 122);
@@ -11238,20 +11156,20 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (962), 320, 144);
             Add_Goto (Table.States (962), 321, 145);
             Add_Goto (Table.States (962), 330, 146);
-            Set_Minimal_Action (Table.States (962).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (962).Minimal_Complete_Action := (Shift, 103, 129);
             Table.States (963).Productions := WisiToken.To_Vector ((1 => (281, 
0)));
             Add_Action (Table.States (963), 54, 1092);
             Add_Error (Table.States (963));
-            Set_Minimal_Action (Table.States (963).Minimal_Complete_Actions, 
(1 => (Shift, 54, 1092)));
+            Table.States (963).Minimal_Complete_Action := (Shift, 54, 1092);
             Table.States (964).Productions := WisiToken.To_Vector ((1 => (145, 
0)));
             Add_Action (Table.States (964), (24, 104), (145, 0), 2, null, 
null);
-            Set_Minimal_Action (Table.States (964).Minimal_Complete_Actions, 
(1 => (Reduce, 145, 2)));
+            Table.States (964).Minimal_Complete_Action := (Reduce, 145, 2);
             Table.States (965).Productions := WisiToken.To_Vector (((254, 2), 
(254, 3)));
             Add_Action (Table.States (965), 77, Reduce, (254, 3), 4, 
parameter_specification_3'Access, null);
             Add_Action (Table.States (965), 82, 1093);
             Add_Action (Table.States (965), 96, Reduce, (254, 3), 4, 
parameter_specification_3'Access, null);
             Add_Error (Table.States (965));
-            Set_Minimal_Action (Table.States (965).Minimal_Complete_Actions, 
(1 => (Reduce, 254, 4)));
+            Table.States (965).Minimal_Complete_Action := (Reduce, 254, 4);
             Table.States (966).Productions := WisiToken.To_Vector (((254, 0), 
(254, 1)));
             Add_Action (Table.States (966), 40, 386);
             Add_Action (Table.States (966), 104, Reduce, (241, 1), 0, null, 
null);
@@ -11259,48 +11177,48 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (966), 106, Reduce, (241, 1), 0, null, 
null);
             Add_Error (Table.States (966));
             Add_Goto (Table.States (966), 241, 1094);
-            Set_Minimal_Action (Table.States (966).Minimal_Complete_Actions, 
(1 => (Reduce, 241, 0)));
+            Table.States (966).Minimal_Complete_Action := (Reduce, 241, 0);
             Table.States (967).Productions := WisiToken.To_Vector ((1 => (215, 
2)));
             Add_Action (Table.States (967), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (215, 2), 7,
             generic_renaming_declaration_2'Access, null);
-            Set_Minimal_Action (Table.States (967).Minimal_Complete_Actions, 
(1 => (Reduce, 215, 7)));
+            Table.States (967).Minimal_Complete_Action := (Reduce, 215, 7);
             Table.States (968).Productions := WisiToken.To_Vector ((1 => (215, 
0)));
             Add_Action (Table.States (968), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (215, 0), 7,
             generic_renaming_declaration_0'Access, null);
-            Set_Minimal_Action (Table.States (968).Minimal_Complete_Actions, 
(1 => (Reduce, 215, 7)));
+            Table.States (968).Minimal_Complete_Action := (Reduce, 215, 7);
             Table.States (969).Productions := WisiToken.To_Vector ((1 => (215, 
1)));
             Add_Action (Table.States (969), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (215, 1), 7,
             generic_renaming_declaration_1'Access, null);
-            Set_Minimal_Action (Table.States (969).Minimal_Complete_Actions, 
(1 => (Reduce, 215, 7)));
+            Table.States (969).Minimal_Complete_Action := (Reduce, 215, 7);
             Table.States (970).Productions := WisiToken.To_Vector ((1 => (109, 
0)));
             Add_Action (Table.States (970), (1 =>  39), (109, 0), 2, null, 
null);
-            Set_Minimal_Action (Table.States (970).Minimal_Complete_Actions, 
(1 => (Reduce, 109, 2)));
+            Table.States (970).Minimal_Complete_Action := (Reduce, 109, 2);
             Table.States (971).Productions := WisiToken.To_Vector (((202, 6), 
(202, 7)));
             Add_Action (Table.States (971), 20, 1095);
             Add_Action (Table.States (971), 74, Reduce, (202, 7), 2, null, 
null);
             Add_Action (Table.States (971), 96, Reduce, (202, 7), 2, null, 
null);
             Add_Error (Table.States (971));
-            Set_Minimal_Action (Table.States (971).Minimal_Complete_Actions, 
(1 => (Reduce, 202, 2)));
+            Table.States (971).Minimal_Complete_Action := (Reduce, 202, 2);
             Table.States (972).Productions := WisiToken.To_Vector ((1 => (202, 
5)));
             Add_Action (Table.States (972), (74, 96), (202, 5), 2, null, null);
-            Set_Minimal_Action (Table.States (972).Minimal_Complete_Actions, 
(1 => (Reduce, 202, 2)));
+            Table.States (972).Minimal_Complete_Action := (Reduce, 202, 2);
             Table.States (973).Productions := WisiToken.To_Vector ((1 => (202, 
4)));
             Add_Action (Table.States (973), (74, 96), (202, 4), 2, null, null);
-            Set_Minimal_Action (Table.States (973).Minimal_Complete_Actions, 
(1 => (Reduce, 202, 2)));
+            Table.States (973).Minimal_Complete_Action := (Reduce, 202, 2);
             Table.States (974).Productions := WisiToken.To_Vector ((1 => (202, 
3)));
             Add_Action (Table.States (974), (74, 96), (202, 3), 2, null, null);
-            Set_Minimal_Action (Table.States (974).Minimal_Complete_Actions, 
(1 => (Reduce, 202, 2)));
+            Table.States (974).Minimal_Complete_Action := (Reduce, 202, 2);
             Table.States (975).Productions := WisiToken.To_Vector ((1 => (201, 
1)));
             Add_Action (Table.States (975), 96, 1096);
             Add_Error (Table.States (975));
-            Set_Minimal_Action (Table.States (975).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1096)));
+            Table.States (975).Minimal_Complete_Action := (Shift, 96, 1096);
             Table.States (976).Productions := WisiToken.To_Vector ((1 => (202, 
2)));
             Add_Action (Table.States (976), 77, 1097);
             Add_Error (Table.States (976));
-            Set_Minimal_Action (Table.States (976).Minimal_Complete_Actions, 
(1 => (Shift, 77, 1097)));
+            Table.States (976).Minimal_Complete_Action := (Shift, 77, 1097);
             Table.States (977).Productions := WisiToken.To_Vector (((203, 0), 
(203, 1)));
             Add_Action (Table.States (977), 104, 119);
             Add_Action (Table.States (977), 105, 33);
@@ -11310,14 +11228,14 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (977), 239, 1098);
             Add_Goto (Table.States (977), 272, 92);
             Add_Goto (Table.States (977), 293, 97);
-            Set_Minimal_Action (Table.States (977).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (977).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (978).Productions := WisiToken.To_Vector ((1 => (202, 
0)));
             Add_Action (Table.States (978), (74, 96), (202, 0), 2, null, null);
-            Set_Minimal_Action (Table.States (978).Minimal_Complete_Actions, 
(1 => (Reduce, 202, 2)));
+            Table.States (978).Minimal_Complete_Action := (Reduce, 202, 2);
             Table.States (979).Productions := WisiToken.To_Vector ((1 => (201, 
0)));
             Add_Action (Table.States (979), 96, 1099);
             Add_Error (Table.States (979));
-            Set_Minimal_Action (Table.States (979).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1099)));
+            Table.States (979).Minimal_Complete_Action := (Shift, 96, 1099);
             Table.States (980).Productions := WisiToken.To_Vector (((128, 0), 
(204, 0), (239, 0), (239, 1), (272, 0),
             (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (980), 74, Reduce, (205, 1), 0, null, 
null);
@@ -11330,30 +11248,29 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (980), 115, 241);
             Add_Goto (Table.States (980), 205, 1101);
             Add_Goto (Table.States (980), 322, 242);
-            Set_Minimal_Action (Table.States (980).Minimal_Complete_Actions, 
((Shift, 84, 237), (Shift, 102, 240),
-            (Reduce, 205, 0)));
+            Table.States (980).Minimal_Complete_Action := (Reduce, 205, 0);
             Table.States (981).Productions := WisiToken.To_Vector ((1 => (200, 
2)));
             Add_Action (Table.States (981), (29, 47, 48, 50, 69, 71, 74, 104), 
(200, 2), 6,
             formal_subprogram_declaration_2'Access, null);
-            Set_Minimal_Action (Table.States (981).Minimal_Complete_Actions, 
(1 => (Reduce, 200, 6)));
+            Table.States (981).Minimal_Complete_Action := (Reduce, 200, 6);
             Table.States (982).Productions := WisiToken.To_Vector ((1 => (200, 
0)));
             Add_Action (Table.States (982), 96, 1102);
             Add_Error (Table.States (982));
-            Set_Minimal_Action (Table.States (982).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1102)));
+            Table.States (982).Minimal_Complete_Action := (Shift, 96, 1102);
             Table.States (983).Productions := WisiToken.To_Vector ((1 => (200, 
1)));
             Add_Action (Table.States (983), (29, 47, 48, 50, 69, 71, 74, 104), 
(200, 1), 6,
             formal_subprogram_declaration_1'Access, null);
-            Set_Minimal_Action (Table.States (983).Minimal_Complete_Actions, 
(1 => (Reduce, 200, 6)));
+            Table.States (983).Minimal_Complete_Action := (Reduce, 200, 6);
             Table.States (984).Productions := WisiToken.To_Vector ((1 => (198, 
1)));
             Add_Action (Table.States (984), 74, 337);
             Add_Action (Table.States (984), 96, Reduce, (122, 1), 0, null, 
null);
             Add_Error (Table.States (984));
             Add_Goto (Table.States (984), 122, 1103);
-            Set_Minimal_Action (Table.States (984).Minimal_Complete_Actions, 
(1 => (Reduce, 122, 0)));
+            Table.States (984).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (985).Productions := WisiToken.To_Vector ((1 => (198, 
3)));
             Add_Action (Table.States (985), (29, 47, 48, 50, 69, 71, 74, 104), 
(198, 3), 6,
             formal_object_declaration_3'Access, null);
-            Set_Minimal_Action (Table.States (985).Minimal_Complete_Actions, 
(1 => (Reduce, 198, 6)));
+            Table.States (985).Minimal_Complete_Action := (Reduce, 198, 6);
             Table.States (986).Productions := WisiToken.To_Vector ((1 => (198, 
0)));
             Add_Action (Table.States (986), 3, 121);
             Add_Action (Table.States (986), 39, 122);
@@ -11390,15 +11307,15 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (986), 320, 144);
             Add_Goto (Table.States (986), 321, 145);
             Add_Goto (Table.States (986), 330, 146);
-            Set_Minimal_Action (Table.States (986).Minimal_Complete_Actions, 
(1 => (Reduce, 192, 0)));
+            Table.States (986).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (987).Productions := WisiToken.To_Vector ((1 => (198, 
2)));
             Add_Action (Table.States (987), 96, 1105);
             Add_Error (Table.States (987));
-            Set_Minimal_Action (Table.States (987).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1105)));
+            Table.States (987).Minimal_Complete_Action := (Shift, 96, 1105);
             Table.States (988).Productions := WisiToken.To_Vector ((1 => (222, 
1)));
             Add_Action (Table.States (988), 32, 1106);
             Add_Error (Table.States (988));
-            Set_Minimal_Action (Table.States (988).Minimal_Complete_Actions, 
(1 => (Shift, 32, 1106)));
+            Table.States (988).Minimal_Complete_Action := (Shift, 32, 1106);
             Table.States (989).Productions := WisiToken.To_Vector ((1 => (174, 
0)));
             Add_Action (Table.States (989), 4, 1);
             Add_Action (Table.States (989), 5, 2);
@@ -11457,28 +11374,25 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (989), 303, 101);
             Add_Goto (Table.States (989), 306, 363);
             Add_Goto (Table.States (989), 323, 114);
-            Set_Minimal_Action (Table.States (989).Minimal_Complete_Actions, 
(1 => (Reduce, 300, 0)));
-         end Subr_16;
-         procedure Subr_17
-         is begin
+            Table.States (989).Minimal_Complete_Action := (Reduce, 300, 0);
             Table.States (990).Productions := WisiToken.To_Vector ((1 => (222, 
3)));
             Add_Action (Table.States (990), (4, 5, 13, 15, 17, 18, 22, 23, 24, 
25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (222, 3), 7, if_statement_3'Access, null);
-            Set_Minimal_Action (Table.States (990).Minimal_Complete_Actions, 
(1 => (Reduce, 222, 7)));
+            Table.States (990).Minimal_Complete_Action := (Reduce, 222, 7);
             Table.States (991).Productions := WisiToken.To_Vector ((1 => (222, 
0)));
             Add_Action (Table.States (991), 24, 1108);
             Add_Error (Table.States (991));
-            Set_Minimal_Action (Table.States (991).Minimal_Complete_Actions, 
(1 => (Shift, 24, 1108)));
+            Table.States (991).Minimal_Complete_Action := (Shift, 24, 1108);
             Table.States (992).Productions := WisiToken.To_Vector ((1 => (222, 
2)));
             Add_Action (Table.States (992), 96, 1109);
             Add_Error (Table.States (992));
-            Set_Minimal_Action (Table.States (992).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1109)));
+            Table.States (992).Minimal_Complete_Action := (Shift, 96, 1109);
             Table.States (993).Productions := WisiToken.To_Vector ((1 => (248, 
0)));
             Add_Action (Table.States (993), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (248, 0), 7,
             package_body_stub_0'Access, null);
-            Set_Minimal_Action (Table.States (993).Minimal_Complete_Actions, 
(1 => (Reduce, 248, 7)));
+            Table.States (993).Minimal_Complete_Action := (Reduce, 248, 7);
             Table.States (994).Productions := WisiToken.To_Vector ((1 => (247, 
0)));
             Add_Action (Table.States (994), 4, 1);
             Add_Action (Table.States (994), 5, 2);
@@ -11537,7 +11451,10 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (994), 303, 101);
             Add_Goto (Table.States (994), 306, 363);
             Add_Goto (Table.States (994), 323, 114);
-            Set_Minimal_Action (Table.States (994).Minimal_Complete_Actions, 
(1 => (Reduce, 218, 0)));
+            Table.States (994).Minimal_Complete_Action := (Reduce, 218, 0);
+         end Subr_16;
+         procedure Subr_17
+         is begin
             Table.States (995).Productions := WisiToken.To_Vector ((1 => (247, 
1)));
             Add_Action (Table.States (995), 96, Reduce, (240, 1), 0, null, 
null);
             Add_Action (Table.States (995), 104, 119);
@@ -11549,25 +11466,25 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (995), 240, 1111);
             Add_Goto (Table.States (995), 272, 92);
             Add_Goto (Table.States (995), 293, 97);
-            Set_Minimal_Action (Table.States (995).Minimal_Complete_Actions, 
(1 => (Reduce, 240, 0)));
+            Table.States (995).Minimal_Complete_Action := (Reduce, 240, 0);
             Table.States (996).Productions := WisiToken.To_Vector ((1 => (213, 
0)));
             Add_Action (Table.States (996), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (213, 0), 7,
             generic_instantiation_0'Access, null);
-            Set_Minimal_Action (Table.States (996).Minimal_Complete_Actions, 
(1 => (Reduce, 213, 7)));
+            Table.States (996).Minimal_Complete_Action := (Reduce, 213, 7);
             Table.States (997).Productions := WisiToken.To_Vector ((1 => (251, 
1)));
             Add_Action (Table.States (997), (1 =>  96), (251, 1), 7, 
package_specification_1'Access,
             package_specification_1_check'Access);
-            Set_Minimal_Action (Table.States (997).Minimal_Complete_Actions, 
(1 => (Reduce, 251, 7)));
+            Table.States (997).Minimal_Complete_Action := (Reduce, 251, 7);
             Table.States (998).Productions := WisiToken.To_Vector ((1 => (251, 
0)));
             Add_Action (Table.States (998), 24, 1112);
             Add_Error (Table.States (998));
-            Set_Minimal_Action (Table.States (998).Minimal_Complete_Actions, 
(1 => (Shift, 24, 1112)));
+            Table.States (998).Minimal_Complete_Action := (Shift, 24, 1112);
             Table.States (999).Productions := WisiToken.To_Vector ((1 => (265, 
0)));
             Add_Action (Table.States (999), (4, 5, 13, 15, 17, 18, 24, 25, 27, 
28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (265, 0), 7,
             protected_body_stub_0'Access, null);
-            Set_Minimal_Action (Table.States (999).Minimal_Complete_Actions, 
(1 => (Reduce, 265, 7)));
+            Table.States (999).Minimal_Complete_Action := (Reduce, 265, 7);
             Table.States (1000).Productions := WisiToken.To_Vector ((1 => 
(176, 0)));
             Add_Action (Table.States (1000), 72, Reduce, (253, 1), 0, null, 
null);
             Add_Action (Table.States (1000), 76, 1113);
@@ -11575,23 +11492,23 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1000), 177, 1114);
             Add_Goto (Table.States (1000), 199, 344);
             Add_Goto (Table.States (1000), 253, 1115);
-            Set_Minimal_Action (Table.States (1000).Minimal_Complete_Actions, 
(1 => (Reduce, 177, 0)));
+            Table.States (1000).Minimal_Complete_Action := (Reduce, 177, 0);
             Table.States (1001).Productions := WisiToken.To_Vector (((307, 0), 
(309, 0)));
             Add_Action (Table.States (1001), 35, Reduce, (122, 1), 0, null, 
null);
             Add_Action (Table.States (1001), 74, 337);
             Add_Action (Table.States (1001), 96, Reduce, (122, 1), 0, null, 
null);
             Add_Error (Table.States (1001));
             Add_Goto (Table.States (1001), 122, 430);
-            Set_Minimal_Action (Table.States (1001).Minimal_Complete_Actions, 
(1 => (Reduce, 122, 0)));
+            Table.States (1001).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (1002).Productions := WisiToken.To_Vector ((1 => 
(268, 0)));
             Add_Action (Table.States (1002), (24, 25, 28, 29, 40, 46, 50), 
(268, 0), 2, null, null);
-            Set_Minimal_Action (Table.States (1002).Minimal_Complete_Actions, 
(1 => (Reduce, 268, 2)));
+            Table.States (1002).Minimal_Complete_Action := (Reduce, 268, 2);
             Table.States (1003).Productions := WisiToken.To_Vector ((1 => 
(264, 0)));
             Add_Action (Table.States (1003), 96, Reduce, (220, 1), 0, null, 
null);
             Add_Action (Table.States (1003), 104, 149);
             Add_Error (Table.States (1003));
             Add_Goto (Table.States (1003), 220, 1116);
-            Set_Minimal_Action (Table.States (1003).Minimal_Complete_Actions, 
(1 => (Reduce, 220, 0)));
+            Table.States (1003).Minimal_Complete_Action := (Reduce, 220, 0);
             Table.States (1004).Productions := WisiToken.To_Vector ((1 => 
(271, 0)));
             Add_Action (Table.States (1004), 104, 119);
             Add_Action (Table.States (1004), 105, 33);
@@ -11602,11 +11519,11 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1004), 239, 841);
             Add_Goto (Table.States (1004), 272, 92);
             Add_Goto (Table.States (1004), 293, 97);
-            Set_Minimal_Action (Table.States (1004).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (1004).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (1005).Productions := WisiToken.To_Vector ((1 => 
(271, 1)));
             Add_Action (Table.States (1005), 96, 1118);
             Add_Error (Table.States (1005));
-            Set_Minimal_Action (Table.States (1005).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1118)));
+            Table.States (1005).Minimal_Complete_Action := (Shift, 96, 1118);
             Table.States (1006).Productions := WisiToken.To_Vector ((1 => 
(227, 0)));
             Add_Action (Table.States (1006), 104, 119);
             Add_Action (Table.States (1006), 105, 33);
@@ -11616,7 +11533,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1006), 239, 1119);
             Add_Goto (Table.States (1006), 272, 92);
             Add_Goto (Table.States (1006), 293, 97);
-            Set_Minimal_Action (Table.States (1006).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (1006).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (1007).Productions := WisiToken.To_Vector ((1 => 
(304, 0)));
             Add_Action (Table.States (1007), 24, Reduce, (159, 1), 0, null, 
null);
             Add_Action (Table.States (1007), 25, Reduce, (246, 2), 0, null, 
null);
@@ -11690,15 +11607,15 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1007), 319, 113);
             Add_Goto (Table.States (1007), 325, 115);
             Add_Goto (Table.States (1007), 331, 116);
-            Set_Minimal_Action (Table.States (1007).Minimal_Complete_Actions, 
(1 => (Reduce, 159, 0)));
+            Table.States (1007).Minimal_Complete_Action := (Reduce, 159, 0);
             Table.States (1008).Productions := WisiToken.To_Vector ((1 => 
(266, 1)));
             Add_Action (Table.States (1008), (1 =>  96), (266, 1), 3, 
protected_definition_1'Access,
             protected_definition_1_check'Access);
-            Set_Minimal_Action (Table.States (1008).Minimal_Complete_Actions, 
(1 => (Reduce, 266, 3)));
+            Table.States (1008).Minimal_Complete_Action := (Reduce, 266, 3);
             Table.States (1009).Productions := WisiToken.To_Vector ((1 => 
(266, 0)));
             Add_Action (Table.States (1009), 24, 1121);
             Add_Error (Table.States (1009));
-            Set_Minimal_Action (Table.States (1009).Minimal_Complete_Actions, 
(1 => (Shift, 24, 1121)));
+            Table.States (1009).Minimal_Complete_Action := (Shift, 24, 1121);
             Table.States (1010).Productions := WisiToken.To_Vector ((1 => 
(194, 0)));
             Add_Action (Table.States (1010), 3, 121);
             Add_Action (Table.States (1010), 21, Reduce, (192, 1), 0, null, 
null);
@@ -11735,12 +11652,12 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1010), 320, 144);
             Add_Goto (Table.States (1010), 321, 145);
             Add_Goto (Table.States (1010), 330, 146);
-            Set_Minimal_Action (Table.States (1010).Minimal_Complete_Actions, 
(1 => (Reduce, 192, 0)));
+            Table.States (1010).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (1011).Productions := WisiToken.To_Vector ((1 => 
(196, 0)));
             Add_Action (Table.States (1011), (4, 5, 13, 15, 17, 18, 22, 23, 
24, 25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (196, 0), 7, extended_return_statement_0'Access, null);
-            Set_Minimal_Action (Table.States (1011).Minimal_Complete_Actions, 
(1 => (Reduce, 196, 7)));
+            Table.States (1011).Minimal_Complete_Action := (Reduce, 196, 7);
             Table.States (1012).Productions := WisiToken.To_Vector (((128, 0), 
(239, 0), (239, 1), (247, 0), (247, 1),
             (272, 0), (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (1012), 35, Reduce, (122, 1), 0, null, 
null);
@@ -11753,48 +11670,47 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1012), 115, 241);
             Add_Goto (Table.States (1012), 122, 511);
             Add_Goto (Table.States (1012), 322, 242);
-            Set_Minimal_Action (Table.States (1012).Minimal_Complete_Actions, 
((Shift, 84, 237), (Shift, 102, 240),
-            (Reduce, 122, 0)));
+            Table.States (1012).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (1013).Productions := WisiToken.To_Vector ((1 => 
(264, 0)));
             Add_Action (Table.States (1013), 35, Reduce, (122, 1), 0, null, 
null);
             Add_Action (Table.States (1013), 74, 337);
             Add_Error (Table.States (1013));
             Add_Goto (Table.States (1013), 122, 520);
-            Set_Minimal_Action (Table.States (1013).Minimal_Complete_Actions, 
(1 => (Reduce, 122, 0)));
+            Table.States (1013).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (1014).Productions := WisiToken.To_Vector ((1 => 
(316, 0)));
             Add_Action (Table.States (1014), 35, Reduce, (122, 1), 0, null, 
null);
             Add_Action (Table.States (1014), 74, 337);
             Add_Error (Table.States (1014));
             Add_Goto (Table.States (1014), 122, 540);
-            Set_Minimal_Action (Table.States (1014).Minimal_Complete_Actions, 
(1 => (Reduce, 122, 0)));
+            Table.States (1014).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (1015).Productions := WisiToken.To_Vector ((1 => 
(307, 0)));
             Add_Action (Table.States (1015), 35, 585);
             Add_Error (Table.States (1015));
-            Set_Minimal_Action (Table.States (1015).Minimal_Complete_Actions, 
(1 => (Shift, 35, 585)));
+            Table.States (1015).Minimal_Complete_Action := (Shift, 35, 585);
             Table.States (1016).Productions := WisiToken.To_Vector ((1 => 
(152, 0)));
             Add_Action (Table.States (1016), (4, 5, 13, 15, 17, 18, 22, 23, 
24, 25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (152, 0), 7, conditional_entry_call_0'Access, null);
-            Set_Minimal_Action (Table.States (1016).Minimal_Complete_Actions, 
(1 => (Reduce, 152, 7)));
+            Table.States (1016).Minimal_Complete_Action := (Reduce, 152, 7);
             Table.States (1017).Productions := WisiToken.To_Vector ((1 => 
(323, 0)));
             Add_Action (Table.States (1017), (4, 5, 13, 15, 17, 18, 22, 23, 
24, 25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (323, 0), 7, timed_entry_call_0'Access, null);
-            Set_Minimal_Action (Table.States (1017).Minimal_Complete_Actions, 
(1 => (Reduce, 323, 7)));
+            Table.States (1017).Minimal_Complete_Action := (Reduce, 323, 7);
             Table.States (1018).Productions := WisiToken.To_Vector ((1 => 
(294, 0)));
             Add_Action (Table.States (1018), (4, 5, 13, 15, 17, 18, 22, 23, 
24, 25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (294, 0), 7, selective_accept_0'Access, null);
-            Set_Minimal_Action (Table.States (1018).Minimal_Complete_Actions, 
(1 => (Reduce, 294, 7)));
+            Table.States (1018).Minimal_Complete_Action := (Reduce, 294, 7);
             Table.States (1019).Productions := WisiToken.To_Vector ((1 => 
(126, 0)));
             Add_Action (Table.States (1019), 96, 1123);
             Add_Error (Table.States (1019));
-            Set_Minimal_Action (Table.States (1019).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1123)));
+            Table.States (1019).Minimal_Complete_Action := (Shift, 96, 1123);
             Table.States (1020).Productions := WisiToken.To_Vector ((1 => 
(317, 0)));
             Add_Action (Table.States (1020), (4, 5, 13, 15, 17, 18, 24, 25, 
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (317, 0), 7,
             task_body_stub_0'Access, null);
-            Set_Minimal_Action (Table.States (1020).Minimal_Complete_Actions, 
(1 => (Reduce, 317, 7)));
+            Table.States (1020).Minimal_Complete_Action := (Reduce, 317, 7);
             Table.States (1021).Productions := WisiToken.To_Vector ((1 => 
(316, 0)));
             Add_Action (Table.States (1021), 4, 1);
             Add_Action (Table.States (1021), 5, 2);
@@ -11853,7 +11769,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1021), 303, 101);
             Add_Goto (Table.States (1021), 306, 363);
             Add_Goto (Table.States (1021), 323, 114);
-            Set_Minimal_Action (Table.States (1021).Minimal_Complete_Actions, 
(1 => (Reduce, 218, 0)));
+            Table.States (1021).Minimal_Complete_Action := (Reduce, 218, 0);
             Table.States (1022).Productions := WisiToken.To_Vector ((1 => 
(319, 0)));
             Add_Action (Table.States (1022), 104, 119);
             Add_Action (Table.States (1022), 105, 33);
@@ -11864,11 +11780,11 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1022), 239, 841);
             Add_Goto (Table.States (1022), 272, 92);
             Add_Goto (Table.States (1022), 293, 97);
-            Set_Minimal_Action (Table.States (1022).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (1022).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (1023).Productions := WisiToken.To_Vector ((1 => 
(319, 1)));
             Add_Action (Table.States (1023), 24, 1126);
             Add_Error (Table.States (1023));
-            Set_Minimal_Action (Table.States (1023).Minimal_Complete_Actions, 
(1 => (Shift, 24, 1126)));
+            Table.States (1023).Minimal_Complete_Action := (Shift, 24, 1126);
             Table.States (1024).Productions := WisiToken.To_Vector ((1 => 
(305, 0)));
             Add_Action (Table.States (1024), 24, Reduce, (159, 1), 0, null, 
null);
             Add_Action (Table.States (1024), 25, Reduce, (246, 2), 0, null, 
null);
@@ -11942,14 +11858,14 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1024), 319, 113);
             Add_Goto (Table.States (1024), 325, 115);
             Add_Goto (Table.States (1024), 331, 116);
-            Set_Minimal_Action (Table.States (1024).Minimal_Complete_Actions, 
(1 => (Reduce, 318, 0)));
+            Table.States (1024).Minimal_Complete_Action := (Reduce, 318, 0);
             Table.States (1025).Productions := WisiToken.To_Vector ((1 => 
(318, 0)));
             Add_Action (Table.States (1025), (1 =>  24), (318, 0), 3, 
task_definition_0'Access, null);
-            Set_Minimal_Action (Table.States (1025).Minimal_Complete_Actions, 
(1 => (Reduce, 318, 3)));
+            Table.States (1025).Minimal_Complete_Action := (Reduce, 318, 3);
             Table.States (1026).Productions := WisiToken.To_Vector ((1 => 
(305, 1)));
             Add_Action (Table.States (1026), 96, 1128);
             Add_Error (Table.States (1026));
-            Set_Minimal_Action (Table.States (1026).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1128)));
+            Table.States (1026).Minimal_Complete_Action := (Shift, 96, 1128);
             Table.States (1027).Productions := WisiToken.To_Vector (((241, 0), 
(242, 2), (242, 3)));
             Add_Action (Table.States (1027), 7, Reduce, (241, 0), 2, null, 
null);
             Add_Action (Table.States (1027), 104, 1129);
@@ -11960,8 +11876,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1027), 239, 871);
             Add_Goto (Table.States (1027), 272, 92);
             Add_Goto (Table.States (1027), 293, 1130);
-            Set_Minimal_Action (Table.States (1027).Minimal_Complete_Actions, 
((Shift, 104, 1129), (Shift, 105, 33),
-            (Reduce, 241, 2)));
+            Table.States (1027).Minimal_Complete_Action := (Reduce, 241, 2);
             Table.States (1028).Productions := WisiToken.To_Vector ((1 => 
(170, 1)));
             Add_Action (Table.States (1028), 3, 121);
             Add_Action (Table.States (1028), 39, 122);
@@ -11998,7 +11913,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1028), 320, 144);
             Add_Goto (Table.States (1028), 321, 145);
             Add_Goto (Table.States (1028), 330, 146);
-            Set_Minimal_Action (Table.States (1028).Minimal_Complete_Actions, 
(1 => (Reduce, 192, 0)));
+            Table.States (1028).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (1029).Productions := WisiToken.To_Vector ((1 => 
(170, 0)));
             Add_Action (Table.States (1029), 3, 121);
             Add_Action (Table.States (1029), 39, 122);
@@ -12035,23 +11950,23 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1029), 320, 144);
             Add_Goto (Table.States (1029), 321, 145);
             Add_Goto (Table.States (1029), 330, 146);
-            Set_Minimal_Action (Table.States (1029).Minimal_Complete_Actions, 
(1 => (Reduce, 192, 0)));
+            Table.States (1029).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (1030).Productions := WisiToken.To_Vector ((1 => 
(111, 0)));
             Add_Action (Table.States (1030), (41, 49, 54), (111, 0), 3, null, 
null);
-            Set_Minimal_Action (Table.States (1030).Minimal_Complete_Actions, 
(1 => (Reduce, 111, 3)));
+            Table.States (1030).Minimal_Complete_Action := (Reduce, 111, 3);
             Table.States (1031).Productions := WisiToken.To_Vector (((120, 1), 
(168, 0)));
             Add_Action (Table.States (1031), 77, 1133);
             Add_Action (Table.States (1031), 83, 959);
             Add_Error (Table.States (1031));
-            Set_Minimal_Action (Table.States (1031).Minimal_Complete_Actions, 
(1 => (Shift, 77, 1133)));
+            Table.States (1031).Minimal_Complete_Action := (Shift, 77, 1133);
             Table.States (1032).Productions := WisiToken.To_Vector ((1 => 
(226, 1)));
             Add_Action (Table.States (1032), (77, 83), (226, 1), 1, null, 
null);
-            Set_Minimal_Action (Table.States (1032).Minimal_Complete_Actions, 
(1 => (Reduce, 226, 1)));
+            Table.States (1032).Minimal_Complete_Action := (Reduce, 226, 1);
             Table.States (1033).Productions := WisiToken.To_Vector (((120, 0), 
(226, 0)));
             Add_Action (Table.States (1033), 77, 1134);
             Add_Action (Table.States (1033), 83, 1135);
             Add_Error (Table.States (1033));
-            Set_Minimal_Action (Table.States (1033).Minimal_Complete_Actions, 
(1 => (Shift, 77, 1134)));
+            Table.States (1033).Minimal_Complete_Action := (Shift, 77, 1134);
             Table.States (1034).Productions := WisiToken.To_Vector (((128, 0), 
(225, 0), (239, 0), (239, 1), (258, 3),
             (272, 0), (277, 0), (277, 1), (293, 0), (293, 1), (293, 2), (293, 
3), (314, 2), (314, 3)));
             Add_Action (Table.States (1034), 38, Reduce, (258, 3), 1, null, 
null);
@@ -12075,8 +11990,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1034), 155, 620);
             Add_Goto (Table.States (1034), 224, 621);
             Add_Goto (Table.States (1034), 322, 448);
-            Set_Minimal_Action (Table.States (1034).Minimal_Complete_Actions, 
((Shift, 53, 1136), (Shift, 84, 237),
-            (Shift, 102, 240), (Reduce, 258, 1), (Reduce, 314, 1)));
+            Table.States (1034).Minimal_Complete_Action := (Reduce, 258, 1);
             Table.States (1035).Productions := WisiToken.To_Vector ((1 => 
(326, 4)));
             Add_Action (Table.States (1035), 3, 121);
             Add_Action (Table.States (1035), 39, 122);
@@ -12114,7 +12028,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1035), 320, 144);
             Add_Goto (Table.States (1035), 321, 145);
             Add_Goto (Table.States (1035), 330, 146);
-            Set_Minimal_Action (Table.States (1035).Minimal_Complete_Actions, 
(1 => (Reduce, 192, 0)));
+            Table.States (1035).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (1036).Productions := WisiToken.To_Vector ((1 => 
(279, 0)));
             Add_Action (Table.States (1036), 3, 121);
             Add_Action (Table.States (1036), 39, 122);
@@ -12139,13 +12053,13 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1036), 320, 144);
             Add_Goto (Table.States (1036), 321, 145);
             Add_Goto (Table.States (1036), 330, 146);
-            Set_Minimal_Action (Table.States (1036).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (1036).Minimal_Complete_Action := (Shift, 103, 129);
             Table.States (1037).Productions := WisiToken.To_Vector ((1 => 
(326, 5)));
             Add_Action (Table.States (1037), (74, 96), (326, 5), 3, null, 
null);
-            Set_Minimal_Action (Table.States (1037).Minimal_Complete_Actions, 
(1 => (Reduce, 326, 3)));
+            Table.States (1037).Minimal_Complete_Action := (Reduce, 326, 3);
             Table.States (1038).Productions := WisiToken.To_Vector ((1 => 
(326, 3)));
             Add_Action (Table.States (1038), (74, 96), (326, 3), 3, null, 
null);
-            Set_Minimal_Action (Table.States (1038).Minimal_Complete_Actions, 
(1 => (Reduce, 326, 3)));
+            Table.States (1038).Minimal_Complete_Action := (Reduce, 326, 3);
             Table.States (1039).Productions := WisiToken.To_Vector ((1 => 
(228, 0)));
             Add_Action (Table.States (1039), 104, 119);
             Add_Action (Table.States (1039), 105, 33);
@@ -12156,7 +12070,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1039), 239, 841);
             Add_Goto (Table.States (1039), 272, 92);
             Add_Goto (Table.States (1039), 293, 97);
-            Set_Minimal_Action (Table.States (1039).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (1039).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (1040).Productions := WisiToken.To_Vector ((1 => 
(228, 2)));
             Add_Action (Table.States (1040), 104, 119);
             Add_Action (Table.States (1040), 105, 33);
@@ -12167,7 +12081,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1040), 239, 841);
             Add_Goto (Table.States (1040), 272, 92);
             Add_Goto (Table.States (1040), 293, 97);
-            Set_Minimal_Action (Table.States (1040).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (1040).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (1041).Productions := WisiToken.To_Vector ((1 => 
(326, 1)));
             Add_Action (Table.States (1041), 3, 121);
             Add_Action (Table.States (1041), 39, 122);
@@ -12192,36 +12106,33 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1041), 320, 144);
             Add_Goto (Table.States (1041), 321, 145);
             Add_Goto (Table.States (1041), 330, 146);
-            Set_Minimal_Action (Table.States (1041).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
-         end Subr_17;
-         procedure Subr_18
-         is begin
+            Table.States (1041).Minimal_Complete_Action := (Shift, 103, 129);
             Table.States (1042).Productions := WisiToken.To_Vector ((1 => 
(163, 0)));
             Add_Action (Table.States (1042), (1 =>  35), (163, 0), 1, null, 
null);
-            Set_Minimal_Action (Table.States (1042).Minimal_Complete_Actions, 
(1 => (Reduce, 163, 1)));
+            Table.States (1042).Minimal_Complete_Action := (Reduce, 163, 1);
             Table.States (1043).Productions := WisiToken.To_Vector ((1 => 
(163, 1)));
             Add_Action (Table.States (1043), (1 =>  35), (163, 1), 1, null, 
null);
-            Set_Minimal_Action (Table.States (1043).Minimal_Complete_Actions, 
(1 => (Reduce, 163, 1)));
+            Table.States (1043).Minimal_Complete_Action := (Reduce, 163, 1);
             Table.States (1044).Productions := WisiToken.To_Vector ((1 => 
(164, 0)));
             Add_Action (Table.States (1044), (1 =>  35), (164, 0), 1, null, 
null);
-            Set_Minimal_Action (Table.States (1044).Minimal_Complete_Actions, 
(1 => (Reduce, 164, 1)));
+            Table.States (1044).Minimal_Complete_Action := (Reduce, 164, 1);
             Table.States (1045).Productions := WisiToken.To_Vector ((1 => 
(327, 0)));
             Add_Action (Table.States (1045), 35, 1142);
             Add_Error (Table.States (1045));
-            Set_Minimal_Action (Table.States (1045).Minimal_Complete_Actions, 
(1 => (Shift, 35, 1142)));
+            Table.States (1045).Minimal_Complete_Action := (Shift, 35, 1142);
             Table.States (1046).Productions := WisiToken.To_Vector ((1 => 
(149, 4)));
             Add_Action (Table.States (1046), (15, 24, 28, 72, 104), (149, 4), 
2, component_list_4'Access, null);
-            Set_Minimal_Action (Table.States (1046).Minimal_Complete_Actions, 
(1 => (Reduce, 149, 2)));
+            Table.States (1046).Minimal_Complete_Action := (Reduce, 149, 2);
             Table.States (1047).Productions := WisiToken.To_Vector ((1 => 
(149, 0)));
             Add_Action (Table.States (1047), (15, 24, 28, 72, 104), (149, 0), 
2, null, null);
-            Set_Minimal_Action (Table.States (1047).Minimal_Complete_Actions, 
(1 => (Reduce, 149, 2)));
+            Table.States (1047).Minimal_Complete_Action := (Reduce, 149, 2);
             Table.States (1048).Productions := WisiToken.To_Vector ((1 => 
(149, 1)));
             Add_Action (Table.States (1048), (15, 24, 28, 72, 104), (149, 1), 
2, null, null);
-            Set_Minimal_Action (Table.States (1048).Minimal_Complete_Actions, 
(1 => (Reduce, 149, 2)));
+            Table.States (1048).Minimal_Complete_Action := (Reduce, 149, 2);
             Table.States (1049).Productions := WisiToken.To_Vector ((1 => 
(280, 0)));
             Add_Action (Table.States (1049), 54, 1143);
             Add_Error (Table.States (1049));
-            Set_Minimal_Action (Table.States (1049).Minimal_Complete_Actions, 
(1 => (Shift, 54, 1143)));
+            Table.States (1049).Minimal_Complete_Action := (Shift, 54, 1143);
             Table.States (1050).Productions := WisiToken.To_Vector (((146, 0), 
(146, 1)));
             Add_Action (Table.States (1050), 7, Reduce, (241, 1), 0, null, 
null);
             Add_Action (Table.States (1050), 8, 1144);
@@ -12238,7 +12149,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1050), 272, 92);
             Add_Goto (Table.States (1050), 293, 97);
             Add_Goto (Table.States (1050), 314, 1147);
-            Set_Minimal_Action (Table.States (1050).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (1050).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (1051).Productions := WisiToken.To_Vector ((1 => 
(228, 3)));
             Add_Action (Table.States (1051), 104, 119);
             Add_Action (Table.States (1051), 105, 33);
@@ -12249,7 +12160,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1051), 239, 841);
             Add_Goto (Table.States (1051), 272, 92);
             Add_Goto (Table.States (1051), 293, 97);
-            Set_Minimal_Action (Table.States (1051).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (1051).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (1052).Productions := WisiToken.To_Vector ((1 => 
(228, 1)));
             Add_Action (Table.States (1052), 104, 119);
             Add_Action (Table.States (1052), 105, 33);
@@ -12260,22 +12171,25 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1052), 239, 841);
             Add_Goto (Table.States (1052), 272, 92);
             Add_Goto (Table.States (1052), 293, 97);
-            Set_Minimal_Action (Table.States (1052).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (1052).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (1053).Productions := WisiToken.To_Vector ((1 => 
(183, 0)));
             Add_Action (Table.States (1053), (74, 96), (183, 0), 3, 
enumeration_type_definition_0'Access, null);
-            Set_Minimal_Action (Table.States (1053).Minimal_Complete_Actions, 
(1 => (Reduce, 183, 3)));
+            Table.States (1053).Minimal_Complete_Action := (Reduce, 183, 3);
             Table.States (1054).Productions := WisiToken.To_Vector ((1 => 
(181, 0)));
             Add_Action (Table.States (1054), 104, 898);
             Add_Action (Table.States (1054), 106, 899);
             Add_Error (Table.States (1054));
             Add_Goto (Table.States (1054), 180, 1150);
-            Set_Minimal_Action (Table.States (1054).Minimal_Complete_Actions, 
(1 => (Shift, 106, 899)));
+            Table.States (1054).Minimal_Complete_Action := (Shift, 104, 898);
+         end Subr_17;
+         procedure Subr_18
+         is begin
             Table.States (1055).Productions := WisiToken.To_Vector ((1 => 
(259, 0)));
             Add_Action (Table.States (1055), 10, 1151);
             Add_Action (Table.States (1055), 74, Reduce, (119, 1), 0, null, 
null);
             Add_Error (Table.States (1055));
             Add_Goto (Table.States (1055), 119, 1152);
-            Set_Minimal_Action (Table.States (1055).Minimal_Complete_Actions, 
(1 => (Reduce, 119, 0)));
+            Table.States (1055).Minimal_Complete_Action := (Reduce, 119, 0);
             Table.States (1056).Productions := WisiToken.To_Vector (((128, 0), 
(162, 0), (162, 1), (239, 0), (239, 1),
             (272, 0), (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (1056), 10, 1151);
@@ -12293,39 +12207,38 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1056), 156, 1155);
             Add_Goto (Table.States (1056), 224, 621);
             Add_Goto (Table.States (1056), 322, 242);
-            Set_Minimal_Action (Table.States (1056).Minimal_Complete_Actions, 
((Shift, 84, 237), (Shift, 102, 240),
-            (Reduce, 119, 0), (Reduce, 156, 0)));
+            Table.States (1056).Minimal_Complete_Action := (Reduce, 156, 0);
             Table.States (1057).Productions := WisiToken.To_Vector ((1 => 
(260, 0)));
             Add_Action (Table.States (1057), 96, 1156);
             Add_Error (Table.States (1057));
-            Set_Minimal_Action (Table.States (1057).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1156)));
+            Table.States (1057).Minimal_Complete_Action := (Shift, 96, 1156);
             Table.States (1058).Productions := WisiToken.To_Vector ((1 => 
(206, 0)));
             Add_Action (Table.States (1058), (4, 5, 13, 15, 17, 18, 24, 25, 
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (206, 0), 7,
             full_type_declaration_0'Access, null);
-            Set_Minimal_Action (Table.States (1058).Minimal_Complete_Actions, 
(1 => (Reduce, 206, 7)));
+            Table.States (1058).Minimal_Complete_Action := (Reduce, 206, 7);
             Table.States (1059).Productions := WisiToken.To_Vector ((1 => 
(245, 2)));
             Add_Action (Table.States (1059), (4, 5, 13, 15, 17, 18, 24, 25, 
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (245, 2), 7,
             object_renaming_declaration_2'Access, null);
-            Set_Minimal_Action (Table.States (1059).Minimal_Complete_Actions, 
(1 => (Reduce, 245, 7)));
+            Table.States (1059).Minimal_Complete_Action := (Reduce, 245, 7);
             Table.States (1060).Productions := WisiToken.To_Vector ((1 => 
(245, 1)));
             Add_Action (Table.States (1060), (4, 5, 13, 15, 17, 18, 24, 25, 
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (245, 1), 7,
             object_renaming_declaration_1'Access, null);
-            Set_Minimal_Action (Table.States (1060).Minimal_Complete_Actions, 
(1 => (Reduce, 245, 7)));
+            Table.States (1060).Minimal_Complete_Action := (Reduce, 245, 7);
             Table.States (1061).Productions := WisiToken.To_Vector ((1 => 
(114, 1)));
             Add_Action (Table.States (1061), (21, 35, 56, 74, 77, 82, 96), 
(114, 1), 5, access_definition_1'Access,
             null);
-            Set_Minimal_Action (Table.States (1061).Minimal_Complete_Actions, 
(1 => (Reduce, 114, 5)));
+            Table.States (1061).Minimal_Complete_Action := (Reduce, 114, 5);
             Table.States (1062).Productions := WisiToken.To_Vector ((1 => 
(114, 0)));
             Add_Action (Table.States (1062), (21, 35, 56, 74, 77, 82, 96), 
(114, 0), 5, access_definition_0'Access,
             null);
-            Set_Minimal_Action (Table.States (1062).Minimal_Complete_Actions, 
(1 => (Reduce, 114, 5)));
+            Table.States (1062).Minimal_Complete_Action := (Reduce, 114, 5);
             Table.States (1063).Productions := WisiToken.To_Vector ((1 => 
(245, 0)));
             Add_Action (Table.States (1063), 96, 1157);
             Add_Error (Table.States (1063));
-            Set_Minimal_Action (Table.States (1063).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1157)));
+            Table.States (1063).Minimal_Complete_Action := (Shift, 96, 1157);
             Table.States (1064).Productions := WisiToken.To_Vector ((1 => 
(187, 0)));
             Add_Action (Table.States (1064), 44, 914);
             Add_Action (Table.States (1064), 104, 119);
@@ -12338,7 +12251,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1064), 239, 918);
             Add_Goto (Table.States (1064), 272, 92);
             Add_Goto (Table.States (1064), 293, 97);
-            Set_Minimal_Action (Table.States (1064).Minimal_Complete_Actions, 
(1 => (Shift, 44, 914)));
+            Table.States (1064).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (1065).Productions := WisiToken.To_Vector ((1 => 
(185, 0)));
             Add_Action (Table.States (1065), 44, 914);
             Add_Action (Table.States (1065), 104, 119);
@@ -12350,7 +12263,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1065), 239, 918);
             Add_Goto (Table.States (1065), 272, 92);
             Add_Goto (Table.States (1065), 293, 97);
-            Set_Minimal_Action (Table.States (1065).Minimal_Complete_Actions, 
(1 => (Shift, 44, 914)));
+            Table.States (1065).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (1066).Productions := WisiToken.To_Vector ((1 => 
(187, 1)));
             Add_Action (Table.States (1066), 4, 1);
             Add_Action (Table.States (1066), 5, 2);
@@ -12408,75 +12321,75 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1066), 303, 101);
             Add_Goto (Table.States (1066), 306, 363);
             Add_Goto (Table.States (1066), 323, 114);
-            Set_Minimal_Action (Table.States (1066).Minimal_Complete_Actions, 
(1 => (Reduce, 300, 0)));
+            Table.States (1066).Minimal_Complete_Action := (Reduce, 300, 0);
             Table.States (1067).Productions := WisiToken.To_Vector ((1 => 
(133, 0)));
             Add_Action (Table.States (1067), 96, 1161);
             Add_Error (Table.States (1067));
-            Set_Minimal_Action (Table.States (1067).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1161)));
+            Table.States (1067).Minimal_Complete_Action := (Shift, 96, 1161);
             Table.States (1068).Productions := WisiToken.To_Vector ((1 => 
(232, 1)));
             Add_Action (Table.States (1068), (4, 5, 13, 15, 17, 18, 22, 23, 
24, 25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (232, 1), 7, loop_statement_1'Access, 
loop_statement_1_check'Access);
-            Set_Minimal_Action (Table.States (1068).Minimal_Complete_Actions, 
(1 => (Reduce, 232, 7)));
+            Table.States (1068).Minimal_Complete_Action := (Reduce, 232, 7);
             Table.States (1069).Productions := WisiToken.To_Vector ((1 => 
(232, 0)));
             Add_Action (Table.States (1069), 96, 1162);
             Add_Error (Table.States (1069));
-            Set_Minimal_Action (Table.States (1069).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1162)));
+            Table.States (1069).Minimal_Complete_Action := (Shift, 96, 1162);
             Table.States (1070).Productions := WisiToken.To_Vector ((1 => 
(244, 1)));
             Add_Action (Table.States (1070), 74, 337);
             Add_Action (Table.States (1070), 96, Reduce, (122, 1), 0, null, 
null);
             Add_Error (Table.States (1070));
             Add_Goto (Table.States (1070), 122, 1163);
-            Set_Minimal_Action (Table.States (1070).Minimal_Complete_Actions, 
(1 => (Reduce, 122, 0)));
+            Table.States (1070).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (1071).Productions := WisiToken.To_Vector ((1 => 
(244, 4)));
             Add_Action (Table.States (1071), (4, 5, 13, 15, 17, 18, 24, 25, 
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (244, 4), 7,
             object_declaration_4'Access, null);
-            Set_Minimal_Action (Table.States (1071).Minimal_Complete_Actions, 
(1 => (Reduce, 244, 7)));
+            Table.States (1071).Minimal_Complete_Action := (Reduce, 244, 7);
             Table.States (1072).Productions := WisiToken.To_Vector ((1 => 
(244, 2)));
             Add_Action (Table.States (1072), 74, 337);
             Add_Action (Table.States (1072), 96, Reduce, (122, 1), 0, null, 
null);
             Add_Error (Table.States (1072));
             Add_Goto (Table.States (1072), 122, 1164);
-            Set_Minimal_Action (Table.States (1072).Minimal_Complete_Actions, 
(1 => (Reduce, 122, 0)));
+            Table.States (1072).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (1073).Productions := WisiToken.To_Vector ((1 => 
(244, 5)));
             Add_Action (Table.States (1073), (4, 5, 13, 15, 17, 18, 24, 25, 
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (244, 5), 7,
             object_declaration_5'Access, null);
-            Set_Minimal_Action (Table.States (1073).Minimal_Complete_Actions, 
(1 => (Reduce, 244, 7)));
+            Table.States (1073).Minimal_Complete_Action := (Reduce, 244, 7);
             Table.States (1074).Productions := WisiToken.To_Vector ((1 => 
(244, 0)));
             Add_Action (Table.States (1074), 74, 337);
             Add_Action (Table.States (1074), 96, Reduce, (122, 1), 0, null, 
null);
             Add_Error (Table.States (1074));
             Add_Goto (Table.States (1074), 122, 1165);
-            Set_Minimal_Action (Table.States (1074).Minimal_Complete_Actions, 
(1 => (Reduce, 122, 0)));
+            Table.States (1074).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (1075).Productions := WisiToken.To_Vector ((1 => 
(244, 3)));
             Add_Action (Table.States (1075), (4, 5, 13, 15, 17, 18, 24, 25, 
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (244, 3), 7,
             object_declaration_3'Access, null);
-            Set_Minimal_Action (Table.States (1075).Minimal_Complete_Actions, 
(1 => (Reduce, 244, 7)));
+            Table.States (1075).Minimal_Complete_Action := (Reduce, 244, 7);
             Table.States (1076).Productions := WisiToken.To_Vector ((1 => 
(179, 0)));
             Add_Action (Table.States (1076), 74, 337);
             Add_Action (Table.States (1076), 96, Reduce, (122, 1), 0, null, 
null);
             Add_Error (Table.States (1076));
             Add_Goto (Table.States (1076), 122, 1166);
-            Set_Minimal_Action (Table.States (1076).Minimal_Complete_Actions, 
(1 => (Reduce, 122, 0)));
+            Table.States (1076).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (1077).Productions := WisiToken.To_Vector ((1 => 
(213, 2)));
             Add_Action (Table.States (1077), 96, 1167);
             Add_Error (Table.States (1077));
-            Set_Minimal_Action (Table.States (1077).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1167)));
+            Table.States (1077).Minimal_Complete_Action := (Shift, 96, 1167);
             Table.States (1078).Productions := WisiToken.To_Vector ((1 => 
(213, 1)));
             Add_Action (Table.States (1078), 96, 1168);
             Add_Error (Table.States (1078));
-            Set_Minimal_Action (Table.States (1078).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1168)));
+            Table.States (1078).Minimal_Complete_Action := (Shift, 96, 1168);
             Table.States (1079).Productions := WisiToken.To_Vector ((1 => 
(307, 0)));
             Add_Action (Table.States (1079), 24, 1169);
             Add_Error (Table.States (1079));
-            Set_Minimal_Action (Table.States (1079).Minimal_Complete_Actions, 
(1 => (Shift, 24, 1169)));
+            Table.States (1079).Minimal_Complete_Action := (Shift, 24, 1169);
             Table.States (1080).Productions := WisiToken.To_Vector ((1 => 
(113, 0)));
             Add_Action (Table.States (1080), 96, 1170);
             Add_Error (Table.States (1080));
-            Set_Minimal_Action (Table.States (1080).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1170)));
+            Table.States (1080).Minimal_Complete_Action := (Shift, 96, 1170);
             Table.States (1081).Productions := WisiToken.To_Vector ((1 => 
(137, 0)));
             Add_Action (Table.States (1081), 3, 121);
             Add_Action (Table.States (1081), 39, 122);
@@ -12513,17 +12426,17 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1081), 320, 144);
             Add_Goto (Table.States (1081), 321, 145);
             Add_Goto (Table.States (1081), 330, 146);
-            Set_Minimal_Action (Table.States (1081).Minimal_Complete_Actions, 
(1 => (Reduce, 192, 0)));
+            Table.States (1081).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (1082).Productions := WisiToken.To_Vector ((1 => 
(138, 0)));
             Add_Action (Table.States (1082), (77, 83), (138, 0), 3, 
case_expression_alternative_list_0'Access, null);
-            Set_Minimal_Action (Table.States (1082).Minimal_Complete_Actions, 
(1 => (Reduce, 138, 3)));
+            Table.States (1082).Minimal_Complete_Action := (Reduce, 138, 3);
             Table.States (1083).Productions := WisiToken.To_Vector ((1 => 
(221, 1)));
             Add_Action (Table.States (1083), (1 =>  77), (221, 1), 6, 
if_expression_1'Access, null);
-            Set_Minimal_Action (Table.States (1083).Minimal_Complete_Actions, 
(1 => (Reduce, 221, 6)));
+            Table.States (1083).Minimal_Complete_Action := (Reduce, 221, 6);
             Table.States (1084).Productions := WisiToken.To_Vector ((1 => 
(172, 0)));
             Add_Action (Table.States (1084), 68, 1172);
             Add_Error (Table.States (1084));
-            Set_Minimal_Action (Table.States (1084).Minimal_Complete_Actions, 
(1 => (Shift, 68, 1172)));
+            Table.States (1084).Minimal_Complete_Action := (Shift, 68, 1172);
             Table.States (1085).Productions := WisiToken.To_Vector ((1 => 
(221, 0)));
             Add_Action (Table.States (1085), 3, 121);
             Add_Action (Table.States (1085), 39, 122);
@@ -12559,14 +12472,14 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1085), 320, 144);
             Add_Goto (Table.States (1085), 321, 145);
             Add_Goto (Table.States (1085), 330, 146);
-            Set_Minimal_Action (Table.States (1085).Minimal_Complete_Actions, 
(1 => (Reduce, 192, 0)));
+            Table.States (1085).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (1086).Productions := WisiToken.To_Vector ((1 => 
(173, 0)));
             Add_Action (Table.States (1086), (22, 23, 77), (173, 0), 2, null, 
null);
-            Set_Minimal_Action (Table.States (1086).Minimal_Complete_Actions, 
(1 => (Reduce, 173, 2)));
+            Table.States (1086).Minimal_Complete_Action := (Reduce, 173, 2);
             Table.States (1087).Productions := WisiToken.To_Vector ((1 => 
(277, 0)));
             Add_Action (Table.States (1087), (10, 20, 21, 22, 23, 35, 37, 42, 
43, 53, 68, 74, 75, 77, 79, 82, 83, 87,
             96), (277, 0), 6, range_g_0'Access, null);
-            Set_Minimal_Action (Table.States (1087).Minimal_Complete_Actions, 
(1 => (Reduce, 277, 6)));
+            Table.States (1087).Minimal_Complete_Action := (Reduce, 277, 6);
             Table.States (1088).Productions := WisiToken.To_Vector (((128, 0), 
(165, 1), (239, 0), (239, 1), (272, 0),
             (293, 0), (293, 1), (293, 2), (293, 3), (314, 0), (314, 1)));
             Add_Action (Table.States (1088), 53, 618);
@@ -12583,22 +12496,21 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1088), 155, 956);
             Add_Goto (Table.States (1088), 224, 621);
             Add_Goto (Table.States (1088), 322, 242);
-            Set_Minimal_Action (Table.States (1088).Minimal_Complete_Actions, 
((Shift, 84, 237), (Shift, 102, 240),
-            (Reduce, 165, 3), (Reduce, 314, 3)));
+            Table.States (1088).Minimal_Complete_Action := (Reduce, 165, 3);
             Table.States (1089).Productions := WisiToken.To_Vector ((1 => 
(168, 0)));
             Add_Action (Table.States (1089), (77, 83), (168, 0), 3, null, 
null);
-            Set_Minimal_Action (Table.States (1089).Minimal_Complete_Actions, 
(1 => (Reduce, 168, 3)));
+            Table.States (1089).Minimal_Complete_Action := (Reduce, 168, 3);
             Table.States (1090).Productions := WisiToken.To_Vector ((1 => 
(235, 0)));
             Add_Action (Table.States (1090), (1 =>  104), (235, 0), 4, null, 
null);
-            Set_Minimal_Action (Table.States (1090).Minimal_Complete_Actions, 
(1 => (Reduce, 235, 4)));
+            Table.States (1090).Minimal_Complete_Action := (Reduce, 235, 4);
             Table.States (1091).Productions := WisiToken.To_Vector ((1 => 
(144, 0)));
             Add_Action (Table.States (1091), 53, 1174);
             Add_Error (Table.States (1091));
-            Set_Minimal_Action (Table.States (1091).Minimal_Complete_Actions, 
(1 => (Shift, 53, 1174)));
+            Table.States (1091).Minimal_Complete_Action := (Shift, 53, 1174);
             Table.States (1092).Productions := WisiToken.To_Vector ((1 => 
(281, 0)));
             Add_Action (Table.States (1092), 96, 1175);
             Add_Error (Table.States (1092));
-            Set_Minimal_Action (Table.States (1092).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1175)));
+            Table.States (1092).Minimal_Complete_Action := (Shift, 96, 1175);
             Table.States (1093).Productions := WisiToken.To_Vector ((1 => 
(254, 2)));
             Add_Action (Table.States (1093), 3, 121);
             Add_Action (Table.States (1093), 39, 122);
@@ -12635,7 +12547,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1093), 320, 144);
             Add_Goto (Table.States (1093), 321, 145);
             Add_Goto (Table.States (1093), 330, 146);
-            Set_Minimal_Action (Table.States (1093).Minimal_Complete_Actions, 
(1 => (Reduce, 192, 0)));
+            Table.States (1093).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (1094).Productions := WisiToken.To_Vector (((254, 0), 
(254, 1)));
             Add_Action (Table.States (1094), 104, 119);
             Add_Action (Table.States (1094), 105, 33);
@@ -12645,18 +12557,18 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1094), 239, 1177);
             Add_Goto (Table.States (1094), 272, 92);
             Add_Goto (Table.States (1094), 293, 97);
-            Set_Minimal_Action (Table.States (1094).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (1094).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (1095).Productions := WisiToken.To_Vector ((1 => 
(202, 6)));
             Add_Action (Table.States (1095), 80, 1178);
             Add_Error (Table.States (1095));
-            Set_Minimal_Action (Table.States (1095).Minimal_Complete_Actions, 
(1 => (Shift, 80, 1178)));
+            Table.States (1095).Minimal_Complete_Action := (Shift, 80, 1178);
             Table.States (1096).Productions := WisiToken.To_Vector ((1 => 
(201, 1)));
             Add_Action (Table.States (1096), (29, 47, 48, 50, 69, 71, 74, 
104), (201, 1), 7,
             formal_type_declaration_1'Access, null);
-            Set_Minimal_Action (Table.States (1096).Minimal_Complete_Actions, 
(1 => (Reduce, 201, 7)));
+            Table.States (1096).Minimal_Complete_Action := (Reduce, 201, 7);
             Table.States (1097).Productions := WisiToken.To_Vector ((1 => 
(202, 2)));
             Add_Action (Table.States (1097), (74, 96), (202, 2), 3, null, 
null);
-            Set_Minimal_Action (Table.States (1097).Minimal_Complete_Actions, 
(1 => (Reduce, 202, 3)));
+            Table.States (1097).Minimal_Complete_Action := (Reduce, 202, 3);
             Table.States (1098).Productions := WisiToken.To_Vector (((128, 0), 
(203, 0), (203, 1), (239, 0), (239, 1),
             (272, 0), (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (1098), 10, 1151);
@@ -12670,12 +12582,11 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1098), 115, 241);
             Add_Goto (Table.States (1098), 119, 1179);
             Add_Goto (Table.States (1098), 322, 242);
-            Set_Minimal_Action (Table.States (1098).Minimal_Complete_Actions, 
((Shift, 84, 237), (Shift, 102, 240),
-            (Reduce, 119, 0)));
+            Table.States (1098).Minimal_Complete_Action := (Reduce, 119, 0);
             Table.States (1099).Productions := WisiToken.To_Vector ((1 => 
(201, 0)));
             Add_Action (Table.States (1099), (29, 47, 48, 50, 69, 71, 74, 
104), (201, 0), 7,
             formal_type_declaration_0'Access, null);
-            Set_Minimal_Action (Table.States (1099).Minimal_Complete_Actions, 
(1 => (Reduce, 201, 7)));
+            Table.States (1099).Minimal_Complete_Action := (Reduce, 201, 7);
             Table.States (1100).Productions := WisiToken.To_Vector (((115, 0), 
(115, 1), (205, 0), (239, 0)));
             Add_Action (Table.States (1100), 3, 121);
             Add_Action (Table.States (1100), 15, 258);
@@ -12728,56 +12639,55 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1100), 320, 144);
             Add_Goto (Table.States (1100), 321, 145);
             Add_Goto (Table.States (1100), 330, 146);
-            Set_Minimal_Action (Table.States (1100).Minimal_Complete_Actions, 
((Shift, 32, 260), (Shift, 80, 1180),
-            (Shift, 105, 33), (Reduce, 125, 0)));
+            Table.States (1100).Minimal_Complete_Action := (Reduce, 125, 0);
             Table.States (1101).Productions := WisiToken.To_Vector ((1 => 
(204, 0)));
             Add_Action (Table.States (1101), 74, 337);
             Add_Action (Table.States (1101), 96, Reduce, (122, 1), 0, null, 
null);
             Add_Error (Table.States (1101));
             Add_Goto (Table.States (1101), 122, 1181);
-            Set_Minimal_Action (Table.States (1101).Minimal_Complete_Actions, 
(1 => (Reduce, 122, 0)));
+            Table.States (1101).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (1102).Productions := WisiToken.To_Vector ((1 => 
(200, 0)));
             Add_Action (Table.States (1102), (29, 47, 48, 50, 69, 71, 74, 
104), (200, 0), 7,
             formal_subprogram_declaration_0'Access, null);
-            Set_Minimal_Action (Table.States (1102).Minimal_Complete_Actions, 
(1 => (Reduce, 200, 7)));
+            Table.States (1102).Minimal_Complete_Action := (Reduce, 200, 7);
             Table.States (1103).Productions := WisiToken.To_Vector ((1 => 
(198, 1)));
             Add_Action (Table.States (1103), 96, 1182);
             Add_Error (Table.States (1103));
-            Set_Minimal_Action (Table.States (1103).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1182)));
+            Table.States (1103).Minimal_Complete_Action := (Shift, 96, 1182);
             Table.States (1104).Productions := WisiToken.To_Vector ((1 => 
(198, 0)));
             Add_Action (Table.States (1104), 74, 337);
             Add_Action (Table.States (1104), 96, Reduce, (122, 1), 0, null, 
null);
             Add_Error (Table.States (1104));
             Add_Goto (Table.States (1104), 122, 1183);
-            Set_Minimal_Action (Table.States (1104).Minimal_Complete_Actions, 
(1 => (Reduce, 122, 0)));
+            Table.States (1104).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (1105).Productions := WisiToken.To_Vector ((1 => 
(198, 2)));
             Add_Action (Table.States (1105), (29, 47, 48, 50, 69, 71, 74, 
104), (198, 2), 7,
             formal_object_declaration_2'Access, null);
-            Set_Minimal_Action (Table.States (1105).Minimal_Complete_Actions, 
(1 => (Reduce, 198, 7)));
+            Table.States (1105).Minimal_Complete_Action := (Reduce, 198, 7);
             Table.States (1106).Productions := WisiToken.To_Vector ((1 => 
(222, 1)));
             Add_Action (Table.States (1106), 96, 1184);
             Add_Error (Table.States (1106));
-            Set_Minimal_Action (Table.States (1106).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1184)));
+            Table.States (1106).Minimal_Complete_Action := (Shift, 96, 1184);
             Table.States (1107).Productions := WisiToken.To_Vector ((1 => 
(174, 0)));
             Add_Action (Table.States (1107), (22, 23, 24), (174, 0), 4, 
elsif_statement_item_0'Access, null);
-            Set_Minimal_Action (Table.States (1107).Minimal_Complete_Actions, 
(1 => (Reduce, 174, 4)));
+            Table.States (1107).Minimal_Complete_Action := (Reduce, 174, 4);
             Table.States (1108).Productions := WisiToken.To_Vector ((1 => 
(222, 0)));
             Add_Action (Table.States (1108), 32, 1185);
             Add_Error (Table.States (1108));
-            Set_Minimal_Action (Table.States (1108).Minimal_Complete_Actions, 
(1 => (Shift, 32, 1185)));
+            Table.States (1108).Minimal_Complete_Action := (Shift, 32, 1185);
             Table.States (1109).Productions := WisiToken.To_Vector ((1 => 
(222, 2)));
             Add_Action (Table.States (1109), (4, 5, 13, 15, 17, 18, 22, 23, 
24, 25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (222, 2), 8, if_statement_2'Access, null);
-            Set_Minimal_Action (Table.States (1109).Minimal_Complete_Actions, 
(1 => (Reduce, 222, 8)));
+            Table.States (1109).Minimal_Complete_Action := (Reduce, 222, 8);
             Table.States (1110).Productions := WisiToken.To_Vector ((1 => 
(247, 0)));
             Add_Action (Table.States (1110), 24, 1186);
             Add_Error (Table.States (1110));
-            Set_Minimal_Action (Table.States (1110).Minimal_Complete_Actions, 
(1 => (Shift, 24, 1186)));
+            Table.States (1110).Minimal_Complete_Action := (Shift, 24, 1186);
             Table.States (1111).Productions := WisiToken.To_Vector ((1 => 
(247, 1)));
             Add_Action (Table.States (1111), 96, 1187);
             Add_Error (Table.States (1111));
-            Set_Minimal_Action (Table.States (1111).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1187)));
+            Table.States (1111).Minimal_Complete_Action := (Shift, 96, 1187);
             Table.States (1112).Productions := WisiToken.To_Vector ((1 => 
(251, 0)));
             Add_Action (Table.States (1112), 96, Reduce, (240, 1), 0, null, 
null);
             Add_Action (Table.States (1112), 104, 119);
@@ -12789,7 +12699,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1112), 240, 1188);
             Add_Goto (Table.States (1112), 272, 92);
             Add_Goto (Table.States (1112), 293, 97);
-            Set_Minimal_Action (Table.States (1112).Minimal_Complete_Actions, 
(1 => (Reduce, 240, 0)));
+            Table.States (1112).Minimal_Complete_Action := (Reduce, 240, 0);
             Table.States (1113).Productions := WisiToken.To_Vector (((177, 0), 
(199, 0)));
             Add_Action (Table.States (1113), 28, 1189);
             Add_Action (Table.States (1113), 77, Reduce, (254, 4), 0, null, 
null);
@@ -12799,28 +12709,28 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1113), 219, 493);
             Add_Goto (Table.States (1113), 254, 494);
             Add_Goto (Table.States (1113), 255, 495);
-            Set_Minimal_Action (Table.States (1113).Minimal_Complete_Actions, 
((Shift, 28, 1189), (Reduce, 255, 0)));
+            Table.States (1113).Minimal_Complete_Action := (Reduce, 255, 0);
             Table.States (1114).Productions := WisiToken.To_Vector ((1 => 
(176, 0)));
             Add_Action (Table.States (1114), 72, 1190);
             Add_Error (Table.States (1114));
-            Set_Minimal_Action (Table.States (1114).Minimal_Complete_Actions, 
(1 => (Shift, 72, 1190)));
+            Table.States (1114).Minimal_Complete_Action := (Shift, 72, 1190);
             Table.States (1115).Productions := WisiToken.To_Vector ((1 => 
(177, 1)));
             Add_Action (Table.States (1115), (1 =>  72), (177, 1), 1, null, 
null);
-            Set_Minimal_Action (Table.States (1115).Minimal_Complete_Actions, 
(1 => (Reduce, 177, 1)));
+            Table.States (1115).Minimal_Complete_Action := (Reduce, 177, 1);
             Table.States (1116).Productions := WisiToken.To_Vector ((1 => 
(264, 0)));
             Add_Action (Table.States (1116), 96, 1191);
             Add_Error (Table.States (1116));
-            Set_Minimal_Action (Table.States (1116).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1191)));
+            Table.States (1116).Minimal_Complete_Action := (Shift, 96, 1191);
             Table.States (1117).Productions := WisiToken.To_Vector (((227, 0), 
(271, 0)));
             Add_Action (Table.States (1117), 10, 1006);
             Add_Action (Table.States (1117), 74, 1192);
             Add_Error (Table.States (1117));
-            Set_Minimal_Action (Table.States (1117).Minimal_Complete_Actions, 
(1 => (Shift, 74, 1192)));
+            Table.States (1117).Minimal_Complete_Action := (Shift, 74, 1192);
             Table.States (1118).Productions := WisiToken.To_Vector ((1 => 
(271, 1)));
             Add_Action (Table.States (1118), (4, 5, 13, 15, 17, 18, 24, 25, 
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (271, 1), 8,
             protected_type_declaration_1'Access, 
protected_type_declaration_1_check'Access);
-            Set_Minimal_Action (Table.States (1118).Minimal_Complete_Actions, 
(1 => (Reduce, 271, 8)));
+            Table.States (1118).Minimal_Complete_Action := (Reduce, 271, 8);
             Table.States (1119).Productions := WisiToken.To_Vector (((128, 0), 
(227, 0), (239, 0), (239, 1), (272, 0),
             (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (1119), 10, Reduce, (227, 0), 3, 
interface_list_0'Access, null);
@@ -12833,50 +12743,49 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (1119));
             Add_Goto (Table.States (1119), 115, 241);
             Add_Goto (Table.States (1119), 322, 242);
-            Set_Minimal_Action (Table.States (1119).Minimal_Complete_Actions, 
((Shift, 84, 237), (Shift, 102, 240),
-            (Reduce, 227, 3)));
+            Table.States (1119).Minimal_Complete_Action := (Reduce, 227, 3);
             Table.States (1120).Productions := WisiToken.To_Vector ((1 => 
(304, 0)));
             Add_Action (Table.States (1120), 96, 1193);
             Add_Error (Table.States (1120));
-            Set_Minimal_Action (Table.States (1120).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1193)));
+            Table.States (1120).Minimal_Complete_Action := (Shift, 96, 1193);
             Table.States (1121).Productions := WisiToken.To_Vector ((1 => 
(266, 0)));
             Add_Action (Table.States (1121), 96, Reduce, (220, 1), 0, null, 
null);
             Add_Action (Table.States (1121), 104, 149);
             Add_Error (Table.States (1121));
             Add_Goto (Table.States (1121), 220, 1194);
-            Set_Minimal_Action (Table.States (1121).Minimal_Complete_Actions, 
(1 => (Reduce, 220, 0)));
+            Table.States (1121).Minimal_Complete_Action := (Reduce, 220, 0);
             Table.States (1122).Productions := WisiToken.To_Vector ((1 => 
(194, 0)));
             Add_Action (Table.States (1122), (21, 96), (194, 0), 7, 
extended_return_object_declaration_0'Access, null);
-            Set_Minimal_Action (Table.States (1122).Minimal_Complete_Actions, 
(1 => (Reduce, 194, 7)));
+            Table.States (1122).Minimal_Complete_Action := (Reduce, 194, 7);
             Table.States (1123).Productions := WisiToken.To_Vector ((1 => 
(126, 0)));
             Add_Action (Table.States (1123), (4, 5, 13, 15, 17, 18, 22, 23, 
24, 25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (126, 0), 8, asynchronous_select_0'Access, null);
-            Set_Minimal_Action (Table.States (1123).Minimal_Complete_Actions, 
(1 => (Reduce, 126, 8)));
+            Table.States (1123).Minimal_Complete_Action := (Reduce, 126, 8);
             Table.States (1124).Productions := WisiToken.To_Vector ((1 => 
(316, 0)));
             Add_Action (Table.States (1124), 24, 1195);
             Add_Error (Table.States (1124));
-            Set_Minimal_Action (Table.States (1124).Minimal_Complete_Actions, 
(1 => (Shift, 24, 1195)));
+            Table.States (1124).Minimal_Complete_Action := (Shift, 24, 1195);
             Table.States (1125).Productions := WisiToken.To_Vector (((227, 0), 
(319, 0)));
             Add_Action (Table.States (1125), 10, 1006);
             Add_Action (Table.States (1125), 74, 1196);
             Add_Error (Table.States (1125));
-            Set_Minimal_Action (Table.States (1125).Minimal_Complete_Actions, 
(1 => (Shift, 74, 1196)));
+            Table.States (1125).Minimal_Complete_Action := (Shift, 74, 1196);
             Table.States (1126).Productions := WisiToken.To_Vector ((1 => 
(319, 1)));
             Add_Action (Table.States (1126), 96, Reduce, (220, 1), 0, null, 
null);
             Add_Action (Table.States (1126), 104, 149);
             Add_Error (Table.States (1126));
             Add_Goto (Table.States (1126), 220, 1197);
-            Set_Minimal_Action (Table.States (1126).Minimal_Complete_Actions, 
(1 => (Reduce, 220, 0)));
+            Table.States (1126).Minimal_Complete_Action := (Reduce, 220, 0);
             Table.States (1127).Productions := WisiToken.To_Vector ((1 => 
(305, 0)));
             Add_Action (Table.States (1127), 24, 1198);
             Add_Error (Table.States (1127));
-            Set_Minimal_Action (Table.States (1127).Minimal_Complete_Actions, 
(1 => (Shift, 24, 1198)));
+            Table.States (1127).Minimal_Complete_Action := (Shift, 24, 1198);
             Table.States (1128).Productions := WisiToken.To_Vector ((1 => 
(305, 1)));
             Add_Action (Table.States (1128), (4, 5, 13, 15, 17, 18, 24, 25, 
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (305, 1), 8,
             single_task_declaration_1'Access, 
single_task_declaration_1_check'Access);
-            Set_Minimal_Action (Table.States (1128).Minimal_Complete_Actions, 
(1 => (Reduce, 305, 8)));
+            Table.States (1128).Minimal_Complete_Action := (Reduce, 305, 8);
             Table.States (1129).Productions := WisiToken.To_Vector (((239, 5), 
(242, 2)));
             Add_Action (Table.States (1129), 76, Reduce, (239, 5), 1, 
name_5'Access, name_5_check'Access);
             Add_Action (Table.States (1129), 77, Reduce, (242, 2), 3, 
null_exclusion_opt_name_type_2'Access, null);
@@ -12886,7 +12795,7 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (1129), 101, Reduce, (239, 5), 1, 
name_5'Access, name_5_check'Access);
             Add_Action (Table.States (1129), 102, Reduce, (239, 5), 1, 
name_5'Access, name_5_check'Access);
             Add_Error (Table.States (1129));
-            Set_Minimal_Action (Table.States (1129).Minimal_Complete_Actions, 
((Reduce, 239, 1), (Reduce, 242, 3)));
+            Table.States (1129).Minimal_Complete_Action := (Reduce, 239, 1);
             Table.States (1130).Productions := WisiToken.To_Vector (((239, 2), 
(242, 3)));
             Add_Action (Table.States (1130), 76, Reduce, (239, 2), 1, null, 
name_2_check'Access);
             Add_Action (Table.States (1130), 77, Reduce, (242, 3), 3, 
null_exclusion_opt_name_type_3'Access, null);
@@ -12896,24 +12805,21 @@ package body Ada_Process_LALR_Main is
             Add_Action (Table.States (1130), 101, Reduce, (239, 2), 1, null, 
name_2_check'Access);
             Add_Action (Table.States (1130), 102, Reduce, (239, 2), 1, null, 
name_2_check'Access);
             Add_Error (Table.States (1130));
-            Set_Minimal_Action (Table.States (1130).Minimal_Complete_Actions, 
((Reduce, 239, 1), (Reduce, 242, 3)));
-         end Subr_18;
-         procedure Subr_19
-         is begin
+            Table.States (1130).Minimal_Complete_Action := (Reduce, 239, 1);
             Table.States (1131).Productions := WisiToken.To_Vector ((1 => 
(170, 1)));
             Add_Action (Table.States (1131), (77, 96), (170, 1), 5, null, 
null);
-            Set_Minimal_Action (Table.States (1131).Minimal_Complete_Actions, 
(1 => (Reduce, 170, 5)));
+            Table.States (1131).Minimal_Complete_Action := (Reduce, 170, 5);
             Table.States (1132).Productions := WisiToken.To_Vector ((1 => 
(170, 0)));
             Add_Action (Table.States (1132), (77, 96), (170, 0), 5, null, 
null);
-            Set_Minimal_Action (Table.States (1132).Minimal_Complete_Actions, 
(1 => (Reduce, 170, 5)));
+            Table.States (1132).Minimal_Complete_Action := (Reduce, 170, 5);
             Table.States (1133).Productions := WisiToken.To_Vector ((1 => 
(120, 1)));
             Add_Action (Table.States (1133), 42, 1199);
             Add_Error (Table.States (1133));
-            Set_Minimal_Action (Table.States (1133).Minimal_Complete_Actions, 
(1 => (Shift, 42, 1199)));
+            Table.States (1133).Minimal_Complete_Action := (Shift, 42, 1199);
             Table.States (1134).Productions := WisiToken.To_Vector ((1 => 
(120, 0)));
             Add_Action (Table.States (1134), 42, 1200);
             Add_Error (Table.States (1134));
-            Set_Minimal_Action (Table.States (1134).Minimal_Complete_Actions, 
(1 => (Shift, 42, 1200)));
+            Table.States (1134).Minimal_Complete_Action := (Shift, 42, 1200);
             Table.States (1135).Productions := WisiToken.To_Vector ((1 => 
(226, 0)));
             Add_Action (Table.States (1135), 104, 119);
             Add_Action (Table.States (1135), 105, 33);
@@ -12924,7 +12830,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1135), 239, 1202);
             Add_Goto (Table.States (1135), 272, 92);
             Add_Goto (Table.States (1135), 293, 97);
-            Set_Minimal_Action (Table.States (1135).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (1135).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (1136).Productions := WisiToken.To_Vector (((155, 0), 
(225, 0)));
             Add_Action (Table.States (1136), 3, 121);
             Add_Action (Table.States (1136), 39, 122);
@@ -12951,42 +12857,45 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1136), 320, 144);
             Add_Goto (Table.States (1136), 321, 145);
             Add_Goto (Table.States (1136), 330, 146);
-            Set_Minimal_Action (Table.States (1136).Minimal_Complete_Actions, 
((Shift, 80, 1203), (Shift, 105, 33)));
+            Table.States (1136).Minimal_Complete_Action := (Shift, 80, 1203);
             Table.States (1137).Productions := WisiToken.To_Vector ((1 => 
(326, 4)));
             Add_Action (Table.States (1137), 53, 1036);
             Add_Action (Table.States (1137), 74, Reduce, (279, 1), 0, null, 
null);
             Add_Action (Table.States (1137), 96, Reduce, (279, 1), 0, null, 
null);
             Add_Error (Table.States (1137));
             Add_Goto (Table.States (1137), 279, 1204);
-            Set_Minimal_Action (Table.States (1137).Minimal_Complete_Actions, 
(1 => (Reduce, 279, 0)));
+            Table.States (1137).Minimal_Complete_Action := (Reduce, 279, 0);
             Table.States (1138).Productions := WisiToken.To_Vector ((1 => 
(279, 0)));
             Add_Action (Table.States (1138), 85, 1205);
             Add_Error (Table.States (1138));
-            Set_Minimal_Action (Table.States (1138).Minimal_Complete_Actions, 
(1 => (Shift, 85, 1205)));
+            Table.States (1138).Minimal_Complete_Action := (Shift, 85, 1205);
             Table.States (1139).Productions := WisiToken.To_Vector (((227, 0), 
(228, 0)));
             Add_Action (Table.States (1139), 10, 1006);
             Add_Action (Table.States (1139), 74, Reduce, (228, 0), 4, null, 
null);
             Add_Action (Table.States (1139), 96, Reduce, (228, 0), 4, null, 
null);
             Add_Error (Table.States (1139));
-            Set_Minimal_Action (Table.States (1139).Minimal_Complete_Actions, 
(1 => (Reduce, 228, 4)));
+            Table.States (1139).Minimal_Complete_Action := (Reduce, 228, 4);
             Table.States (1140).Productions := WisiToken.To_Vector (((227, 0), 
(228, 2)));
             Add_Action (Table.States (1140), 10, 1006);
             Add_Action (Table.States (1140), 74, Reduce, (228, 2), 4, null, 
null);
             Add_Action (Table.States (1140), 96, Reduce, (228, 2), 4, null, 
null);
             Add_Error (Table.States (1140));
-            Set_Minimal_Action (Table.States (1140).Minimal_Complete_Actions, 
(1 => (Reduce, 228, 4)));
+            Table.States (1140).Minimal_Complete_Action := (Reduce, 228, 4);
+         end Subr_18;
+         procedure Subr_19
+         is begin
             Table.States (1141).Productions := WisiToken.To_Vector ((1 => 
(326, 1)));
             Add_Action (Table.States (1141), (74, 96), (326, 1), 4, null, 
null);
-            Set_Minimal_Action (Table.States (1141).Minimal_Complete_Actions, 
(1 => (Reduce, 326, 4)));
+            Table.States (1141).Minimal_Complete_Action := (Reduce, 326, 4);
             Table.States (1142).Productions := WisiToken.To_Vector ((1 => 
(327, 0)));
             Add_Action (Table.States (1142), 72, 1206);
             Add_Error (Table.States (1142));
             Add_Goto (Table.States (1142), 328, 1207);
             Add_Goto (Table.States (1142), 329, 1208);
-            Set_Minimal_Action (Table.States (1142).Minimal_Complete_Actions, 
(1 => (Shift, 72, 1206)));
+            Table.States (1142).Minimal_Complete_Action := (Shift, 72, 1206);
             Table.States (1143).Productions := WisiToken.To_Vector ((1 => 
(280, 0)));
             Add_Action (Table.States (1143), (74, 96), (280, 0), 4, 
record_definition_0'Access, null);
-            Set_Minimal_Action (Table.States (1143).Minimal_Complete_Actions, 
(1 => (Reduce, 280, 4)));
+            Table.States (1143).Minimal_Complete_Action := (Reduce, 280, 4);
             Table.States (1144).Productions := WisiToken.To_Vector (((147, 0), 
(147, 2)));
             Add_Action (Table.States (1144), 7, Reduce, (241, 1), 0, null, 
null);
             Add_Action (Table.States (1144), 40, 742);
@@ -13001,35 +12910,35 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1144), 272, 92);
             Add_Goto (Table.States (1144), 293, 97);
             Add_Goto (Table.States (1144), 314, 1210);
-            Set_Minimal_Action (Table.States (1144).Minimal_Complete_Actions, 
((Shift, 105, 33), (Reduce, 241, 0)));
+            Table.States (1144).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (1145).Productions := WisiToken.To_Vector ((1 => 
(147, 3)));
             Add_Action (Table.States (1145), (74, 82, 96), (147, 3), 1, null, 
null);
-            Set_Minimal_Action (Table.States (1145).Minimal_Complete_Actions, 
(1 => (Reduce, 147, 1)));
+            Table.States (1145).Minimal_Complete_Action := (Reduce, 147, 1);
             Table.States (1146).Productions := WisiToken.To_Vector (((146, 0), 
(146, 1)));
             Add_Action (Table.States (1146), 74, 337);
             Add_Action (Table.States (1146), 82, 1211);
             Add_Action (Table.States (1146), 96, Reduce, (122, 1), 0, null, 
null);
             Add_Error (Table.States (1146));
             Add_Goto (Table.States (1146), 122, 1212);
-            Set_Minimal_Action (Table.States (1146).Minimal_Complete_Actions, 
((Shift, 82, 1211), (Reduce, 122, 0)));
+            Table.States (1146).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (1147).Productions := WisiToken.To_Vector ((1 => 
(147, 1)));
             Add_Action (Table.States (1147), (74, 82, 96), (147, 1), 1, null, 
null);
-            Set_Minimal_Action (Table.States (1147).Minimal_Complete_Actions, 
(1 => (Reduce, 147, 1)));
+            Table.States (1147).Minimal_Complete_Action := (Reduce, 147, 1);
             Table.States (1148).Productions := WisiToken.To_Vector (((227, 0), 
(228, 3)));
             Add_Action (Table.States (1148), 10, 1006);
             Add_Action (Table.States (1148), 74, Reduce, (228, 3), 4, null, 
null);
             Add_Action (Table.States (1148), 96, Reduce, (228, 3), 4, null, 
null);
             Add_Error (Table.States (1148));
-            Set_Minimal_Action (Table.States (1148).Minimal_Complete_Actions, 
(1 => (Reduce, 228, 4)));
+            Table.States (1148).Minimal_Complete_Action := (Reduce, 228, 4);
             Table.States (1149).Productions := WisiToken.To_Vector (((227, 0), 
(228, 1)));
             Add_Action (Table.States (1149), 10, 1006);
             Add_Action (Table.States (1149), 74, Reduce, (228, 1), 4, null, 
null);
             Add_Action (Table.States (1149), 96, Reduce, (228, 1), 4, null, 
null);
             Add_Error (Table.States (1149));
-            Set_Minimal_Action (Table.States (1149).Minimal_Complete_Actions, 
(1 => (Reduce, 228, 4)));
+            Table.States (1149).Minimal_Complete_Action := (Reduce, 228, 4);
             Table.States (1150).Productions := WisiToken.To_Vector ((1 => 
(181, 0)));
             Add_Action (Table.States (1150), (77, 83), (181, 0), 3, null, 
null);
-            Set_Minimal_Action (Table.States (1150).Minimal_Complete_Actions, 
(1 => (Reduce, 181, 3)));
+            Table.States (1150).Minimal_Complete_Action := (Reduce, 181, 3);
             Table.States (1151).Productions := WisiToken.To_Vector ((1 => 
(119, 0)));
             Add_Action (Table.States (1151), 104, 119);
             Add_Action (Table.States (1151), 105, 33);
@@ -13040,78 +12949,78 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1151), 239, 841);
             Add_Goto (Table.States (1151), 272, 92);
             Add_Goto (Table.States (1151), 293, 97);
-            Set_Minimal_Action (Table.States (1151).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (1151).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (1152).Productions := WisiToken.To_Vector ((1 => 
(259, 0)));
             Add_Action (Table.States (1152), 74, 1214);
             Add_Error (Table.States (1152));
-            Set_Minimal_Action (Table.States (1152).Minimal_Complete_Actions, 
(1 => (Shift, 74, 1214)));
+            Table.States (1152).Minimal_Complete_Action := (Shift, 74, 1214);
             Table.States (1153).Productions := WisiToken.To_Vector ((1 => 
(162, 0)));
             Add_Action (Table.States (1153), 74, 1215);
             Add_Error (Table.States (1153));
-            Set_Minimal_Action (Table.States (1153).Minimal_Complete_Actions, 
(1 => (Shift, 74, 1215)));
+            Table.States (1153).Minimal_Complete_Action := (Shift, 74, 1215);
             Table.States (1154).Productions := WisiToken.To_Vector ((1 => 
(156, 0)));
             Add_Action (Table.States (1154), (74, 96), (156, 0), 1, null, 
null);
-            Set_Minimal_Action (Table.States (1154).Minimal_Complete_Actions, 
(1 => (Reduce, 156, 1)));
+            Table.States (1154).Minimal_Complete_Action := (Reduce, 156, 1);
             Table.States (1155).Productions := WisiToken.To_Vector ((1 => 
(162, 1)));
             Add_Action (Table.States (1155), (74, 96), (162, 1), 4, 
derived_type_definition_1'Access, null);
-            Set_Minimal_Action (Table.States (1155).Minimal_Complete_Actions, 
(1 => (Reduce, 162, 4)));
+            Table.States (1155).Minimal_Complete_Action := (Reduce, 162, 4);
             Table.States (1156).Productions := WisiToken.To_Vector ((1 => 
(260, 0)));
             Add_Action (Table.States (1156), (4, 5, 13, 15, 17, 18, 24, 25, 
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (260, 0), 8,
             private_type_declaration_0'Access, null);
-            Set_Minimal_Action (Table.States (1156).Minimal_Complete_Actions, 
(1 => (Reduce, 260, 8)));
+            Table.States (1156).Minimal_Complete_Action := (Reduce, 260, 8);
             Table.States (1157).Productions := WisiToken.To_Vector ((1 => 
(245, 0)));
             Add_Action (Table.States (1157), (4, 5, 13, 15, 17, 18, 24, 25, 
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (245, 0), 8,
             object_renaming_declaration_0'Access, null);
-            Set_Minimal_Action (Table.States (1157).Minimal_Complete_Actions, 
(1 => (Reduce, 245, 8)));
+            Table.States (1157).Minimal_Complete_Action := (Reduce, 245, 8);
             Table.States (1158).Productions := WisiToken.To_Vector (((185, 0), 
(187, 0)));
             Add_Action (Table.States (1158), 79, 1065);
             Add_Action (Table.States (1158), 87, 1216);
             Add_Error (Table.States (1158));
-            Set_Minimal_Action (Table.States (1158).Minimal_Complete_Actions, 
(1 => (Shift, 87, 1216)));
+            Table.States (1158).Minimal_Complete_Action := (Shift, 87, 1216);
             Table.States (1159).Productions := WisiToken.To_Vector ((1 => 
(185, 0)));
             Add_Action (Table.States (1159), (79, 87), (185, 0), 3, null, 
null);
-            Set_Minimal_Action (Table.States (1159).Minimal_Complete_Actions, 
(1 => (Reduce, 185, 3)));
+            Table.States (1159).Minimal_Complete_Action := (Reduce, 185, 3);
             Table.States (1160).Productions := WisiToken.To_Vector ((1 => 
(187, 1)));
             Add_Action (Table.States (1160), (24, 72), (187, 1), 4, 
exception_handler_1'Access, null);
-            Set_Minimal_Action (Table.States (1160).Minimal_Complete_Actions, 
(1 => (Reduce, 187, 4)));
+            Table.States (1160).Minimal_Complete_Action := (Reduce, 187, 4);
             Table.States (1161).Productions := WisiToken.To_Vector ((1 => 
(133, 0)));
             Add_Action (Table.States (1161), (4, 5, 13, 15, 17, 18, 22, 23, 
24, 25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (133, 0), 8, block_statement_0'Access, 
block_statement_0_check'Access);
-            Set_Minimal_Action (Table.States (1161).Minimal_Complete_Actions, 
(1 => (Reduce, 133, 8)));
+            Table.States (1161).Minimal_Complete_Action := (Reduce, 133, 8);
             Table.States (1162).Productions := WisiToken.To_Vector ((1 => 
(232, 0)));
             Add_Action (Table.States (1162), (4, 5, 13, 15, 17, 18, 22, 23, 
24, 25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (232, 0), 8, loop_statement_0'Access, 
loop_statement_0_check'Access);
-            Set_Minimal_Action (Table.States (1162).Minimal_Complete_Actions, 
(1 => (Reduce, 232, 8)));
+            Table.States (1162).Minimal_Complete_Action := (Reduce, 232, 8);
             Table.States (1163).Productions := WisiToken.To_Vector ((1 => 
(244, 1)));
             Add_Action (Table.States (1163), 96, 1217);
             Add_Error (Table.States (1163));
-            Set_Minimal_Action (Table.States (1163).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1217)));
+            Table.States (1163).Minimal_Complete_Action := (Shift, 96, 1217);
             Table.States (1164).Productions := WisiToken.To_Vector ((1 => 
(244, 2)));
             Add_Action (Table.States (1164), 96, 1218);
             Add_Error (Table.States (1164));
-            Set_Minimal_Action (Table.States (1164).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1218)));
+            Table.States (1164).Minimal_Complete_Action := (Shift, 96, 1218);
             Table.States (1165).Productions := WisiToken.To_Vector ((1 => 
(244, 0)));
             Add_Action (Table.States (1165), 96, 1219);
             Add_Error (Table.States (1165));
-            Set_Minimal_Action (Table.States (1165).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1219)));
+            Table.States (1165).Minimal_Complete_Action := (Shift, 96, 1219);
             Table.States (1166).Productions := WisiToken.To_Vector ((1 => 
(179, 0)));
             Add_Action (Table.States (1166), 96, 1220);
             Add_Error (Table.States (1166));
-            Set_Minimal_Action (Table.States (1166).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1220)));
+            Table.States (1166).Minimal_Complete_Action := (Shift, 96, 1220);
             Table.States (1167).Productions := WisiToken.To_Vector ((1 => 
(213, 2)));
             Add_Action (Table.States (1167), (4, 5, 13, 15, 17, 18, 24, 25, 
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (213, 2), 8,
             generic_instantiation_2'Access, null);
-            Set_Minimal_Action (Table.States (1167).Minimal_Complete_Actions, 
(1 => (Reduce, 213, 8)));
+            Table.States (1167).Minimal_Complete_Action := (Reduce, 213, 8);
             Table.States (1168).Productions := WisiToken.To_Vector ((1 => 
(213, 1)));
             Add_Action (Table.States (1168), (4, 5, 13, 15, 17, 18, 24, 25, 
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (213, 1), 8,
             generic_instantiation_1'Access, null);
-            Set_Minimal_Action (Table.States (1168).Minimal_Complete_Actions, 
(1 => (Reduce, 213, 8)));
+            Table.States (1168).Minimal_Complete_Action := (Reduce, 213, 8);
             Table.States (1169).Productions := WisiToken.To_Vector ((1 => 
(307, 0)));
             Add_Action (Table.States (1169), 96, Reduce, (240, 1), 0, null, 
null);
             Add_Action (Table.States (1169), 104, 119);
@@ -13123,15 +13032,15 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1169), 240, 1221);
             Add_Goto (Table.States (1169), 272, 92);
             Add_Goto (Table.States (1169), 293, 97);
-            Set_Minimal_Action (Table.States (1169).Minimal_Complete_Actions, 
(1 => (Reduce, 240, 0)));
+            Table.States (1169).Minimal_Complete_Action := (Reduce, 240, 0);
             Table.States (1170).Productions := WisiToken.To_Vector ((1 => 
(113, 0)));
             Add_Action (Table.States (1170), (4, 5, 13, 15, 17, 18, 22, 23, 
24, 25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (113, 0), 9, accept_statement_0'Access, 
accept_statement_0_check'Access);
-            Set_Minimal_Action (Table.States (1170).Minimal_Complete_Actions, 
(1 => (Reduce, 113, 9)));
+            Table.States (1170).Minimal_Complete_Action := (Reduce, 113, 9);
             Table.States (1171).Productions := WisiToken.To_Vector ((1 => 
(137, 0)));
             Add_Action (Table.States (1171), (77, 83), (137, 0), 4, 
case_expression_alternative_0'Access, null);
-            Set_Minimal_Action (Table.States (1171).Minimal_Complete_Actions, 
(1 => (Reduce, 137, 4)));
+            Table.States (1171).Minimal_Complete_Action := (Reduce, 137, 4);
             Table.States (1172).Productions := WisiToken.To_Vector ((1 => 
(172, 0)));
             Add_Action (Table.States (1172), 3, 121);
             Add_Action (Table.States (1172), 22, Reduce, (192, 1), 0, null, 
null);
@@ -13169,10 +13078,10 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1172), 320, 144);
             Add_Goto (Table.States (1172), 321, 145);
             Add_Goto (Table.States (1172), 330, 146);
-            Set_Minimal_Action (Table.States (1172).Minimal_Complete_Actions, 
(1 => (Reduce, 192, 0)));
+            Table.States (1172).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (1173).Productions := WisiToken.To_Vector ((1 => 
(221, 0)));
             Add_Action (Table.States (1173), (1 =>  77), (221, 0), 7, 
if_expression_0'Access, null);
-            Set_Minimal_Action (Table.States (1173).Minimal_Complete_Actions, 
(1 => (Reduce, 221, 7)));
+            Table.States (1173).Minimal_Complete_Action := (Reduce, 221, 7);
             Table.States (1174).Productions := WisiToken.To_Vector ((1 => 
(144, 0)));
             Add_Action (Table.States (1174), 3, 121);
             Add_Action (Table.States (1174), 39, 122);
@@ -13197,15 +13106,15 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1174), 320, 144);
             Add_Goto (Table.States (1174), 321, 145);
             Add_Goto (Table.States (1174), 330, 146);
-            Set_Minimal_Action (Table.States (1174).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (1174).Minimal_Complete_Action := (Shift, 103, 129);
             Table.States (1175).Productions := WisiToken.To_Vector ((1 => 
(281, 0)));
             Add_Action (Table.States (1175), (4, 5, 13, 15, 17, 18, 24, 25, 
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 72, 73, 
74, 93, 104, 105, 106, 107), (281, 0), 9,
             record_representation_clause_0'Access, null);
-            Set_Minimal_Action (Table.States (1175).Minimal_Complete_Actions, 
(1 => (Reduce, 281, 9)));
+            Table.States (1175).Minimal_Complete_Action := (Reduce, 281, 9);
             Table.States (1176).Productions := WisiToken.To_Vector ((1 => 
(254, 2)));
             Add_Action (Table.States (1176), (77, 96), (254, 2), 6, 
parameter_specification_2'Access, null);
-            Set_Minimal_Action (Table.States (1176).Minimal_Complete_Actions, 
(1 => (Reduce, 254, 6)));
+            Table.States (1176).Minimal_Complete_Action := (Reduce, 254, 6);
             Table.States (1177).Productions := WisiToken.To_Vector (((128, 0), 
(239, 0), (239, 1), (254, 0), (254, 1),
             (272, 0), (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (1177), 76, 235);
@@ -13218,41 +13127,40 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (1177));
             Add_Goto (Table.States (1177), 115, 241);
             Add_Goto (Table.States (1177), 322, 242);
-            Set_Minimal_Action (Table.States (1177).Minimal_Complete_Actions, 
((Shift, 84, 237), (Shift, 102, 240),
-            (Reduce, 254, 6)));
+            Table.States (1177).Minimal_Complete_Action := (Reduce, 254, 6);
             Table.States (1178).Productions := WisiToken.To_Vector ((1 => 
(202, 6)));
             Add_Action (Table.States (1178), (74, 96), (202, 6), 4, null, 
null);
-            Set_Minimal_Action (Table.States (1178).Minimal_Complete_Actions, 
(1 => (Reduce, 202, 4)));
+            Table.States (1178).Minimal_Complete_Action := (Reduce, 202, 4);
             Table.States (1179).Productions := WisiToken.To_Vector (((203, 0), 
(203, 1)));
             Add_Action (Table.States (1179), 74, 1225, (203, 1), 4, 
formal_derived_type_definition_1'Access, null);
             Add_Action (Table.States (1179), 96, Reduce, (203, 1), 4, 
formal_derived_type_definition_1'Access, null);
             Add_Error (Table.States (1179));
-            Set_Minimal_Action (Table.States (1179).Minimal_Complete_Actions, 
(1 => (Reduce, 203, 4)));
+            Table.States (1179).Minimal_Complete_Action := (Reduce, 203, 4);
             Table.States (1180).Productions := WisiToken.To_Vector ((1 => 
(205, 0)));
             Add_Action (Table.States (1180), 77, 1226);
             Add_Error (Table.States (1180));
-            Set_Minimal_Action (Table.States (1180).Minimal_Complete_Actions, 
(1 => (Shift, 77, 1226)));
+            Table.States (1180).Minimal_Complete_Action := (Shift, 77, 1226);
             Table.States (1181).Productions := WisiToken.To_Vector ((1 => 
(204, 0)));
             Add_Action (Table.States (1181), 96, 1227);
             Add_Error (Table.States (1181));
-            Set_Minimal_Action (Table.States (1181).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1227)));
+            Table.States (1181).Minimal_Complete_Action := (Shift, 96, 1227);
             Table.States (1182).Productions := WisiToken.To_Vector ((1 => 
(198, 1)));
             Add_Action (Table.States (1182), (29, 47, 48, 50, 69, 71, 74, 
104), (198, 1), 8,
             formal_object_declaration_1'Access, null);
-            Set_Minimal_Action (Table.States (1182).Minimal_Complete_Actions, 
(1 => (Reduce, 198, 8)));
+            Table.States (1182).Minimal_Complete_Action := (Reduce, 198, 8);
             Table.States (1183).Productions := WisiToken.To_Vector ((1 => 
(198, 0)));
             Add_Action (Table.States (1183), 96, 1228);
             Add_Error (Table.States (1183));
-            Set_Minimal_Action (Table.States (1183).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1228)));
+            Table.States (1183).Minimal_Complete_Action := (Shift, 96, 1228);
             Table.States (1184).Productions := WisiToken.To_Vector ((1 => 
(222, 1)));
             Add_Action (Table.States (1184), (4, 5, 13, 15, 17, 18, 22, 23, 
24, 25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (222, 1), 9, if_statement_1'Access, null);
-            Set_Minimal_Action (Table.States (1184).Minimal_Complete_Actions, 
(1 => (Reduce, 222, 9)));
+            Table.States (1184).Minimal_Complete_Action := (Reduce, 222, 9);
             Table.States (1185).Productions := WisiToken.To_Vector ((1 => 
(222, 0)));
             Add_Action (Table.States (1185), 96, 1229);
             Add_Error (Table.States (1185));
-            Set_Minimal_Action (Table.States (1185).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1229)));
+            Table.States (1185).Minimal_Complete_Action := (Shift, 96, 1229);
             Table.States (1186).Productions := WisiToken.To_Vector ((1 => 
(247, 0)));
             Add_Action (Table.States (1186), 96, Reduce, (240, 1), 0, null, 
null);
             Add_Action (Table.States (1186), 104, 119);
@@ -13264,20 +13172,20 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1186), 240, 1230);
             Add_Goto (Table.States (1186), 272, 92);
             Add_Goto (Table.States (1186), 293, 97);
-            Set_Minimal_Action (Table.States (1186).Minimal_Complete_Actions, 
(1 => (Reduce, 240, 0)));
+            Table.States (1186).Minimal_Complete_Action := (Reduce, 240, 0);
             Table.States (1187).Productions := WisiToken.To_Vector ((1 => 
(247, 1)));
             Add_Action (Table.States (1187), (4, 5, 13, 15, 17, 18, 24, 25, 
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (247, 1), 9,
             package_body_1'Access, package_body_1_check'Access);
-            Set_Minimal_Action (Table.States (1187).Minimal_Complete_Actions, 
(1 => (Reduce, 247, 9)));
+            Table.States (1187).Minimal_Complete_Action := (Reduce, 247, 9);
             Table.States (1188).Productions := WisiToken.To_Vector ((1 => 
(251, 0)));
             Add_Action (Table.States (1188), (1 =>  96), (251, 0), 9, 
package_specification_0'Access,
             package_specification_0_check'Access);
-            Set_Minimal_Action (Table.States (1188).Minimal_Complete_Actions, 
(1 => (Reduce, 251, 9)));
+            Table.States (1188).Minimal_Complete_Action := (Reduce, 251, 9);
             Table.States (1189).Productions := WisiToken.To_Vector ((1 => 
(177, 0)));
             Add_Action (Table.States (1189), 104, 1231);
             Add_Error (Table.States (1189));
-            Set_Minimal_Action (Table.States (1189).Minimal_Complete_Actions, 
(1 => (Shift, 104, 1231)));
+            Table.States (1189).Minimal_Complete_Action := (Shift, 104, 1231);
             Table.States (1190).Productions := WisiToken.To_Vector ((1 => 
(176, 0)));
             Add_Action (Table.States (1190), 3, 121);
             Add_Action (Table.States (1190), 35, Reduce, (192, 1), 0, null, 
null);
@@ -13313,12 +13221,12 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1190), 320, 144);
             Add_Goto (Table.States (1190), 321, 145);
             Add_Goto (Table.States (1190), 330, 146);
-            Set_Minimal_Action (Table.States (1190).Minimal_Complete_Actions, 
(1 => (Reduce, 192, 0)));
+            Table.States (1190).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (1191).Productions := WisiToken.To_Vector ((1 => 
(264, 0)));
             Add_Action (Table.States (1191), (4, 5, 13, 15, 17, 18, 24, 25, 
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (264, 0), 9,
             protected_body_0'Access, protected_body_0_check'Access);
-            Set_Minimal_Action (Table.States (1191).Minimal_Complete_Actions, 
(1 => (Reduce, 264, 9)));
+            Table.States (1191).Minimal_Complete_Action := (Reduce, 264, 9);
             Table.States (1192).Productions := WisiToken.To_Vector ((1 => 
(271, 0)));
             Add_Action (Table.States (1192), 24, Reduce, (159, 1), 0, null, 
null);
             Add_Action (Table.States (1192), 25, Reduce, (246, 2), 0, null, 
null);
@@ -13392,22 +13300,22 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1192), 319, 113);
             Add_Goto (Table.States (1192), 325, 115);
             Add_Goto (Table.States (1192), 331, 116);
-            Set_Minimal_Action (Table.States (1192).Minimal_Complete_Actions, 
(1 => (Reduce, 159, 0)));
+            Table.States (1192).Minimal_Complete_Action := (Reduce, 159, 0);
             Table.States (1193).Productions := WisiToken.To_Vector ((1 => 
(304, 0)));
             Add_Action (Table.States (1193), (4, 5, 13, 15, 17, 18, 24, 25, 
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (304, 0), 9,
             single_protected_declaration_0'Access, 
single_protected_declaration_0_check'Access);
-            Set_Minimal_Action (Table.States (1193).Minimal_Complete_Actions, 
(1 => (Reduce, 304, 9)));
+            Table.States (1193).Minimal_Complete_Action := (Reduce, 304, 9);
             Table.States (1194).Productions := WisiToken.To_Vector ((1 => 
(266, 0)));
             Add_Action (Table.States (1194), (1 =>  96), (266, 0), 5, 
protected_definition_0'Access,
             protected_definition_0_check'Access);
-            Set_Minimal_Action (Table.States (1194).Minimal_Complete_Actions, 
(1 => (Reduce, 266, 5)));
+            Table.States (1194).Minimal_Complete_Action := (Reduce, 266, 5);
             Table.States (1195).Productions := WisiToken.To_Vector ((1 => 
(316, 0)));
             Add_Action (Table.States (1195), 96, Reduce, (220, 1), 0, null, 
null);
             Add_Action (Table.States (1195), 104, 149);
             Add_Error (Table.States (1195));
             Add_Goto (Table.States (1195), 220, 1234);
-            Set_Minimal_Action (Table.States (1195).Minimal_Complete_Actions, 
(1 => (Reduce, 220, 0)));
+            Table.States (1195).Minimal_Complete_Action := (Reduce, 220, 0);
             Table.States (1196).Productions := WisiToken.To_Vector ((1 => 
(319, 0)));
             Add_Action (Table.States (1196), 24, Reduce, (159, 1), 0, null, 
null);
             Add_Action (Table.States (1196), 25, Reduce, (246, 2), 0, null, 
null);
@@ -13481,17 +13389,17 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1196), 319, 113);
             Add_Goto (Table.States (1196), 325, 115);
             Add_Goto (Table.States (1196), 331, 116);
-            Set_Minimal_Action (Table.States (1196).Minimal_Complete_Actions, 
(1 => (Reduce, 318, 0)));
+            Table.States (1196).Minimal_Complete_Action := (Reduce, 318, 0);
             Table.States (1197).Productions := WisiToken.To_Vector ((1 => 
(319, 1)));
             Add_Action (Table.States (1197), 96, 1236);
             Add_Error (Table.States (1197));
-            Set_Minimal_Action (Table.States (1197).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1236)));
+            Table.States (1197).Minimal_Complete_Action := (Shift, 96, 1236);
             Table.States (1198).Productions := WisiToken.To_Vector ((1 => 
(305, 0)));
             Add_Action (Table.States (1198), 96, Reduce, (220, 1), 0, null, 
null);
             Add_Action (Table.States (1198), 104, 149);
             Add_Error (Table.States (1198));
             Add_Goto (Table.States (1198), 220, 1237);
-            Set_Minimal_Action (Table.States (1198).Minimal_Complete_Actions, 
(1 => (Reduce, 220, 0)));
+            Table.States (1198).Minimal_Complete_Action := (Reduce, 220, 0);
             Table.States (1199).Productions := WisiToken.To_Vector ((1 => 
(120, 1)));
             Add_Action (Table.States (1199), 7, Reduce, (241, 1), 0, null, 
null);
             Add_Action (Table.States (1199), 8, 1144);
@@ -13508,7 +13416,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1199), 272, 92);
             Add_Goto (Table.States (1199), 293, 97);
             Add_Goto (Table.States (1199), 314, 1147);
-            Set_Minimal_Action (Table.States (1199).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (1199).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (1200).Productions := WisiToken.To_Vector ((1 => 
(120, 0)));
             Add_Action (Table.States (1200), 7, Reduce, (241, 1), 0, null, 
null);
             Add_Action (Table.States (1200), 8, 1144);
@@ -13525,10 +13433,10 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1200), 272, 92);
             Add_Goto (Table.States (1200), 293, 97);
             Add_Goto (Table.States (1200), 314, 1147);
-            Set_Minimal_Action (Table.States (1200).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (1200).Minimal_Complete_Action := (Shift, 104, 119);
             Table.States (1201).Productions := WisiToken.To_Vector ((1 => 
(226, 0)));
             Add_Action (Table.States (1201), (77, 83), (226, 0), 3, null, 
null);
-            Set_Minimal_Action (Table.States (1201).Minimal_Complete_Actions, 
(1 => (Reduce, 226, 3)));
+            Table.States (1201).Minimal_Complete_Action := (Reduce, 226, 3);
             Table.States (1202).Productions := WisiToken.To_Vector (((128, 0), 
(225, 0), (239, 0), (239, 1), (272, 0),
             (293, 0), (293, 1), (293, 2), (293, 3)));
             Add_Action (Table.States (1202), 53, 1240);
@@ -13539,14 +13447,13 @@ package body Ada_Process_LALR_Main is
             Add_Error (Table.States (1202));
             Add_Goto (Table.States (1202), 115, 241);
             Add_Goto (Table.States (1202), 322, 242);
-            Set_Minimal_Action (Table.States (1202).Minimal_Complete_Actions, 
((Shift, 53, 1240), (Shift, 84, 237),
-            (Shift, 102, 240)));
+            Table.States (1202).Minimal_Complete_Action := (Shift, 53, 1240);
             Table.States (1203).Productions := WisiToken.To_Vector ((1 => 
(225, 0)));
             Add_Action (Table.States (1203), (77, 83), (225, 0), 3, null, 
null);
-            Set_Minimal_Action (Table.States (1203).Minimal_Complete_Actions, 
(1 => (Reduce, 225, 3)));
+            Table.States (1203).Minimal_Complete_Action := (Reduce, 225, 3);
             Table.States (1204).Productions := WisiToken.To_Vector ((1 => 
(326, 4)));
             Add_Action (Table.States (1204), (74, 96), (326, 4), 5, null, 
null);
-            Set_Minimal_Action (Table.States (1204).Minimal_Complete_Actions, 
(1 => (Reduce, 326, 5)));
+            Table.States (1204).Minimal_Complete_Action := (Reduce, 326, 5);
             Table.States (1205).Productions := WisiToken.To_Vector ((1 => 
(279, 0)));
             Add_Action (Table.States (1205), 3, 121);
             Add_Action (Table.States (1205), 39, 122);
@@ -13571,7 +13478,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1205), 320, 144);
             Add_Goto (Table.States (1205), 321, 145);
             Add_Goto (Table.States (1205), 330, 146);
-            Set_Minimal_Action (Table.States (1205).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (1205).Minimal_Complete_Action := (Shift, 103, 129);
             Table.States (1206).Productions := WisiToken.To_Vector ((1 => 
(329, 0)));
             Add_Action (Table.States (1206), 3, 121);
             Add_Action (Table.States (1206), 39, 122);
@@ -13611,25 +13518,22 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1206), 320, 144);
             Add_Goto (Table.States (1206), 321, 145);
             Add_Goto (Table.States (1206), 330, 146);
-            Set_Minimal_Action (Table.States (1206).Minimal_Complete_Actions, 
(1 => (Reduce, 166, 0)));
+            Table.States (1206).Minimal_Complete_Action := (Reduce, 166, 0);
             Table.States (1207).Productions := WisiToken.To_Vector (((327, 0), 
(328, 0)));
             Add_Action (Table.States (1207), 24, 1243);
             Add_Action (Table.States (1207), 72, 1206);
             Add_Error (Table.States (1207));
             Add_Goto (Table.States (1207), 329, 1244);
-            Set_Minimal_Action (Table.States (1207).Minimal_Complete_Actions, 
(1 => (Shift, 24, 1243)));
+            Table.States (1207).Minimal_Complete_Action := (Shift, 24, 1243);
             Table.States (1208).Productions := WisiToken.To_Vector ((1 => 
(328, 1)));
             Add_Action (Table.States (1208), (24, 72), (328, 1), 1, null, 
null);
-            Set_Minimal_Action (Table.States (1208).Minimal_Complete_Actions, 
(1 => (Reduce, 328, 1)));
+            Table.States (1208).Minimal_Complete_Action := (Reduce, 328, 1);
             Table.States (1209).Productions := WisiToken.To_Vector ((1 => 
(147, 2)));
             Add_Action (Table.States (1209), (74, 82, 96), (147, 2), 2, null, 
null);
-            Set_Minimal_Action (Table.States (1209).Minimal_Complete_Actions, 
(1 => (Reduce, 147, 2)));
-         end Subr_19;
-         procedure Subr_20
-         is begin
+            Table.States (1209).Minimal_Complete_Action := (Reduce, 147, 2);
             Table.States (1210).Productions := WisiToken.To_Vector ((1 => 
(147, 0)));
             Add_Action (Table.States (1210), (74, 82, 96), (147, 0), 2, null, 
null);
-            Set_Minimal_Action (Table.States (1210).Minimal_Complete_Actions, 
(1 => (Reduce, 147, 2)));
+            Table.States (1210).Minimal_Complete_Action := (Reduce, 147, 2);
             Table.States (1211).Productions := WisiToken.To_Vector ((1 => 
(146, 0)));
             Add_Action (Table.States (1211), 3, 121);
             Add_Action (Table.States (1211), 39, 122);
@@ -13666,27 +13570,27 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1211), 320, 144);
             Add_Goto (Table.States (1211), 321, 145);
             Add_Goto (Table.States (1211), 330, 146);
-            Set_Minimal_Action (Table.States (1211).Minimal_Complete_Actions, 
(1 => (Reduce, 192, 0)));
+            Table.States (1211).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (1212).Productions := WisiToken.To_Vector ((1 => 
(146, 1)));
             Add_Action (Table.States (1212), 96, 1246);
             Add_Error (Table.States (1212));
-            Set_Minimal_Action (Table.States (1212).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1246)));
+            Table.States (1212).Minimal_Complete_Action := (Shift, 96, 1246);
             Table.States (1213).Productions := WisiToken.To_Vector (((119, 0), 
(227, 0)));
             Add_Action (Table.States (1213), 10, 1006);
             Add_Action (Table.States (1213), 74, Reduce, (119, 0), 2, null, 
null);
             Add_Action (Table.States (1213), 96, Reduce, (119, 0), 2, null, 
null);
             Add_Error (Table.States (1213));
-            Set_Minimal_Action (Table.States (1213).Minimal_Complete_Actions, 
(1 => (Reduce, 119, 2)));
+            Table.States (1213).Minimal_Complete_Action := (Reduce, 119, 2);
             Table.States (1214).Productions := WisiToken.To_Vector ((1 => 
(259, 0)));
             Add_Action (Table.States (1214), 49, 1247);
             Add_Error (Table.States (1214));
-            Set_Minimal_Action (Table.States (1214).Minimal_Complete_Actions, 
(1 => (Shift, 49, 1247)));
+            Table.States (1214).Minimal_Complete_Action := (Shift, 49, 1247);
             Table.States (1215).Productions := WisiToken.To_Vector ((1 => 
(162, 0)));
             Add_Action (Table.States (1215), 41, 705);
             Add_Action (Table.States (1215), 54, 708);
             Add_Error (Table.States (1215));
             Add_Goto (Table.States (1215), 280, 1248);
-            Set_Minimal_Action (Table.States (1215).Minimal_Complete_Actions, 
(1 => (Shift, 41, 705)));
+            Table.States (1215).Minimal_Complete_Action := (Shift, 41, 705);
             Table.States (1216).Productions := WisiToken.To_Vector ((1 => 
(187, 0)));
             Add_Action (Table.States (1216), 4, 1);
             Add_Action (Table.States (1216), 5, 2);
@@ -13744,38 +13648,41 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1216), 303, 101);
             Add_Goto (Table.States (1216), 306, 363);
             Add_Goto (Table.States (1216), 323, 114);
-            Set_Minimal_Action (Table.States (1216).Minimal_Complete_Actions, 
(1 => (Reduce, 300, 0)));
+            Table.States (1216).Minimal_Complete_Action := (Reduce, 300, 0);
+         end Subr_19;
+         procedure Subr_20
+         is begin
             Table.States (1217).Productions := WisiToken.To_Vector ((1 => 
(244, 1)));
             Add_Action (Table.States (1217), (4, 5, 13, 15, 17, 18, 24, 25, 
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (244, 1), 9,
             object_declaration_1'Access, null);
-            Set_Minimal_Action (Table.States (1217).Minimal_Complete_Actions, 
(1 => (Reduce, 244, 9)));
+            Table.States (1217).Minimal_Complete_Action := (Reduce, 244, 9);
             Table.States (1218).Productions := WisiToken.To_Vector ((1 => 
(244, 2)));
             Add_Action (Table.States (1218), (4, 5, 13, 15, 17, 18, 24, 25, 
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (244, 2), 9,
             object_declaration_2'Access, null);
-            Set_Minimal_Action (Table.States (1218).Minimal_Complete_Actions, 
(1 => (Reduce, 244, 9)));
+            Table.States (1218).Minimal_Complete_Action := (Reduce, 244, 9);
             Table.States (1219).Productions := WisiToken.To_Vector ((1 => 
(244, 0)));
             Add_Action (Table.States (1219), (4, 5, 13, 15, 17, 18, 24, 25, 
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (244, 0), 9,
             object_declaration_0'Access, null);
-            Set_Minimal_Action (Table.States (1219).Minimal_Complete_Actions, 
(1 => (Reduce, 244, 9)));
+            Table.States (1219).Minimal_Complete_Action := (Reduce, 244, 9);
             Table.States (1220).Productions := WisiToken.To_Vector ((1 => 
(179, 0)));
             Add_Action (Table.States (1220), (4, 5, 13, 15, 17, 18, 24, 25, 
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (179, 0), 9,
             entry_declaration_0'Access, null);
-            Set_Minimal_Action (Table.States (1220).Minimal_Complete_Actions, 
(1 => (Reduce, 179, 9)));
+            Table.States (1220).Minimal_Complete_Action := (Reduce, 179, 9);
             Table.States (1221).Productions := WisiToken.To_Vector ((1 => 
(307, 0)));
             Add_Action (Table.States (1221), 96, 1250);
             Add_Error (Table.States (1221));
-            Set_Minimal_Action (Table.States (1221).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1250)));
+            Table.States (1221).Minimal_Complete_Action := (Shift, 96, 1250);
             Table.States (1222).Productions := WisiToken.To_Vector ((1 => 
(172, 0)));
             Add_Action (Table.States (1222), (22, 23, 77), (172, 0), 4, 
elsif_expression_item_0'Access, null);
-            Set_Minimal_Action (Table.States (1222).Minimal_Complete_Actions, 
(1 => (Reduce, 172, 4)));
+            Table.States (1222).Minimal_Complete_Action := (Reduce, 172, 4);
             Table.States (1223).Productions := WisiToken.To_Vector ((1 => 
(144, 0)));
             Add_Action (Table.States (1223), 85, 1251);
             Add_Error (Table.States (1223));
-            Set_Minimal_Action (Table.States (1223).Minimal_Complete_Actions, 
(1 => (Shift, 85, 1251)));
+            Table.States (1223).Minimal_Complete_Action := (Shift, 85, 1251);
             Table.States (1224).Productions := WisiToken.To_Vector ((1 => 
(254, 0)));
             Add_Action (Table.States (1224), 3, 121);
             Add_Action (Table.States (1224), 39, 122);
@@ -13812,111 +13719,111 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1224), 320, 144);
             Add_Goto (Table.States (1224), 321, 145);
             Add_Goto (Table.States (1224), 330, 146);
-            Set_Minimal_Action (Table.States (1224).Minimal_Complete_Actions, 
(1 => (Reduce, 192, 0)));
+            Table.States (1224).Minimal_Complete_Action := (Reduce, 192, 0);
             Table.States (1225).Productions := WisiToken.To_Vector ((1 => 
(203, 0)));
             Add_Action (Table.States (1225), 49, 1253);
             Add_Error (Table.States (1225));
-            Set_Minimal_Action (Table.States (1225).Minimal_Complete_Actions, 
(1 => (Shift, 49, 1253)));
+            Table.States (1225).Minimal_Complete_Action := (Shift, 49, 1253);
             Table.States (1226).Productions := WisiToken.To_Vector ((1 => 
(205, 0)));
             Add_Action (Table.States (1226), (74, 96), (205, 0), 3, null, 
null);
-            Set_Minimal_Action (Table.States (1226).Minimal_Complete_Actions, 
(1 => (Reduce, 205, 3)));
+            Table.States (1226).Minimal_Complete_Action := (Reduce, 205, 3);
             Table.States (1227).Productions := WisiToken.To_Vector ((1 => 
(204, 0)));
             Add_Action (Table.States (1227), (29, 47, 48, 50, 69, 71, 74, 
104), (204, 0), 9,
             formal_package_declaration_0'Access, null);
-            Set_Minimal_Action (Table.States (1227).Minimal_Complete_Actions, 
(1 => (Reduce, 204, 9)));
+            Table.States (1227).Minimal_Complete_Action := (Reduce, 204, 9);
             Table.States (1228).Productions := WisiToken.To_Vector ((1 => 
(198, 0)));
             Add_Action (Table.States (1228), (29, 47, 48, 50, 69, 71, 74, 
104), (198, 0), 9,
             formal_object_declaration_0'Access, null);
-            Set_Minimal_Action (Table.States (1228).Minimal_Complete_Actions, 
(1 => (Reduce, 198, 9)));
+            Table.States (1228).Minimal_Complete_Action := (Reduce, 198, 9);
             Table.States (1229).Productions := WisiToken.To_Vector ((1 => 
(222, 0)));
             Add_Action (Table.States (1229), (4, 5, 13, 15, 17, 18, 22, 23, 
24, 25, 26, 27, 28, 29, 30, 31, 32, 36, 37,
             40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 
68, 69, 71, 72, 73, 74, 93, 104, 105, 106,
             107), (222, 0), 10, if_statement_0'Access, null);
-            Set_Minimal_Action (Table.States (1229).Minimal_Complete_Actions, 
(1 => (Reduce, 222, 10)));
+            Table.States (1229).Minimal_Complete_Action := (Reduce, 222, 10);
             Table.States (1230).Productions := WisiToken.To_Vector ((1 => 
(247, 0)));
             Add_Action (Table.States (1230), 96, 1254);
             Add_Error (Table.States (1230));
-            Set_Minimal_Action (Table.States (1230).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1254)));
+            Table.States (1230).Minimal_Complete_Action := (Shift, 96, 1254);
             Table.States (1231).Productions := WisiToken.To_Vector ((1 => 
(177, 0)));
             Add_Action (Table.States (1231), 33, 1255);
             Add_Error (Table.States (1231));
-            Set_Minimal_Action (Table.States (1231).Minimal_Complete_Actions, 
(1 => (Shift, 33, 1255)));
+            Table.States (1231).Minimal_Complete_Action := (Shift, 33, 1255);
             Table.States (1232).Productions := WisiToken.To_Vector ((1 => 
(176, 0)));
             Add_Action (Table.States (1232), 35, 1256);
             Add_Error (Table.States (1232));
-            Set_Minimal_Action (Table.States (1232).Minimal_Complete_Actions, 
(1 => (Shift, 35, 1256)));
+            Table.States (1232).Minimal_Complete_Action := (Shift, 35, 1256);
             Table.States (1233).Productions := WisiToken.To_Vector ((1 => 
(271, 0)));
             Add_Action (Table.States (1233), 96, 1257);
             Add_Error (Table.States (1233));
-            Set_Minimal_Action (Table.States (1233).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1257)));
+            Table.States (1233).Minimal_Complete_Action := (Shift, 96, 1257);
             Table.States (1234).Productions := WisiToken.To_Vector ((1 => 
(316, 0)));
             Add_Action (Table.States (1234), 96, 1258);
             Add_Error (Table.States (1234));
-            Set_Minimal_Action (Table.States (1234).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1258)));
+            Table.States (1234).Minimal_Complete_Action := (Shift, 96, 1258);
             Table.States (1235).Productions := WisiToken.To_Vector ((1 => 
(319, 0)));
             Add_Action (Table.States (1235), 24, 1259);
             Add_Error (Table.States (1235));
-            Set_Minimal_Action (Table.States (1235).Minimal_Complete_Actions, 
(1 => (Shift, 24, 1259)));
+            Table.States (1235).Minimal_Complete_Action := (Shift, 24, 1259);
             Table.States (1236).Productions := WisiToken.To_Vector ((1 => 
(319, 1)));
             Add_Action (Table.States (1236), (4, 5, 13, 15, 17, 18, 24, 25, 
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (319, 1), 10,
             task_type_declaration_1'Access, 
task_type_declaration_1_check'Access);
-            Set_Minimal_Action (Table.States (1236).Minimal_Complete_Actions, 
(1 => (Reduce, 319, 10)));
+            Table.States (1236).Minimal_Complete_Action := (Reduce, 319, 10);
             Table.States (1237).Productions := WisiToken.To_Vector ((1 => 
(305, 0)));
             Add_Action (Table.States (1237), 96, 1260);
             Add_Error (Table.States (1237));
-            Set_Minimal_Action (Table.States (1237).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1260)));
+            Table.States (1237).Minimal_Complete_Action := (Shift, 96, 1260);
             Table.States (1238).Productions := WisiToken.To_Vector ((1 => 
(120, 1)));
             Add_Action (Table.States (1238), (74, 82, 96), (120, 1), 6, 
array_type_definition_1'Access, null);
-            Set_Minimal_Action (Table.States (1238).Minimal_Complete_Actions, 
(1 => (Reduce, 120, 6)));
+            Table.States (1238).Minimal_Complete_Action := (Reduce, 120, 6);
             Table.States (1239).Productions := WisiToken.To_Vector ((1 => 
(120, 0)));
             Add_Action (Table.States (1239), (74, 82, 96), (120, 0), 6, 
array_type_definition_0'Access, null);
-            Set_Minimal_Action (Table.States (1239).Minimal_Complete_Actions, 
(1 => (Reduce, 120, 6)));
+            Table.States (1239).Minimal_Complete_Action := (Reduce, 120, 6);
             Table.States (1240).Productions := WisiToken.To_Vector ((1 => 
(225, 0)));
             Add_Action (Table.States (1240), 80, 1203);
             Add_Error (Table.States (1240));
-            Set_Minimal_Action (Table.States (1240).Minimal_Complete_Actions, 
(1 => (Shift, 80, 1203)));
+            Table.States (1240).Minimal_Complete_Action := (Shift, 80, 1203);
             Table.States (1241).Productions := WisiToken.To_Vector ((1 => 
(279, 0)));
             Add_Action (Table.States (1241), (74, 96), (279, 0), 4, null, 
null);
-            Set_Minimal_Action (Table.States (1241).Minimal_Complete_Actions, 
(1 => (Reduce, 279, 4)));
+            Table.States (1241).Minimal_Complete_Action := (Reduce, 279, 4);
             Table.States (1242).Productions := WisiToken.To_Vector (((166, 0), 
(329, 0)));
             Add_Action (Table.States (1242), 79, 445);
             Add_Action (Table.States (1242), 87, 1261);
             Add_Error (Table.States (1242));
-            Set_Minimal_Action (Table.States (1242).Minimal_Complete_Actions, 
(1 => (Shift, 87, 1261)));
+            Table.States (1242).Minimal_Complete_Action := (Shift, 87, 1261);
             Table.States (1243).Productions := WisiToken.To_Vector ((1 => 
(327, 0)));
             Add_Action (Table.States (1243), 15, 1262);
             Add_Error (Table.States (1243));
-            Set_Minimal_Action (Table.States (1243).Minimal_Complete_Actions, 
(1 => (Shift, 15, 1262)));
+            Table.States (1243).Minimal_Complete_Action := (Shift, 15, 1262);
             Table.States (1244).Productions := WisiToken.To_Vector ((1 => 
(328, 0)));
             Add_Action (Table.States (1244), (24, 72), (328, 0), 2, null, 
null);
-            Set_Minimal_Action (Table.States (1244).Minimal_Complete_Actions, 
(1 => (Reduce, 328, 2)));
+            Table.States (1244).Minimal_Complete_Action := (Reduce, 328, 2);
             Table.States (1245).Productions := WisiToken.To_Vector ((1 => 
(146, 0)));
             Add_Action (Table.States (1245), 74, 337);
             Add_Action (Table.States (1245), 96, Reduce, (122, 1), 0, null, 
null);
             Add_Error (Table.States (1245));
             Add_Goto (Table.States (1245), 122, 1263);
-            Set_Minimal_Action (Table.States (1245).Minimal_Complete_Actions, 
(1 => (Reduce, 122, 0)));
+            Table.States (1245).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (1246).Productions := WisiToken.To_Vector ((1 => 
(146, 1)));
             Add_Action (Table.States (1246), (15, 24, 28, 72, 104), (146, 1), 
5, component_declaration_1'Access, null);
-            Set_Minimal_Action (Table.States (1246).Minimal_Complete_Actions, 
(1 => (Reduce, 146, 5)));
+            Table.States (1246).Minimal_Complete_Action := (Reduce, 146, 5);
             Table.States (1247).Productions := WisiToken.To_Vector ((1 => 
(259, 0)));
             Add_Action (Table.States (1247), 74, 337);
             Add_Action (Table.States (1247), 96, Reduce, (122, 1), 0, null, 
null);
             Add_Error (Table.States (1247));
             Add_Goto (Table.States (1247), 122, 1264);
-            Set_Minimal_Action (Table.States (1247).Minimal_Complete_Actions, 
(1 => (Reduce, 122, 0)));
+            Table.States (1247).Minimal_Complete_Action := (Reduce, 122, 0);
             Table.States (1248).Productions := WisiToken.To_Vector ((1 => 
(162, 0)));
             Add_Action (Table.States (1248), (74, 96), (162, 0), 6, 
derived_type_definition_0'Access, null);
-            Set_Minimal_Action (Table.States (1248).Minimal_Complete_Actions, 
(1 => (Reduce, 162, 6)));
+            Table.States (1248).Minimal_Complete_Action := (Reduce, 162, 6);
             Table.States (1249).Productions := WisiToken.To_Vector ((1 => 
(187, 0)));
             Add_Action (Table.States (1249), (24, 72), (187, 0), 6, 
exception_handler_0'Access, null);
-            Set_Minimal_Action (Table.States (1249).Minimal_Complete_Actions, 
(1 => (Reduce, 187, 6)));
+            Table.States (1249).Minimal_Complete_Action := (Reduce, 187, 6);
             Table.States (1250).Productions := WisiToken.To_Vector ((1 => 
(307, 0)));
             Add_Action (Table.States (1250), (4, 5, 13, 15, 17, 18, 24, 25, 
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (307, 0), 10,
             subprogram_body_0'Access, subprogram_body_0_check'Access);
-            Set_Minimal_Action (Table.States (1250).Minimal_Complete_Actions, 
(1 => (Reduce, 307, 10)));
+            Table.States (1250).Minimal_Complete_Action := (Reduce, 307, 10);
             Table.States (1251).Productions := WisiToken.To_Vector ((1 => 
(144, 0)));
             Add_Action (Table.States (1251), 3, 121);
             Add_Action (Table.States (1251), 39, 122);
@@ -13941,18 +13848,18 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1251), 320, 144);
             Add_Goto (Table.States (1251), 321, 145);
             Add_Goto (Table.States (1251), 330, 146);
-            Set_Minimal_Action (Table.States (1251).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (1251).Minimal_Complete_Action := (Shift, 103, 129);
             Table.States (1252).Productions := WisiToken.To_Vector ((1 => 
(254, 0)));
             Add_Action (Table.States (1252), (77, 96), (254, 0), 8, 
parameter_specification_0'Access, null);
-            Set_Minimal_Action (Table.States (1252).Minimal_Complete_Actions, 
(1 => (Reduce, 254, 8)));
+            Table.States (1252).Minimal_Complete_Action := (Reduce, 254, 8);
             Table.States (1253).Productions := WisiToken.To_Vector ((1 => 
(203, 0)));
             Add_Action (Table.States (1253), (74, 96), (203, 0), 6, 
formal_derived_type_definition_0'Access, null);
-            Set_Minimal_Action (Table.States (1253).Minimal_Complete_Actions, 
(1 => (Reduce, 203, 6)));
+            Table.States (1253).Minimal_Complete_Action := (Reduce, 203, 6);
             Table.States (1254).Productions := WisiToken.To_Vector ((1 => 
(247, 0)));
             Add_Action (Table.States (1254), (4, 5, 13, 15, 17, 18, 24, 25, 
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (247, 0), 11,
             package_body_0'Access, package_body_0_check'Access);
-            Set_Minimal_Action (Table.States (1254).Minimal_Complete_Actions, 
(1 => (Reduce, 247, 11)));
+            Table.States (1254).Minimal_Complete_Action := (Reduce, 247, 11);
             Table.States (1255).Productions := WisiToken.To_Vector ((1 => 
(177, 0)));
             Add_Action (Table.States (1255), 3, 121);
             Add_Action (Table.States (1255), 39, 122);
@@ -13980,7 +13887,7 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1255), 320, 144);
             Add_Goto (Table.States (1255), 321, 145);
             Add_Goto (Table.States (1255), 330, 146);
-            Set_Minimal_Action (Table.States (1255).Minimal_Complete_Actions, 
(1 => (Shift, 105, 33)));
+            Table.States (1255).Minimal_Complete_Action := (Shift, 40, 474);
             Table.States (1256).Productions := WisiToken.To_Vector ((1 => 
(176, 0)));
             Add_Action (Table.States (1256), 13, Reduce, (159, 1), 0, null, 
null);
             Add_Action (Table.States (1256), 25, Reduce, (246, 2), 0, null, 
null);
@@ -14052,28 +13959,28 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1256), 319, 113);
             Add_Goto (Table.States (1256), 325, 115);
             Add_Goto (Table.States (1256), 331, 116);
-            Set_Minimal_Action (Table.States (1256).Minimal_Complete_Actions, 
(1 => (Reduce, 159, 0)));
+            Table.States (1256).Minimal_Complete_Action := (Reduce, 159, 0);
             Table.States (1257).Productions := WisiToken.To_Vector ((1 => 
(271, 0)));
             Add_Action (Table.States (1257), (4, 5, 13, 15, 17, 18, 24, 25, 
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (271, 0), 11,
             protected_type_declaration_0'Access, 
protected_type_declaration_0_check'Access);
-            Set_Minimal_Action (Table.States (1257).Minimal_Complete_Actions, 
(1 => (Reduce, 271, 11)));
+            Table.States (1257).Minimal_Complete_Action := (Reduce, 271, 11);
             Table.States (1258).Productions := WisiToken.To_Vector ((1 => 
(316, 0)));
             Add_Action (Table.States (1258), (4, 5, 13, 15, 17, 18, 24, 25, 
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (316, 0), 11,
             task_body_0'Access, task_body_0_check'Access);
-            Set_Minimal_Action (Table.States (1258).Minimal_Complete_Actions, 
(1 => (Reduce, 316, 11)));
+            Table.States (1258).Minimal_Complete_Action := (Reduce, 316, 11);
             Table.States (1259).Productions := WisiToken.To_Vector ((1 => 
(319, 0)));
             Add_Action (Table.States (1259), 96, Reduce, (220, 1), 0, null, 
null);
             Add_Action (Table.States (1259), 104, 149);
             Add_Error (Table.States (1259));
             Add_Goto (Table.States (1259), 220, 1268);
-            Set_Minimal_Action (Table.States (1259).Minimal_Complete_Actions, 
(1 => (Reduce, 220, 0)));
+            Table.States (1259).Minimal_Complete_Action := (Reduce, 220, 0);
             Table.States (1260).Productions := WisiToken.To_Vector ((1 => 
(305, 0)));
             Add_Action (Table.States (1260), (4, 5, 13, 15, 17, 18, 24, 25, 
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (305, 0), 11,
             single_task_declaration_0'Access, 
single_task_declaration_0_check'Access);
-            Set_Minimal_Action (Table.States (1260).Minimal_Complete_Actions, 
(1 => (Reduce, 305, 11)));
+            Table.States (1260).Minimal_Complete_Action := (Reduce, 305, 11);
             Table.States (1261).Productions := WisiToken.To_Vector ((1 => 
(329, 0)));
             Add_Action (Table.States (1261), 15, 885);
             Add_Action (Table.States (1261), 24, Reduce, (150, 1), 0, null, 
null);
@@ -14092,59 +13999,59 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1261), 219, 892);
             Add_Goto (Table.States (1261), 281, 94);
             Add_Goto (Table.States (1261), 327, 893);
-            Set_Minimal_Action (Table.States (1261).Minimal_Complete_Actions, 
(1 => (Reduce, 150, 0)));
+            Table.States (1261).Minimal_Complete_Action := (Reduce, 150, 0);
             Table.States (1262).Productions := WisiToken.To_Vector ((1 => 
(327, 0)));
             Add_Action (Table.States (1262), 96, 1270);
             Add_Error (Table.States (1262));
-            Set_Minimal_Action (Table.States (1262).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1270)));
+            Table.States (1262).Minimal_Complete_Action := (Shift, 96, 1270);
             Table.States (1263).Productions := WisiToken.To_Vector ((1 => 
(146, 0)));
             Add_Action (Table.States (1263), 96, 1271);
             Add_Error (Table.States (1263));
-            Set_Minimal_Action (Table.States (1263).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1271)));
+            Table.States (1263).Minimal_Complete_Action := (Shift, 96, 1271);
             Table.States (1264).Productions := WisiToken.To_Vector ((1 => 
(259, 0)));
             Add_Action (Table.States (1264), 96, 1272);
             Add_Error (Table.States (1264));
-            Set_Minimal_Action (Table.States (1264).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1272)));
+            Table.States (1264).Minimal_Complete_Action := (Shift, 96, 1272);
             Table.States (1265).Productions := WisiToken.To_Vector ((1 => 
(144, 0)));
             Add_Action (Table.States (1265), 96, 1273);
             Add_Error (Table.States (1265));
-            Set_Minimal_Action (Table.States (1265).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1273)));
+            Table.States (1265).Minimal_Complete_Action := (Shift, 96, 1273);
             Table.States (1266).Productions := WisiToken.To_Vector ((1 => 
(177, 0)));
             Add_Action (Table.States (1266), 77, 1274);
             Add_Error (Table.States (1266));
-            Set_Minimal_Action (Table.States (1266).Minimal_Complete_Actions, 
(1 => (Shift, 77, 1274)));
+            Table.States (1266).Minimal_Complete_Action := (Shift, 77, 1274);
             Table.States (1267).Productions := WisiToken.To_Vector ((1 => 
(176, 0)));
             Add_Action (Table.States (1267), 13, 1275);
             Add_Error (Table.States (1267));
-            Set_Minimal_Action (Table.States (1267).Minimal_Complete_Actions, 
(1 => (Shift, 13, 1275)));
+            Table.States (1267).Minimal_Complete_Action := (Shift, 13, 1275);
             Table.States (1268).Productions := WisiToken.To_Vector ((1 => 
(319, 0)));
             Add_Action (Table.States (1268), 96, 1276);
             Add_Error (Table.States (1268));
-            Set_Minimal_Action (Table.States (1268).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1276)));
+            Table.States (1268).Minimal_Complete_Action := (Shift, 96, 1276);
             Table.States (1269).Productions := WisiToken.To_Vector ((1 => 
(329, 0)));
             Add_Action (Table.States (1269), (24, 72), (329, 0), 4, 
variant_0'Access, null);
-            Set_Minimal_Action (Table.States (1269).Minimal_Complete_Actions, 
(1 => (Reduce, 329, 4)));
+            Table.States (1269).Minimal_Complete_Action := (Reduce, 329, 4);
             Table.States (1270).Productions := WisiToken.To_Vector ((1 => 
(327, 0)));
             Add_Action (Table.States (1270), (15, 24, 28, 72, 104), (327, 0), 
7, variant_part_0'Access, null);
-            Set_Minimal_Action (Table.States (1270).Minimal_Complete_Actions, 
(1 => (Reduce, 327, 7)));
+            Table.States (1270).Minimal_Complete_Action := (Reduce, 327, 7);
             Table.States (1271).Productions := WisiToken.To_Vector ((1 => 
(146, 0)));
             Add_Action (Table.States (1271), (15, 24, 28, 72, 104), (146, 0), 
7, component_declaration_0'Access, null);
-            Set_Minimal_Action (Table.States (1271).Minimal_Complete_Actions, 
(1 => (Reduce, 146, 7)));
+            Table.States (1271).Minimal_Complete_Action := (Reduce, 146, 7);
             Table.States (1272).Productions := WisiToken.To_Vector ((1 => 
(259, 0)));
             Add_Action (Table.States (1272), (4, 5, 13, 15, 17, 18, 24, 25, 
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (259, 0), 12,
             private_extension_declaration_0'Access, null);
-            Set_Minimal_Action (Table.States (1272).Minimal_Complete_Actions, 
(1 => (Reduce, 259, 12)));
+            Table.States (1272).Minimal_Complete_Action := (Reduce, 259, 12);
             Table.States (1273).Productions := WisiToken.To_Vector ((1 => 
(144, 0)));
             Add_Action (Table.States (1273), (24, 104), (144, 0), 8, 
component_clause_0'Access, null);
-            Set_Minimal_Action (Table.States (1273).Minimal_Complete_Actions, 
(1 => (Reduce, 144, 8)));
+            Table.States (1273).Minimal_Complete_Action := (Reduce, 144, 8);
             Table.States (1274).Productions := WisiToken.To_Vector ((1 => 
(177, 0)));
             Add_Action (Table.States (1274), 72, Reduce, (253, 1), 0, null, 
null);
             Add_Action (Table.States (1274), 76, 431);
             Add_Error (Table.States (1274));
             Add_Goto (Table.States (1274), 199, 344);
             Add_Goto (Table.States (1274), 253, 1277);
-            Set_Minimal_Action (Table.States (1274).Minimal_Complete_Actions, 
(1 => (Reduce, 253, 0)));
+            Table.States (1274).Minimal_Complete_Action := (Reduce, 253, 0);
             Table.States (1275).Productions := WisiToken.To_Vector ((1 => 
(176, 0)));
             Add_Action (Table.States (1275), 4, 1);
             Add_Action (Table.States (1275), 5, 2);
@@ -14203,33 +14110,33 @@ package body Ada_Process_LALR_Main is
             Add_Goto (Table.States (1275), 303, 101);
             Add_Goto (Table.States (1275), 306, 363);
             Add_Goto (Table.States (1275), 323, 114);
-            Set_Minimal_Action (Table.States (1275).Minimal_Complete_Actions, 
(1 => (Reduce, 218, 0)));
+            Table.States (1275).Minimal_Complete_Action := (Reduce, 218, 0);
             Table.States (1276).Productions := WisiToken.To_Vector ((1 => 
(319, 0)));
             Add_Action (Table.States (1276), (4, 5, 13, 15, 17, 18, 24, 25, 
27, 28, 29, 30, 31, 32, 36, 37, 40, 41, 46,
             47, 48, 49, 50, 51, 52, 57, 58, 60, 61, 63, 66, 69, 71, 73, 74, 
93, 104, 105, 106, 107), (319, 0), 13,
             task_type_declaration_0'Access, 
task_type_declaration_0_check'Access);
-            Set_Minimal_Action (Table.States (1276).Minimal_Complete_Actions, 
(1 => (Reduce, 319, 13)));
+            Table.States (1276).Minimal_Complete_Action := (Reduce, 319, 13);
             Table.States (1277).Productions := WisiToken.To_Vector ((1 => 
(177, 0)));
             Add_Action (Table.States (1277), (1 =>  72), (177, 0), 7, 
entry_body_formal_part_0'Access, null);
-            Set_Minimal_Action (Table.States (1277).Minimal_Complete_Actions, 
(1 => (Reduce, 177, 7)));
+            Table.States (1277).Minimal_Complete_Action := (Reduce, 177, 7);
             Table.States (1278).Productions := WisiToken.To_Vector ((1 => 
(176, 0)));
             Add_Action (Table.States (1278), 24, 1279);
             Add_Error (Table.States (1278));
-            Set_Minimal_Action (Table.States (1278).Minimal_Complete_Actions, 
(1 => (Shift, 24, 1279)));
+            Table.States (1278).Minimal_Complete_Action := (Shift, 24, 1279);
             Table.States (1279).Productions := WisiToken.To_Vector ((1 => 
(176, 0)));
             Add_Action (Table.States (1279), 96, Reduce, (220, 1), 0, null, 
null);
             Add_Action (Table.States (1279), 104, 149);
             Add_Error (Table.States (1279));
             Add_Goto (Table.States (1279), 220, 1280);
-            Set_Minimal_Action (Table.States (1279).Minimal_Complete_Actions, 
(1 => (Reduce, 220, 0)));
+            Table.States (1279).Minimal_Complete_Action := (Reduce, 220, 0);
             Table.States (1280).Productions := WisiToken.To_Vector ((1 => 
(176, 0)));
             Add_Action (Table.States (1280), 96, 1281);
             Add_Error (Table.States (1280));
-            Set_Minimal_Action (Table.States (1280).Minimal_Complete_Actions, 
(1 => (Shift, 96, 1281)));
+            Table.States (1280).Minimal_Complete_Action := (Shift, 96, 1281);
             Table.States (1281).Productions := WisiToken.To_Vector ((1 => 
(176, 0)));
             Add_Action (Table.States (1281), (24, 25, 28, 29, 40, 46, 50), 
(176, 0), 12, entry_body_0'Access,
             entry_body_0_check'Access);
-            Set_Minimal_Action (Table.States (1281).Minimal_Complete_Actions, 
(1 => (Reduce, 176, 12)));
+            Table.States (1281).Minimal_Complete_Action := (Reduce, 176, 12);
          end Subr_20;
       begin
          Subr_1;
@@ -14257,7 +14164,7 @@ package body Ada_Process_LALR_Main is
       WisiToken.Parse.LR.Parser.New_Parser
         (Parser,
          Trace,
-         Lexer.New_Lexer (Trace),
+         Lexer.New_Lexer (Trace.Descriptor),
          Table,
          Language_Fixes,
          Language_Use_Minimal_Complete_Actions,
diff --git a/packages/ada-mode/ada_process_lalr_main.ads 
b/packages/ada-mode/ada_process_lalr_main.ads
index 03146a2..5697568 100644
--- a/packages/ada-mode/ada_process_lalr_main.ads
+++ b/packages/ada-mode/ada_process_lalr_main.ads
@@ -2,7 +2,7 @@
 --  command line: wisitoken-bnf-generate.exe  --generate LALR Ada_Emacs re2c 
PROCESS ada.wy
 --
 
---  Copyright (C) 2013 - 2018 Free Software Foundation, Inc.
+--  Copyright (C) 2013 - 2019 Free Software Foundation, Inc.
 
 --  This program is free software; you can redistribute it and/or
 --  modify it under the terms of the GNU General Public License as
diff --git a/packages/ada-mode/ada_process_lr1_main.adb 
b/packages/ada-mode/ada_process_lr1_main.adb
index c4969c6..7b574aa 100644
--- a/packages/ada-mode/ada_process_lr1_main.adb
+++ b/packages/ada-mode/ada_process_lr1_main.adb
@@ -2,7 +2,7 @@
 --  command line: wisitoken-bnf-generate.exe  --generate LR1 Ada_Emacs re2c 
PROCESS text_rep ada.wy
 --
 
---  Copyright (C) 2013 - 2018 Free Software Foundation, Inc.
+--  Copyright (C) 2013 - 2019 Free Software Foundation, Inc.
 
 --  This program is free software; you can redistribute it and/or
 --  modify it under the terms of the GNU General Public License as
@@ -50,9 +50,9 @@ package body Ada_Process_LR1_Main is
             3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 2, 3, 3, 
2, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 2, 3, 3,
             3, 2, 1, 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 
3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3),
          Delete =>
-           (3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 3, 2, 3, 1, 3, 3, 3, 3, 1, 3, 1, 
3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 2, 3,
+           (3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 3, 2, 3, 1, 3, 3, 3, 3, 1, 3, 2, 
3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 2, 3, 2, 3,
             3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
-            3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 
3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3),
+            3, 3, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 
3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3),
          Push_Back =>
            (2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1, 
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
             2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -199,12 +199,12 @@ package body Ada_Process_LR1_Main is
             Set_Production (Prods (142), 142, 4);
             Set_RHS (Prods (142), 0, (1 => 332), null, null);
             Set_RHS (Prods (142), 1, (1 => 315), null, null);
-            Set_RHS (Prods (142), 2, (49, 157), null, null);
+            Set_RHS (Prods (142), 2, (49, 157), compilation_unit_2'Access, 
null);
             Set_RHS (Prods (142), 3, (1 => 157), null, null);
             Set_RHS (Prods (142), 4, (1 => 306), null, null);
             Set_Production (Prods (143), 143, 1);
-            Set_RHS (Prods (143), 0, (143, 142), null, null);
-            Set_RHS (Prods (143), 1, (1 => 142), null, null);
+            Set_RHS (Prods (143), 0, (143, 142), 
compilation_unit_list_0'Access, null);
+            Set_RHS (Prods (143), 1, (1 => 142), 
compilation_unit_list_1'Access, compilation_unit_list_1_check'Access);
             Set_Production (Prods (144), 144, 0);
             Set_RHS (Prods (144), 0, (104, 12, 301, 53, 301, 85, 301, 96), 
component_clause_0'Access, null);
             Set_Production (Prods (145), 145, 1);
@@ -928,7 +928,7 @@ package body Ada_Process_LR1_Main is
       WisiToken.Parse.LR.Parser.New_Parser
         (Parser,
          Trace,
-         Lexer.New_Lexer (Trace),
+         Lexer.New_Lexer (Trace.Descriptor),
          Table,
          Language_Fixes,
          Language_Use_Minimal_Complete_Actions,
diff --git a/packages/ada-mode/ada_process_lr1_main.ads 
b/packages/ada-mode/ada_process_lr1_main.ads
index db2b905..89b6616 100644
--- a/packages/ada-mode/ada_process_lr1_main.ads
+++ b/packages/ada-mode/ada_process_lr1_main.ads
@@ -2,7 +2,7 @@
 --  command line: wisitoken-bnf-generate.exe  --generate LR1 Ada_Emacs re2c 
PROCESS text_rep ada.wy
 --
 
---  Copyright (C) 2013 - 2018 Free Software Foundation, Inc.
+--  Copyright (C) 2013 - 2019 Free Software Foundation, Inc.
 
 --  This program is free software; you can redistribute it and/or
 --  modify it under the terms of the GNU General Public License as
diff --git a/packages/ada-mode/ada_re2c.c b/packages/ada-mode/ada_re2c.c
index 5b010e0..8adaf85 100644
--- a/packages/ada-mode/ada_re2c.c
+++ b/packages/ada-mode/ada_re2c.c
@@ -4,7 +4,7 @@
 //  command line: wisitoken-bnf-generate.exe  --generate LALR Ada_Emacs re2c 
PROCESS ada.wy
 //
 
-//  Copyright (C) 2013 - 2018 Free Software Foundation, Inc.
+//  Copyright (C) 2013 - 2019 Free Software Foundation, Inc.
 
 //  This program is free software; you can redistribute it and/or
 //  modify it under the terms of the GNU General Public License as
@@ -35,7 +35,7 @@ typedef struct wisi_lexer
    int            line_token_start; // line at start of current token
    unsigned char* marker;           // saved cursor
    size_t         marker_pos;       // saved character position
-   size_t         marker_line;      // saved line 
+   size_t         marker_line;      // saved line
    unsigned char* context;          // saved cursor
    size_t         context_pos;      // saved character position
    int            context_line;     // saved line
@@ -50,13 +50,16 @@ typedef struct wisi_lexer
 wisi_lexer* ada_new_lexer
    (unsigned char* input, size_t length, int verbosity)
 {
-   wisi_lexer* result  = malloc (sizeof (wisi_lexer));
-   result->buffer      = input;
-   result->buffer_last = input + length - 1;
-   result->cursor      = input;
-   result->char_pos    = 1;
-   result->line        = (*result->cursor == 0x0A) ? 2 : 1;
-   result->verbosity   = verbosity;
+   wisi_lexer* result        = malloc (sizeof (wisi_lexer));
+   result->buffer            = input;
+   result->buffer_last       = input + length - 1;
+   result->cursor            = input;
+   result->byte_token_start  = input;
+   result->char_pos          = 1;
+   result->char_token_start  = 1;
+   result->line              = (*result->cursor == 0x0A) ? 2 : 1;
+   result->line_token_start  = result->line;
+   result->verbosity         = verbosity;
    return result;
 }
 
@@ -94,10 +97,13 @@ static void debug(wisi_lexer* lexer, int state, unsigned 
char ch)
 
 static void skip(wisi_lexer* lexer)
 {
-   if (lexer->cursor <= lexer->buffer_last) ++lexer->cursor;
    if (lexer->cursor <= lexer->buffer_last)
+   {
+      ++lexer->cursor;
       if (DO_COUNT) ++lexer->char_pos;
-   if (*lexer->cursor == 0x0A) ++lexer->line;
+      if (lexer->cursor <= lexer->buffer_last)
+         if (*lexer->cursor == 0x0A) ++lexer->line;
+   }
 }
 #define YYSKIP() skip(lexer)
 #define YYBACKUP() lexer->marker = lexer->cursor; lexer->marker_pos = 
lexer->char_pos;lexer->marker_line = lexer->line
@@ -128,10 +134,7 @@ int ada_next_token
    }
 
    lexer->byte_token_start = lexer->cursor;
-   if (DO_COUNT)
-      lexer->char_token_start = lexer->char_pos;
-   else
-      lexer->char_token_start = lexer->char_pos + 1;
+   lexer->char_token_start = lexer->char_pos;
    if (*lexer->cursor == 0x0A)
       lexer->line_token_start = lexer->line-1;
    else
@@ -140,7 +143,7 @@ int ada_next_token
    while (*id == -1 && status == 0)
    {
 
-#line 144 "../ada_re2c.c"
+#line 147 "../ada_re2c.c"
 {
        YYCTYPE yych;
        unsigned int yyaccept = 0;
@@ -292,16 +295,16 @@ yy2:
        YYSKIP ();
 yy3:
        YYDEBUG(3, YYPEEK ());
-#line 366 "../ada.re2c"
+#line 369 "../ada.re2c"
        {status = ERROR_unrecognized_character; continue;}
-#line 298 "../ada_re2c.c"
+#line 301 "../ada_re2c.c"
 yy4:
        YYDEBUG(4, YYPEEK ());
        YYSKIP ();
        YYDEBUG(5, YYPEEK ());
-#line 364 "../ada.re2c"
+#line 367 "../ada.re2c"
        {*id =  107; continue;}
-#line 305 "../ada_re2c.c"
+#line 308 "../ada_re2c.c"
 yy6:
        YYDEBUG(6, YYPEEK ());
        YYSKIP ();
@@ -314,7 +317,7 @@ yy6:
        }
 yy8:
        YYDEBUG(8, YYPEEK ());
-#line 251 "../ada.re2c"
+#line 254 "../ada.re2c"
        { lexer->byte_token_start = lexer->cursor;
           lexer->char_token_start = lexer->char_pos;
           if (*lexer->cursor == 0x0A)
@@ -322,14 +325,14 @@ yy8:
           else
              lexer->line_token_start = lexer->line;
           continue; }
-#line 326 "../ada_re2c.c"
+#line 329 "../ada_re2c.c"
 yy9:
        YYDEBUG(9, YYPEEK ());
        YYSKIP ();
        YYDEBUG(10, YYPEEK ());
-#line 258 "../ada.re2c"
+#line 261 "../ada.re2c"
        {*id =  1; continue;}
-#line 333 "../ada_re2c.c"
+#line 336 "../ada_re2c.c"
 yy11:
        YYDEBUG(11, YYPEEK ());
        YYSKIP ();
@@ -501,17 +504,17 @@ yy13:
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
-       case 'e':       goto yy90;
-       case 'i':       goto yy91;
+       case 'e':       goto yy92;
+       case 'i':       goto yy93;
        default:        goto yy3;
        }
 yy14:
        YYDEBUG(14, YYPEEK ());
        YYSKIP ();
        YYDEBUG(15, YYPEEK ());
-#line 335 "../ada.re2c"
+#line 338 "../ada.re2c"
        {*id =  78; continue;}
-#line 515 "../ada_re2c.c"
+#line 518 "../ada_re2c.c"
 yy16:
        YYDEBUG(16, YYPEEK ());
        yyaccept = 1;
@@ -612,11 +615,11 @@ yy16:
        case '|':
        case '}':
        case '~':
-       case 0x7F:      goto yy92;
+       case 0x7F:      goto yy94;
        case '(':
                YYBACKUPCTX ();
-               goto yy93;
-       case '[':       goto yy94;
+               goto yy95;
+       case '[':       goto yy96;
        case 0xC2:
        case 0xC3:
        case 0xC4:
@@ -646,8 +649,8 @@ yy16:
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy95;
-       case 0xE0:      goto yy96;
+       case 0xDF:      goto yy97;
+       case 0xE0:      goto yy98;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -662,99 +665,99 @@ yy16:
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy97;
-       case 0xF0:      goto yy98;
+       case 0xEF:      goto yy99;
+       case 0xF0:      goto yy100;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy99;
-       case 0xF4:      goto yy100;
+       case 0xF3:      goto yy101;
+       case 0xF4:      goto yy102;
        default:        goto yy17;
        }
 yy17:
        YYDEBUG(17, YYPEEK ());
-#line 358 "../ada.re2c"
+#line 361 "../ada.re2c"
        {*id =  101; continue;}
-#line 678 "../ada_re2c.c"
+#line 681 "../ada_re2c.c"
 yy18:
        YYDEBUG(18, YYPEEK ());
        YYSKIP ();
        YYDEBUG(19, YYPEEK ());
-#line 333 "../ada.re2c"
+#line 336 "../ada.re2c"
        {*id =  76; continue;}
-#line 685 "../ada_re2c.c"
+#line 688 "../ada_re2c.c"
 yy20:
        YYDEBUG(20, YYPEEK ());
        YYSKIP ();
        YYDEBUG(21, YYPEEK ());
-#line 334 "../ada.re2c"
+#line 337 "../ada.re2c"
        {*id =  77; continue;}
-#line 692 "../ada_re2c.c"
+#line 695 "../ada_re2c.c"
 yy22:
        YYDEBUG(22, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
-       case '*':       goto yy101;
+       case '*':       goto yy103;
        default:        goto yy23;
        }
 yy23:
        YYDEBUG(23, YYPEEK ());
-#line 356 "../ada.re2c"
+#line 359 "../ada.re2c"
        {*id =  99; continue;}
-#line 705 "../ada_re2c.c"
+#line 708 "../ada_re2c.c"
 yy24:
        YYDEBUG(24, YYPEEK ());
        YYSKIP ();
        YYDEBUG(25, YYPEEK ());
-#line 352 "../ada.re2c"
+#line 355 "../ada.re2c"
        {*id =  95; continue;}
-#line 712 "../ada_re2c.c"
+#line 715 "../ada_re2c.c"
 yy26:
        YYDEBUG(26, YYPEEK ());
        YYSKIP ();
        YYDEBUG(27, YYPEEK ());
-#line 340 "../ada.re2c"
+#line 343 "../ada.re2c"
        {*id =  83; continue;}
-#line 719 "../ada_re2c.c"
+#line 722 "../ada_re2c.c"
 yy28:
        YYDEBUG(28, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
-       case '-':       goto yy103;
+       case '-':       goto yy105;
        default:        goto yy29;
        }
 yy29:
        YYDEBUG(29, YYPEEK ());
-#line 351 "../ada.re2c"
+#line 354 "../ada.re2c"
        {*id =  94; continue;}
-#line 732 "../ada_re2c.c"
+#line 735 "../ada_re2c.c"
 yy30:
        YYDEBUG(30, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
-       case '.':       goto yy106;
+       case '.':       goto yy108;
        default:        goto yy31;
        }
 yy31:
        YYDEBUG(31, YYPEEK ());
-#line 341 "../ada.re2c"
+#line 344 "../ada.re2c"
        {*id =  84; continue;}
-#line 745 "../ada_re2c.c"
+#line 748 "../ada_re2c.c"
 yy32:
        YYDEBUG(32, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
-       case '=':       goto yy108;
+       case '=':       goto yy110;
        default:        goto yy33;
        }
 yy33:
        YYDEBUG(33, YYPEEK ());
-#line 354 "../ada.re2c"
+#line 357 "../ada.re2c"
        {*id =  97; continue;}
-#line 758 "../ada_re2c.c"
+#line 761 "../ada_re2c.c"
 yy34:
        YYDEBUG(34, YYPEEK ());
        yyaccept = 2;
@@ -763,22 +766,12 @@ yy34:
        yych = YYPEEK ();
        YYDEBUG(35, YYPEEK ());
        switch (yych) {
-       case '#':       goto yy110;
+       case '#':       goto yy112;
        case '-':
        case '.':
-       case 'A':
-       case 'B':
-       case 'C':
-       case 'D':
        case 'E':
-       case 'F':
        case '_':
-       case 'a':
-       case 'b':
-       case 'c':
-       case 'd':
-       case 'e':
-       case 'f':       goto yy111;
+       case 'e':       goto yy113;
        case '0':
        case '1':
        case '2':
@@ -793,71 +786,71 @@ yy34:
        }
 yy36:
        YYDEBUG(36, YYPEEK ());
-#line 360 "../ada.re2c"
+#line 363 "../ada.re2c"
        {*id =  103; continue;}
-#line 799 "../ada_re2c.c"
+#line 792 "../ada_re2c.c"
 yy37:
        YYDEBUG(37, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
-       case '=':       goto yy113;
+       case '=':       goto yy115;
        default:        goto yy38;
        }
 yy38:
        YYDEBUG(38, YYPEEK ());
-#line 338 "../ada.re2c"
+#line 341 "../ada.re2c"
        {*id =  81; continue;}
-#line 812 "../ada_re2c.c"
+#line 805 "../ada_re2c.c"
 yy39:
        YYDEBUG(39, YYPEEK ());
        YYSKIP ();
        YYDEBUG(40, YYPEEK ());
-#line 353 "../ada.re2c"
+#line 356 "../ada.re2c"
        {*id =  96; continue;}
-#line 819 "../ada_re2c.c"
+#line 812 "../ada_re2c.c"
 yy41:
        YYDEBUG(41, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
-       case '<':       goto yy115;
-       case '=':       goto yy117;
-       case '>':       goto yy119;
+       case '<':       goto yy117;
+       case '=':       goto yy119;
+       case '>':       goto yy121;
        default:        goto yy42;
        }
 yy42:
        YYDEBUG(42, YYPEEK ());
-#line 348 "../ada.re2c"
+#line 351 "../ada.re2c"
        {*id =  91; continue;}
-#line 834 "../ada_re2c.c"
+#line 827 "../ada_re2c.c"
 yy43:
        YYDEBUG(43, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
-       case '>':       goto yy121;
+       case '>':       goto yy123;
        default:        goto yy44;
        }
 yy44:
        YYDEBUG(44, YYPEEK ());
-#line 343 "../ada.re2c"
+#line 346 "../ada.re2c"
        {*id =  86; continue;}
-#line 847 "../ada_re2c.c"
+#line 840 "../ada_re2c.c"
 yy45:
        YYDEBUG(45, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
-       case '=':       goto yy123;
-       case '>':       goto yy125;
+       case '=':       goto yy125;
+       case '>':       goto yy127;
        default:        goto yy46;
        }
 yy46:
        YYDEBUG(46, YYPEEK ());
-#line 345 "../ada.re2c"
+#line 348 "../ada.re2c"
        {*id =  88; continue;}
-#line 861 "../ada_re2c.c"
+#line 854 "../ada_re2c.c"
 yy47:
        YYDEBUG(47, YYPEEK ());
        yyaccept = 3;
@@ -866,24 +859,24 @@ yy47:
        yych = YYPEEK ();
        switch (yych) {
        case 'B':
-       case 'b':       goto yy127;
+       case 'b':       goto yy129;
        case 'C':
-       case 'c':       goto yy128;
+       case 'c':       goto yy130;
        case 'L':
-       case 'l':       goto yy129;
+       case 'l':       goto yy131;
        case 'N':
-       case 'n':       goto yy130;
+       case 'n':       goto yy132;
        case 'R':
-       case 'r':       goto yy131;
+       case 'r':       goto yy133;
        case 'T':
-       case 't':       goto yy132;
+       case 't':       goto yy134;
        default:        goto yy56;
        }
 yy48:
        YYDEBUG(48, YYPEEK ());
-#line 361 "../ada.re2c"
+#line 364 "../ada.re2c"
        {*id =  104; continue;}
-#line 887 "../ada_re2c.c"
+#line 880 "../ada_re2c.c"
 yy49:
        YYDEBUG(49, YYPEEK ());
        yyaccept = 3;
@@ -892,9 +885,9 @@ yy49:
        yych = YYPEEK ();
        switch (yych) {
        case 'E':
-       case 'e':       goto yy141;
+       case 'e':       goto yy143;
        case 'O':
-       case 'o':       goto yy142;
+       case 'o':       goto yy144;
        default:        goto yy56;
        }
 yy50:
@@ -905,9 +898,9 @@ yy50:
        yych = YYPEEK ();
        switch (yych) {
        case 'A':
-       case 'a':       goto yy143;
+       case 'a':       goto yy145;
        case 'O':
-       case 'o':       goto yy144;
+       case 'o':       goto yy146;
        default:        goto yy56;
        }
 yy51:
@@ -918,11 +911,11 @@ yy51:
        yych = YYPEEK ();
        switch (yych) {
        case 'E':
-       case 'e':       goto yy145;
+       case 'e':       goto yy147;
        case 'I':
-       case 'i':       goto yy146;
+       case 'i':       goto yy148;
        case 'O':
-       case 'o':       goto yy147;
+       case 'o':       goto yy149;
        default:        goto yy56;
        }
 yy52:
@@ -933,11 +926,11 @@ yy52:
        yych = YYPEEK ();
        switch (yych) {
        case 'L':
-       case 'l':       goto yy149;
+       case 'l':       goto yy151;
        case 'N':
-       case 'n':       goto yy150;
+       case 'n':       goto yy152;
        case 'X':
-       case 'x':       goto yy151;
+       case 'x':       goto yy153;
        default:        goto yy56;
        }
 yy53:
@@ -948,9 +941,9 @@ yy53:
        yych = YYPEEK ();
        switch (yych) {
        case 'O':
-       case 'o':       goto yy152;
+       case 'o':       goto yy154;
        case 'U':
-       case 'u':       goto yy153;
+       case 'u':       goto yy155;
        default:        goto yy56;
        }
 yy54:
@@ -961,9 +954,9 @@ yy54:
        yych = YYPEEK ();
        switch (yych) {
        case 'E':
-       case 'e':       goto yy154;
+       case 'e':       goto yy156;
        case 'O':
-       case 'o':       goto yy155;
+       case 'o':       goto yy157;
        default:        goto yy56;
        }
 yy55:
@@ -1038,7 +1031,7 @@ yy56:
        case 'x':
        case 'y':
        case 'z':       goto yy55;
-       case '[':       goto yy134;
+       case '[':       goto yy136;
        case 0xC2:
        case 0xC3:
        case 0xC4:
@@ -1068,8 +1061,8 @@ yy56:
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy135;
-       case 0xE0:      goto yy136;
+       case 0xDF:      goto yy137;
+       case 0xE0:      goto yy138;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -1084,12 +1077,12 @@ yy56:
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy137;
-       case 0xF0:      goto yy138;
+       case 0xEF:      goto yy139;
+       case 0xF0:      goto yy140;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy139;
-       case 0xF4:      goto yy140;
+       case 0xF3:      goto yy141;
+       case 0xF4:      goto yy142;
        default:        goto yy48;
        }
 yy57:
@@ -1100,11 +1093,11 @@ yy57:
        yych = YYPEEK ();
        switch (yych) {
        case 'F':
-       case 'f':       goto yy156;
+       case 'f':       goto yy158;
        case 'N':
-       case 'n':       goto yy158;
+       case 'n':       goto yy160;
        case 'S':
-       case 's':       goto yy160;
+       case 's':       goto yy162;
        default:        goto yy56;
        }
 yy58:
@@ -1115,9 +1108,9 @@ yy58:
        yych = YYPEEK ();
        switch (yych) {
        case 'I':
-       case 'i':       goto yy162;
+       case 'i':       goto yy164;
        case 'O':
-       case 'o':       goto yy163;
+       case 'o':       goto yy165;
        default:        goto yy56;
        }
 yy59:
@@ -1128,7 +1121,7 @@ yy59:
        yych = YYPEEK ();
        switch (yych) {
        case 'O':
-       case 'o':       goto yy164;
+       case 'o':       goto yy166;
        default:        goto yy56;
        }
 yy60:
@@ -1139,11 +1132,11 @@ yy60:
        yych = YYPEEK ();
        switch (yych) {
        case 'E':
-       case 'e':       goto yy165;
+       case 'e':       goto yy167;
        case 'O':
-       case 'o':       goto yy166;
+       case 'o':       goto yy168;
        case 'U':
-       case 'u':       goto yy167;
+       case 'u':       goto yy169;
        default:        goto yy56;
        }
 yy61:
@@ -1154,15 +1147,15 @@ yy61:
        yych = YYPEEK ();
        switch (yych) {
        case 'F':
-       case 'f':       goto yy168;
+       case 'f':       goto yy170;
        case 'R':
-       case 'r':       goto yy170;
+       case 'r':       goto yy172;
        case 'T':
-       case 't':       goto yy172;
+       case 't':       goto yy174;
        case 'U':
-       case 'u':       goto yy173;
+       case 'u':       goto yy175;
        case 'V':
-       case 'v':       goto yy174;
+       case 'v':       goto yy176;
        default:        goto yy56;
        }
 yy62:
@@ -1173,9 +1166,9 @@ yy62:
        yych = YYPEEK ();
        switch (yych) {
        case 'A':
-       case 'a':       goto yy175;
+       case 'a':       goto yy177;
        case 'R':
-       case 'r':       goto yy176;
+       case 'r':       goto yy178;
        default:        goto yy56;
        }
 yy63:
@@ -1186,9 +1179,9 @@ yy63:
        yych = YYPEEK ();
        switch (yych) {
        case 'A':
-       case 'a':       goto yy177;
+       case 'a':       goto yy179;
        case 'E':
-       case 'e':       goto yy178;
+       case 'e':       goto yy180;
        default:        goto yy56;
        }
 yy64:
@@ -1199,13 +1192,13 @@ yy64:
        yych = YYPEEK ();
        switch (yych) {
        case 'E':
-       case 'e':       goto yy179;
+       case 'e':       goto yy181;
        case 'O':
-       case 'o':       goto yy180;
+       case 'o':       goto yy182;
        case 'U':
-       case 'u':       goto yy181;
+       case 'u':       goto yy183;
        case 'Y':
-       case 'y':       goto yy182;
+       case 'y':       goto yy184;
        default:        goto yy56;
        }
 yy65:
@@ -1216,13 +1209,13 @@ yy65:
        yych = YYPEEK ();
        switch (yych) {
        case 'A':
-       case 'a':       goto yy183;
+       case 'a':       goto yy185;
        case 'E':
-       case 'e':       goto yy184;
+       case 'e':       goto yy186;
        case 'H':
-       case 'h':       goto yy185;
+       case 'h':       goto yy187;
        case 'Y':
-       case 'y':       goto yy186;
+       case 'y':       goto yy188;
        default:        goto yy56;
        }
 yy66:
@@ -1233,9 +1226,9 @@ yy66:
        yych = YYPEEK ();
        switch (yych) {
        case 'N':
-       case 'n':       goto yy187;
+       case 'n':       goto yy189;
        case 'S':
-       case 's':       goto yy188;
+       case 's':       goto yy190;
        default:        goto yy56;
        }
 yy67:
@@ -1246,9 +1239,9 @@ yy67:
        yych = YYPEEK ();
        switch (yych) {
        case 'H':
-       case 'h':       goto yy189;
+       case 'h':       goto yy191;
        case 'I':
-       case 'i':       goto yy190;
+       case 'i':       goto yy192;
        default:        goto yy56;
        }
 yy68:
@@ -1259,7 +1252,7 @@ yy68:
        yych = YYPEEK ();
        switch (yych) {
        case 'O':
-       case 'o':       goto yy191;
+       case 'o':       goto yy193;
        default:        goto yy56;
        }
 yy69:
@@ -1269,7 +1262,7 @@ yy69:
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
-       case '"':       goto yy192;
+       case '"':       goto yy194;
        default:        goto yy3;
        }
 yy70:
@@ -1457,16 +1450,16 @@ yy70:
        case 0xF1:
        case 0xF2:
        case 0xF3:
-       case 0xF4:      goto yy194;
+       case 0xF4:      goto yy196;
        default:        goto yy3;
        }
 yy71:
        YYDEBUG(71, YYPEEK ());
        YYSKIP ();
        YYDEBUG(72, YYPEEK ());
-#line 336 "../ada.re2c"
+#line 339 "../ada.re2c"
        {*id =  79; continue;}
-#line 1470 "../ada_re2c.c"
+#line 1463 "../ada_re2c.c"
 yy73:
        YYDEBUG(73, YYPEEK ());
        YYSKIP ();
@@ -1576,7 +1569,7 @@ yy74:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy135;
+       case 0xBF:      goto yy137;
        default:        goto yy3;
        }
 yy75:
@@ -1649,7 +1642,7 @@ yy75:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy135;
+       case 0xBF:      goto yy137;
        default:        goto yy3;
        }
 yy76:
@@ -1706,7 +1699,7 @@ yy76:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy137;
+       case 0xBF:      goto yy139;
        default:        goto yy3;
        }
 yy77:
@@ -1779,7 +1772,7 @@ yy77:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy137;
+       case 0xBF:      goto yy139;
        default:        goto yy3;
        }
 yy78:
@@ -1804,7 +1797,7 @@ yy78:
        case 0x8C:
        case 0x8D:
        case 0x8E:
-       case 0x8F:      goto yy137;
+       case 0x8F:      goto yy139;
        default:        goto yy3;
        }
 yy79:
@@ -1872,7 +1865,6 @@ yy80:
        case 'X':
        case 'Y':
        case 'Z':
-       case '[':
        case '\\':
        case ']':
        case '^':
@@ -1910,6 +1902,7 @@ yy80:
        case '~':
        case 0x7F:      goto yy79;
        case '"':       goto yy82;
+       case '[':       goto yy84;
        case 0xC2:
        case 0xC3:
        case 0xC4:
@@ -1939,8 +1932,8 @@ yy80:
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy84;
-       case 0xE0:      goto yy85;
+       case 0xDF:      goto yy86;
+       case 0xE0:      goto yy87;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -1955,12 +1948,12 @@ yy80:
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy86;
-       case 0xF0:      goto yy87;
+       case 0xEF:      goto yy88;
+       case 0xF0:      goto yy89;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy88;
-       case 0xF4:      goto yy89;
+       case 0xF3:      goto yy90;
+       case 0xF4:      goto yy91;
        default:        goto yy81;
        }
 yy81:
@@ -1972,81 +1965,81 @@ yy81:
        case 2:         goto yy36;
        case 3:         goto yy48;
        case 4:         goto yy83;
-       case 5:         goto yy105;
-       case 6:         goto yy133;
-       case 7:         goto yy148;
-       case 8:         goto yy157;
-       case 9:         goto yy159;
-       case 10:        goto yy161;
-       case 11:        goto yy169;
-       case 12:        goto yy171;
-       case 13:        goto yy205;
-       case 14:        goto yy218;
-       case 15:        goto yy222;
-       case 16:        goto yy224;
-       case 17:        goto yy235;
-       case 18:        goto yy240;
-       case 19:        goto yy248;
-       case 20:        goto yy250;
-       case 21:        goto yy252;
-       case 22:        goto yy256;
-       case 23:        goto yy266;
-       case 24:        goto yy283;
-       case 25:        goto yy288;
-       case 26:        goto yy310;
-       case 27:        goto yy312;
-       case 28:        goto yy319;
-       case 29:        goto yy324;
-       case 30:        goto yy328;
-       case 31:        goto yy332;
-       case 32:        goto yy334;
-       case 33:        goto yy352;
-       case 34:        goto yy357;
-       case 35:        goto yy360;
-       case 36:        goto yy362;
-       case 37:        goto yy365;
-       case 38:        goto yy368;
-       case 39:        goto yy375;
-       case 40:        goto yy381;
-       case 41:        goto yy383;
-       case 42:        goto yy387;
-       case 43:        goto yy389;
-       case 44:        goto yy392;
-       case 45:        goto yy394;
-       case 46:        goto yy408;
-       case 47:        goto yy410;
-       case 48:        goto yy423;
-       case 49:        goto yy425;
-       case 50:        goto yy430;
-       case 51:        goto yy432;
-       case 52:        goto yy437;
-       case 53:        goto yy444;
-       case 54:        goto yy448;
-       case 55:        goto yy453;
-       case 56:        goto yy457;
-       case 57:        goto yy460;
-       case 58:        goto yy465;
-       case 59:        goto yy470;
-       case 60:        goto yy473;
-       case 61:        goto yy477;
-       case 62:        goto yy480;
-       case 63:        goto yy483;
-       case 64:        goto yy485;
-       case 65:        goto yy489;
-       case 66:        goto yy491;
-       case 67:        goto yy493;
-       case 68:        goto yy496;
-       case 69:        goto yy500;
-       case 70:        goto yy502;
-       case 71:        goto yy505;
-       case 72:        goto yy511;
-       case 73:        goto yy515;
-       case 74:        goto yy517;
-       case 75:        goto yy520;
-       case 76:        goto yy522;
-       case 77:        goto yy525;
-       case 78:        goto yy527;
-       default:        goto yy531;
+       case 5:         goto yy107;
+       case 6:         goto yy135;
+       case 7:         goto yy150;
+       case 8:         goto yy159;
+       case 9:         goto yy161;
+       case 10:        goto yy163;
+       case 11:        goto yy171;
+       case 12:        goto yy173;
+       case 13:        goto yy208;
+       case 14:        goto yy223;
+       case 15:        goto yy227;
+       case 16:        goto yy229;
+       case 17:        goto yy240;
+       case 18:        goto yy245;
+       case 19:        goto yy253;
+       case 20:        goto yy255;
+       case 21:        goto yy257;
+       case 22:        goto yy261;
+       case 23:        goto yy271;
+       case 24:        goto yy288;
+       case 25:        goto yy293;
+       case 26:        goto yy317;
+       case 27:        goto yy319;
+       case 28:        goto yy326;
+       case 29:        goto yy331;
+       case 30:        goto yy335;
+       case 31:        goto yy339;
+       case 32:        goto yy341;
+       case 33:        goto yy359;
+       case 34:        goto yy364;
+       case 35:        goto yy367;
+       case 36:        goto yy369;
+       case 37:        goto yy372;
+       case 38:        goto yy375;
+       case 39:        goto yy383;
+       case 40:        goto yy389;
+       case 41:        goto yy391;
+       case 42:        goto yy395;
+       case 43:        goto yy397;
+       case 44:        goto yy400;
+       case 45:        goto yy402;
+       case 46:        goto yy416;
+       case 47:        goto yy418;
+       case 48:        goto yy431;
+       case 49:        goto yy433;
+       case 50:        goto yy438;
+       case 51:        goto yy440;
+       case 52:        goto yy445;
+       case 53:        goto yy452;
+       case 54:        goto yy456;
+       case 55:        goto yy461;
+       case 56:        goto yy465;
+       case 57:        goto yy468;
+       case 58:        goto yy473;
+       case 59:        goto yy478;
+       case 60:        goto yy481;
+       case 61:        goto yy485;
+       case 62:        goto yy488;
+       case 63:        goto yy491;
+       case 64:        goto yy493;
+       case 65:        goto yy497;
+       case 66:        goto yy499;
+       case 67:        goto yy501;
+       case 68:        goto yy504;
+       case 69:        goto yy508;
+       case 70:        goto yy510;
+       case 71:        goto yy513;
+       case 72:        goto yy519;
+       case 73:        goto yy523;
+       case 74:        goto yy525;
+       case 75:        goto yy528;
+       case 76:        goto yy530;
+       case 77:        goto yy533;
+       case 78:        goto yy535;
+       default:        goto yy539;
        }
 yy82:
        YYDEBUG(82, YYPEEK ());
@@ -2060,13 +2053,168 @@ yy82:
        }
 yy83:
        YYDEBUG(83, YYPEEK ());
-#line 362 "../ada.re2c"
+#line 365 "../ada.re2c"
        {*id =  105; continue;}
-#line 2066 "../ada_re2c.c"
+#line 2059 "../ada_re2c.c"
 yy84:
        YYDEBUG(84, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
+       YYDEBUG(85, YYPEEK ());
+       switch (yych) {
+       case ' ':
+       case '!':
+       case '#':
+       case '$':
+       case '%':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case '*':
+       case '+':
+       case ',':
+       case '-':
+       case '.':
+       case '/':
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case ':':
+       case ';':
+       case '<':
+       case '=':
+       case '>':
+       case '?':
+       case '@':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '\\':
+       case ']':
+       case '^':
+       case '_':
+       case '`':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':
+       case '{':
+       case '|':
+       case '}':
+       case '~':
+       case 0x7F:      goto yy79;
+       case '"':       goto yy204;
+       case '[':       goto yy84;
+       case 0xC2:
+       case 0xC3:
+       case 0xC4:
+       case 0xC5:
+       case 0xC6:
+       case 0xC7:
+       case 0xC8:
+       case 0xC9:
+       case 0xCA:
+       case 0xCB:
+       case 0xCC:
+       case 0xCD:
+       case 0xCE:
+       case 0xCF:
+       case 0xD0:
+       case 0xD1:
+       case 0xD2:
+       case 0xD3:
+       case 0xD4:
+       case 0xD5:
+       case 0xD6:
+       case 0xD7:
+       case 0xD8:
+       case 0xD9:
+       case 0xDA:
+       case 0xDB:
+       case 0xDC:
+       case 0xDD:
+       case 0xDE:
+       case 0xDF:      goto yy86;
+       case 0xE0:      goto yy87;
+       case 0xE1:
+       case 0xE2:
+       case 0xE3:
+       case 0xE4:
+       case 0xE5:
+       case 0xE6:
+       case 0xE7:
+       case 0xE8:
+       case 0xE9:
+       case 0xEA:
+       case 0xEB:
+       case 0xEC:
+       case 0xED:
+       case 0xEE:
+       case 0xEF:      goto yy88;
+       case 0xF0:      goto yy89;
+       case 0xF1:
+       case 0xF2:
+       case 0xF3:      goto yy90;
+       case 0xF4:      goto yy91;
+       default:        goto yy81;
+       }
+yy86:
+       YYDEBUG(86, YYPEEK ());
+       YYSKIP ();
+       yych = YYPEEK ();
        switch (yych) {
        case 0x80:
        case 0x81:
@@ -2134,8 +2282,8 @@ yy84:
        case 0xBF:      goto yy79;
        default:        goto yy81;
        }
-yy85:
-       YYDEBUG(85, YYPEEK ());
+yy87:
+       YYDEBUG(87, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -2170,11 +2318,11 @@ yy85:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy84;
+       case 0xBF:      goto yy86;
        default:        goto yy81;
        }
-yy86:
-       YYDEBUG(86, YYPEEK ());
+yy88:
+       YYDEBUG(88, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -2241,11 +2389,11 @@ yy86:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy84;
+       case 0xBF:      goto yy86;
        default:        goto yy81;
        }
-yy87:
-       YYDEBUG(87, YYPEEK ());
+yy89:
+       YYDEBUG(89, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -2296,11 +2444,11 @@ yy87:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy86;
+       case 0xBF:      goto yy88;
        default:        goto yy81;
        }
-yy88:
-       YYDEBUG(88, YYPEEK ());
+yy90:
+       YYDEBUG(90, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -2367,11 +2515,11 @@ yy88:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy86;
+       case 0xBF:      goto yy88;
        default:        goto yy81;
        }
-yy89:
-       YYDEBUG(89, YYPEEK ());
+yy91:
+       YYDEBUG(91, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -2390,24 +2538,7 @@ yy89:
        case 0x8C:
        case 0x8D:
        case 0x8E:
-       case 0x8F:      goto yy86;
-       default:        goto yy81;
-       }
-yy90:
-       YYDEBUG(90, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'l':       goto yy202;
-       case 'n':       goto yy203;
-       default:        goto yy81;
-       }
-yy91:
-       YYDEBUG(91, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'f':       goto yy103;
+       case 0x8F:      goto yy88;
        default:        goto yy81;
        }
 yy92:
@@ -2415,7 +2546,8 @@ yy92:
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
-       case '\'':      goto yy204;
+       case 'l':       goto yy205;
+       case 'n':       goto yy206;
        default:        goto yy81;
        }
 yy93:
@@ -2423,7 +2555,7 @@ yy93:
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
-       case '\'':      goto yy206;
+       case 'f':       goto yy105;
        default:        goto yy81;
        }
 yy94:
@@ -2431,8 +2563,7 @@ yy94:
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
-       case '"':       goto yy207;
-       case '\'':      goto yy204;
+       case '\'':      goto yy207;
        default:        goto yy81;
        }
 yy95:
@@ -2440,8 +2571,25 @@ yy95:
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
-       case 0x80:
-       case 0x81:
+       case '\'':      goto yy209;
+       default:        goto yy81;
+       }
+yy96:
+       YYDEBUG(96, YYPEEK ());
+       YYSKIP ();
+       yych = YYPEEK ();
+       switch (yych) {
+       case '"':       goto yy210;
+       case '\'':      goto yy207;
+       default:        goto yy81;
+       }
+yy97:
+       YYDEBUG(97, YYPEEK ());
+       YYSKIP ();
+       yych = YYPEEK ();
+       switch (yych) {
+       case 0x80:
+       case 0x81:
        case 0x82:
        case 0x83:
        case 0x84:
@@ -2503,11 +2651,11 @@ yy95:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy92;
+       case 0xBF:      goto yy94;
        default:        goto yy81;
        }
-yy96:
-       YYDEBUG(96, YYPEEK ());
+yy98:
+       YYDEBUG(98, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -2542,11 +2690,11 @@ yy96:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy95;
+       case 0xBF:      goto yy97;
        default:        goto yy81;
        }
-yy97:
-       YYDEBUG(97, YYPEEK ());
+yy99:
+       YYDEBUG(99, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -2613,11 +2761,11 @@ yy97:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy95;
+       case 0xBF:      goto yy97;
        default:        goto yy81;
        }
-yy98:
-       YYDEBUG(98, YYPEEK ());
+yy100:
+       YYDEBUG(100, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -2668,11 +2816,11 @@ yy98:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy97;
+       case 0xBF:      goto yy99;
        default:        goto yy81;
        }
-yy99:
-       YYDEBUG(99, YYPEEK ());
+yy101:
+       YYDEBUG(101, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -2739,11 +2887,11 @@ yy99:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy97;
+       case 0xBF:      goto yy99;
        default:        goto yy81;
        }
-yy100:
-       YYDEBUG(100, YYPEEK ());
+yy102:
+       YYDEBUG(102, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -2762,29 +2910,28 @@ yy100:
        case 0x8C:
        case 0x8D:
        case 0x8E:
-       case 0x8F:      goto yy97;
+       case 0x8F:      goto yy99;
        default:        goto yy81;
        }
-yy101:
-       YYDEBUG(101, YYPEEK ());
-       YYSKIP ();
-       YYDEBUG(102, YYPEEK ());
-#line 357 "../ada.re2c"
-       {*id =  100; continue;}
-#line 2775 "../ada_re2c.c"
 yy103:
        YYDEBUG(103, YYPEEK ());
+       YYSKIP ();
+       YYDEBUG(104, YYPEEK ());
+#line 360 "../ada.re2c"
+       {*id =  100; continue;}
+#line 2923 "../ada_re2c.c"
+yy105:
+       YYDEBUG(105, YYPEEK ());
        yyaccept = 5;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
-       YYDEBUG(104, YYPEEK ());
+       YYDEBUG(106, YYPEEK ());
        switch (yych) {
        case 0x00:
        case 0x01:
        case 0x02:
        case 0x03:
-       case 0x04:
        case 0x05:
        case 0x06:
        case 0x07:
@@ -2906,7 +3053,7 @@ yy103:
        case '|':
        case '}':
        case '~':
-       case 0x7F:      goto yy103;
+       case 0x7F:      goto yy105;
        case 0xC2:
        case 0xC3:
        case 0xC4:
@@ -2936,8 +3083,8 @@ yy103:
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy208;
-       case 0xE0:      goto yy209;
+       case 0xDF:      goto yy211;
+       case 0xE0:      goto yy212;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -2952,49 +3099,52 @@ yy103:
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy210;
-       case 0xF0:      goto yy211;
+       case 0xEF:      goto yy213;
+       case 0xF0:      goto yy214;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy212;
-       case 0xF4:      goto yy213;
-       default:        goto yy105;
+       case 0xF3:      goto yy215;
+       case 0xF4:      goto yy216;
+       default:        goto yy107;
        }
-yy105:
-       YYDEBUG(105, YYPEEK ());
-#line 259 "../ada.re2c"
-       {*id =  2; continue;}
-#line 2968 "../ada_re2c.c"
-yy106:
-       YYDEBUG(106, YYPEEK ());
-       YYSKIP ();
+yy107:
        YYDEBUG(107, YYPEEK ());
-#line 342 "../ada.re2c"
-       {*id =  85; continue;}
-#line 2975 "../ada_re2c.c"
+#line 262 "../ada.re2c"
+       {*id =  2; continue;}
+#line 3115 "../ada_re2c.c"
 yy108:
        YYDEBUG(108, YYPEEK ());
        YYSKIP ();
        YYDEBUG(109, YYPEEK ());
-#line 355 "../ada.re2c"
-       {*id =  98; continue;}
-#line 2982 "../ada_re2c.c"
+#line 345 "../ada.re2c"
+       {*id =  85; continue;}
+#line 3122 "../ada_re2c.c"
 yy110:
        YYDEBUG(110, YYPEEK ());
        YYSKIP ();
+       YYDEBUG(111, YYPEEK ());
+#line 358 "../ada.re2c"
+       {*id =  98; continue;}
+#line 3129 "../ada_re2c.c"
+yy112:
+       YYDEBUG(112, YYPEEK ());
+       YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
        case '#':       goto yy81;
-       default:        goto yy215;
+       default:        goto yy218;
        }
-yy111:
-       YYDEBUG(111, YYPEEK ());
+yy113:
+       YYDEBUG(113, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
-       YYDEBUG(112, YYPEEK ());
+       YYDEBUG(114, YYPEEK ());
        switch (yych) {
        case '-':
        case '.':
+       case 'E':
+       case '_':
+       case 'e':       goto yy113;
        case '0':
        case '1':
        case '2':
@@ -3004,132 +3154,119 @@ yy111:
        case '6':
        case '7':
        case '8':
-       case '9':
-       case 'A':
-       case 'B':
-       case 'C':
-       case 'D':
-       case 'E':
-       case 'F':
-       case '_':
-       case 'a':
-       case 'b':
-       case 'c':
-       case 'd':
-       case 'e':
-       case 'f':       goto yy111;
-       default:        goto yy36;
+       case '9':       goto yy219;
+       default:        goto yy81;
        }
-yy113:
-       YYDEBUG(113, YYPEEK ());
-       YYSKIP ();
-       YYDEBUG(114, YYPEEK ());
-#line 339 "../ada.re2c"
-       {*id =  82; continue;}
-#line 3030 "../ada_re2c.c"
 yy115:
        YYDEBUG(115, YYPEEK ());
        YYSKIP ();
        YYDEBUG(116, YYPEEK ());
-#line 350 "../ada.re2c"
-       {*id =  93; continue;}
-#line 3037 "../ada_re2c.c"
+#line 342 "../ada.re2c"
+       {*id =  82; continue;}
+#line 3167 "../ada_re2c.c"
 yy117:
        YYDEBUG(117, YYPEEK ());
        YYSKIP ();
        YYDEBUG(118, YYPEEK ());
-#line 349 "../ada.re2c"
-       {*id =  92; continue;}
-#line 3044 "../ada_re2c.c"
+#line 353 "../ada.re2c"
+       {*id =  93; continue;}
+#line 3174 "../ada_re2c.c"
 yy119:
        YYDEBUG(119, YYPEEK ());
        YYSKIP ();
        YYDEBUG(120, YYPEEK ());
-#line 337 "../ada.re2c"
-       {*id =  80; continue;}
-#line 3051 "../ada_re2c.c"
+#line 352 "../ada.re2c"
+       {*id =  92; continue;}
+#line 3181 "../ada_re2c.c"
 yy121:
        YYDEBUG(121, YYPEEK ());
        YYSKIP ();
        YYDEBUG(122, YYPEEK ());
-#line 344 "../ada.re2c"
-       {*id =  87; continue;}
-#line 3058 "../ada_re2c.c"
+#line 340 "../ada.re2c"
+       {*id =  80; continue;}
+#line 3188 "../ada_re2c.c"
 yy123:
        YYDEBUG(123, YYPEEK ());
        YYSKIP ();
        YYDEBUG(124, YYPEEK ());
-#line 346 "../ada.re2c"
-       {*id =  89; continue;}
-#line 3065 "../ada_re2c.c"
+#line 347 "../ada.re2c"
+       {*id =  87; continue;}
+#line 3195 "../ada_re2c.c"
 yy125:
        YYDEBUG(125, YYPEEK ());
        YYSKIP ();
        YYDEBUG(126, YYPEEK ());
-#line 347 "../ada.re2c"
-       {*id =  90; continue;}
-#line 3072 "../ada_re2c.c"
+#line 349 "../ada.re2c"
+       {*id =  89; continue;}
+#line 3202 "../ada_re2c.c"
 yy127:
        YYDEBUG(127, YYPEEK ());
+       YYSKIP ();
+       YYDEBUG(128, YYPEEK ());
+#line 350 "../ada.re2c"
+       {*id =  90; continue;}
+#line 3209 "../ada_re2c.c"
+yy129:
+       YYDEBUG(129, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'O':
-       case 'o':       goto yy216;
+       case 'o':       goto yy221;
        case 'S':
-       case 's':       goto yy217;
+       case 's':       goto yy222;
        default:        goto yy56;
        }
-yy128:
-       YYDEBUG(128, YYPEEK ());
+yy130:
+       YYDEBUG(130, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'C':
-       case 'c':       goto yy219;
+       case 'c':       goto yy224;
        default:        goto yy56;
        }
-yy129:
-       YYDEBUG(129, YYPEEK ());
+yy131:
+       YYDEBUG(131, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'I':
-       case 'i':       goto yy220;
+       case 'i':       goto yy225;
        case 'L':
-       case 'l':       goto yy221;
+       case 'l':       goto yy226;
        default:        goto yy56;
        }
-yy130:
-       YYDEBUG(130, YYPEEK ());
+yy132:
+       YYDEBUG(132, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'D':
-       case 'd':       goto yy223;
+       case 'd':       goto yy228;
        default:        goto yy56;
        }
-yy131:
-       YYDEBUG(131, YYPEEK ());
+yy133:
+       YYDEBUG(133, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'R':
-       case 'r':       goto yy225;
+       case 'r':       goto yy230;
        default:        goto yy56;
        }
-yy132:
-       YYDEBUG(132, YYPEEK ());
+yy134:
+       YYDEBUG(134, YYPEEK ());
        yyaccept = 6;
        YYSKIP ();
        YYBACKUP ();
@@ -3250,23 +3387,23 @@ yy132:
        case 0xF2:
        case 0xF3:
        case 0xF4:      goto yy56;
-       default:        goto yy133;
+       default:        goto yy135;
        }
-yy133:
-       YYDEBUG(133, YYPEEK ());
-#line 269 "../ada.re2c"
+yy135:
+       YYDEBUG(135, YYPEEK ());
+#line 272 "../ada.re2c"
        {*id =  12; continue;}
-#line 3260 "../ada_re2c.c"
-yy134:
-       YYDEBUG(134, YYPEEK ());
+#line 3397 "../ada_re2c.c"
+yy136:
+       YYDEBUG(136, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
-       case '"':       goto yy192;
+       case '"':       goto yy194;
        default:        goto yy81;
        }
-yy135:
-       YYDEBUG(135, YYPEEK ());
+yy137:
+       YYDEBUG(137, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -3336,8 +3473,8 @@ yy135:
        case 0xBF:      goto yy55;
        default:        goto yy81;
        }
-yy136:
-       YYDEBUG(136, YYPEEK ());
+yy138:
+       YYDEBUG(138, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -3372,11 +3509,11 @@ yy136:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy135;
+       case 0xBF:      goto yy137;
        default:        goto yy81;
        }
-yy137:
-       YYDEBUG(137, YYPEEK ());
+yy139:
+       YYDEBUG(139, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -3443,11 +3580,11 @@ yy137:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy135;
+       case 0xBF:      goto yy137;
        default:        goto yy81;
        }
-yy138:
-       YYDEBUG(138, YYPEEK ());
+yy140:
+       YYDEBUG(140, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -3498,11 +3635,11 @@ yy138:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy137;
+       case 0xBF:      goto yy139;
        default:        goto yy81;
        }
-yy139:
-       YYDEBUG(139, YYPEEK ());
+yy141:
+       YYDEBUG(141, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -3569,11 +3706,11 @@ yy139:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy137;
+       case 0xBF:      goto yy139;
        default:        goto yy81;
        }
-yy140:
-       YYDEBUG(140, YYPEEK ());
+yy142:
+       YYDEBUG(142, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -3592,79 +3729,79 @@ yy140:
        case 0x8C:
        case 0x8D:
        case 0x8E:
-       case 0x8F:      goto yy137;
+       case 0x8F:      goto yy139;
        default:        goto yy81;
        }
-yy141:
-       YYDEBUG(141, YYPEEK ());
+yy143:
+       YYDEBUG(143, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'G':
-       case 'g':       goto yy226;
+       case 'g':       goto yy231;
        default:        goto yy56;
        }
-yy142:
-       YYDEBUG(142, YYPEEK ());
+yy144:
+       YYDEBUG(144, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'D':
-       case 'd':       goto yy227;
+       case 'd':       goto yy232;
        default:        goto yy56;
        }
-yy143:
-       YYDEBUG(143, YYPEEK ());
+yy145:
+       YYDEBUG(145, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'S':
-       case 's':       goto yy228;
+       case 's':       goto yy233;
        default:        goto yy56;
        }
-yy144:
-       YYDEBUG(144, YYPEEK ());
+yy146:
+       YYDEBUG(146, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'N':
-       case 'n':       goto yy229;
+       case 'n':       goto yy234;
        default:        goto yy56;
        }
-yy145:
-       YYDEBUG(145, YYPEEK ());
+yy147:
+       YYDEBUG(147, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'C':
-       case 'c':       goto yy230;
+       case 'c':       goto yy235;
        case 'L':
-       case 'l':       goto yy231;
+       case 'l':       goto yy236;
        default:        goto yy56;
        }
-yy146:
-       YYDEBUG(146, YYPEEK ());
+yy148:
+       YYDEBUG(148, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'G':
-       case 'g':       goto yy232;
+       case 'g':       goto yy237;
        default:        goto yy56;
        }
-yy147:
-       YYDEBUG(147, YYPEEK ());
+yy149:
+       YYDEBUG(149, YYPEEK ());
        yyaccept = 7;
        YYSKIP ();
        YYBACKUP ();
@@ -3785,96 +3922,96 @@ yy147:
        case 0xF2:
        case 0xF3:
        case 0xF4:      goto yy56;
-       default:        goto yy148;
+       default:        goto yy150;
        }
-yy148:
-       YYDEBUG(148, YYPEEK ());
-#line 278 "../ada.re2c"
+yy150:
+       YYDEBUG(150, YYPEEK ());
+#line 281 "../ada.re2c"
        {*id =  21; continue;}
-#line 3795 "../ada_re2c.c"
-yy149:
-       YYDEBUG(149, YYPEEK ());
+#line 3932 "../ada_re2c.c"
+yy151:
+       YYDEBUG(151, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'S':
-       case 's':       goto yy233;
+       case 's':       goto yy238;
        default:        goto yy56;
        }
-yy150:
-       YYDEBUG(150, YYPEEK ());
+yy152:
+       YYDEBUG(152, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'D':
-       case 'd':       goto yy234;
+       case 'd':       goto yy239;
        case 'T':
-       case 't':       goto yy236;
+       case 't':       goto yy241;
        default:        goto yy56;
        }
-yy151:
-       YYDEBUG(151, YYPEEK ());
+yy153:
+       YYDEBUG(153, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'C':
-       case 'c':       goto yy237;
+       case 'c':       goto yy242;
        case 'I':
-       case 'i':       goto yy238;
+       case 'i':       goto yy243;
        default:        goto yy56;
        }
-yy152:
-       YYDEBUG(152, YYPEEK ());
+yy154:
+       YYDEBUG(154, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'R':
-       case 'r':       goto yy239;
+       case 'r':       goto yy244;
        default:        goto yy56;
        }
-yy153:
-       YYDEBUG(153, YYPEEK ());
+yy155:
+       YYDEBUG(155, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'N':
-       case 'n':       goto yy241;
+       case 'n':       goto yy246;
        default:        goto yy56;
        }
-yy154:
-       YYDEBUG(154, YYPEEK ());
+yy156:
+       YYDEBUG(156, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'N':
-       case 'n':       goto yy242;
+       case 'n':       goto yy247;
        default:        goto yy56;
        }
-yy155:
-       YYDEBUG(155, YYPEEK ());
+yy157:
+       YYDEBUG(157, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'T':
-       case 't':       goto yy243;
+       case 't':       goto yy248;
        default:        goto yy56;
        }
-yy156:
-       YYDEBUG(156, YYPEEK ());
+yy158:
+       YYDEBUG(158, YYPEEK ());
        yyaccept = 8;
        YYSKIP ();
        YYBACKUP ();
@@ -3995,15 +4132,15 @@ yy156:
        case 0xF2:
        case 0xF3:
        case 0xF4:      goto yy56;
-       default:        goto yy157;
+       default:        goto yy159;
        }
-yy157:
-       YYDEBUG(157, YYPEEK ());
-#line 289 "../ada.re2c"
+yy159:
+       YYDEBUG(159, YYPEEK ());
+#line 292 "../ada.re2c"
        {*id =  32; continue;}
-#line 4005 "../ada_re2c.c"
-yy158:
-       YYDEBUG(158, YYPEEK ());
+#line 4142 "../ada_re2c.c"
+yy160:
+       YYDEBUG(160, YYPEEK ());
        yyaccept = 9;
        YYSKIP ();
        YYBACKUP ();
@@ -4123,16 +4260,16 @@ yy158:
        case 0xF3:
        case 0xF4:      goto yy56;
        case 'T':
-       case 't':       goto yy244;
-       default:        goto yy159;
+       case 't':       goto yy249;
+       default:        goto yy161;
        }
-yy159:
-       YYDEBUG(159, YYPEEK ());
-#line 290 "../ada.re2c"
+yy161:
+       YYDEBUG(161, YYPEEK ());
+#line 293 "../ada.re2c"
        {*id =  33; continue;}
-#line 4134 "../ada_re2c.c"
-yy160:
-       YYDEBUG(160, YYPEEK ());
+#line 4271 "../ada_re2c.c"
+yy162:
+       YYDEBUG(162, YYPEEK ());
        yyaccept = 10;
        YYSKIP ();
        YYBACKUP ();
@@ -4253,81 +4390,81 @@ yy160:
        case 0xF2:
        case 0xF3:
        case 0xF4:      goto yy56;
-       default:        goto yy161;
+       default:        goto yy163;
        }
-yy161:
-       YYDEBUG(161, YYPEEK ());
-#line 292 "../ada.re2c"
+yy163:
+       YYDEBUG(163, YYPEEK ());
+#line 295 "../ada.re2c"
        {*id =  35; continue;}
-#line 4263 "../ada_re2c.c"
-yy162:
-       YYDEBUG(162, YYPEEK ());
+#line 4400 "../ada_re2c.c"
+yy164:
+       YYDEBUG(164, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'M':
-       case 'm':       goto yy245;
+       case 'm':       goto yy250;
        default:        goto yy56;
        }
-yy163:
-       YYDEBUG(163, YYPEEK ());
+yy165:
+       YYDEBUG(165, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'O':
-       case 'o':       goto yy246;
+       case 'o':       goto yy251;
        default:        goto yy56;
        }
-yy164:
-       YYDEBUG(164, YYPEEK ());
+yy166:
+       YYDEBUG(166, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'D':
-       case 'd':       goto yy247;
+       case 'd':       goto yy252;
        default:        goto yy56;
        }
-yy165:
-       YYDEBUG(165, YYPEEK ());
+yy167:
+       YYDEBUG(167, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'W':
-       case 'w':       goto yy249;
+       case 'w':       goto yy254;
        default:        goto yy56;
        }
-yy166:
-       YYDEBUG(166, YYPEEK ());
+yy168:
+       YYDEBUG(168, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'T':
-       case 't':       goto yy251;
+       case 't':       goto yy256;
        default:        goto yy56;
        }
-yy167:
-       YYDEBUG(167, YYPEEK ());
+yy169:
+       YYDEBUG(169, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'L':
-       case 'l':       goto yy253;
+       case 'l':       goto yy258;
        default:        goto yy56;
        }
-yy168:
-       YYDEBUG(168, YYPEEK ());
+yy170:
+       YYDEBUG(170, YYPEEK ());
        yyaccept = 11;
        YYSKIP ();
        YYBACKUP ();
@@ -4448,15 +4585,15 @@ yy168:
        case 0xF2:
        case 0xF3:
        case 0xF4:      goto yy56;
-       default:        goto yy169;
+       default:        goto yy171;
        }
-yy169:
-       YYDEBUG(169, YYPEEK ());
-#line 299 "../ada.re2c"
+yy171:
+       YYDEBUG(171, YYPEEK ());
+#line 302 "../ada.re2c"
        {*id =  42; continue;}
-#line 4458 "../ada_re2c.c"
-yy170:
-       YYDEBUG(170, YYPEEK ());
+#line 4595 "../ada_re2c.c"
+yy172:
+       YYDEBUG(172, YYPEEK ());
        yyaccept = 12;
        YYSKIP ();
        YYBACKUP ();
@@ -4577,257 +4714,257 @@ yy170:
        case 0xF2:
        case 0xF3:
        case 0xF4:      goto yy56;
-       default:        goto yy171;
+       default:        goto yy173;
        }
-yy171:
-       YYDEBUG(171, YYPEEK ());
-#line 300 "../ada.re2c"
+yy173:
+       YYDEBUG(173, YYPEEK ());
+#line 303 "../ada.re2c"
        {*id =  43; continue;}
-#line 4587 "../ada_re2c.c"
-yy172:
-       YYDEBUG(172, YYPEEK ());
+#line 4724 "../ada_re2c.c"
+yy174:
+       YYDEBUG(174, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'H':
-       case 'h':       goto yy254;
+       case 'h':       goto yy259;
        default:        goto yy56;
        }
-yy173:
-       YYDEBUG(173, YYPEEK ());
+yy175:
+       YYDEBUG(175, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'T':
-       case 't':       goto yy255;
+       case 't':       goto yy260;
        default:        goto yy56;
        }
-yy174:
-       YYDEBUG(174, YYPEEK ());
+yy176:
+       YYDEBUG(176, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'E':
-       case 'e':       goto yy257;
+       case 'e':       goto yy262;
        default:        goto yy56;
        }
-yy175:
-       YYDEBUG(175, YYPEEK ());
+yy177:
+       YYDEBUG(177, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'C':
-       case 'c':       goto yy258;
+       case 'c':       goto yy263;
        default:        goto yy56;
        }
-yy176:
-       YYDEBUG(176, YYPEEK ());
+yy178:
+       YYDEBUG(178, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'A':
-       case 'a':       goto yy259;
+       case 'a':       goto yy264;
        case 'I':
-       case 'i':       goto yy260;
+       case 'i':       goto yy265;
        case 'O':
-       case 'o':       goto yy261;
+       case 'o':       goto yy266;
        default:        goto yy56;
        }
-yy177:
-       YYDEBUG(177, YYPEEK ());
+yy179:
+       YYDEBUG(179, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'I':
-       case 'i':       goto yy262;
+       case 'i':       goto yy267;
        case 'N':
-       case 'n':       goto yy263;
+       case 'n':       goto yy268;
        default:        goto yy56;
        }
-yy178:
-       YYDEBUG(178, YYPEEK ());
+yy180:
+       YYDEBUG(180, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'C':
-       case 'c':       goto yy264;
+       case 'c':       goto yy269;
        case 'M':
-       case 'm':       goto yy265;
+       case 'm':       goto yy270;
        case 'N':
-       case 'n':       goto yy267;
+       case 'n':       goto yy272;
        case 'Q':
-       case 'q':       goto yy268;
+       case 'q':       goto yy273;
        case 'T':
-       case 't':       goto yy269;
+       case 't':       goto yy274;
        case 'V':
-       case 'v':       goto yy270;
+       case 'v':       goto yy275;
        default:        goto yy56;
        }
-yy179:
-       YYDEBUG(179, YYPEEK ());
+yy181:
+       YYDEBUG(181, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'L':
-       case 'l':       goto yy271;
+       case 'l':       goto yy276;
        case 'P':
-       case 'p':       goto yy272;
+       case 'p':       goto yy277;
        default:        goto yy56;
        }
-yy180:
-       YYDEBUG(180, YYPEEK ());
+yy182:
+       YYDEBUG(182, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'M':
-       case 'm':       goto yy273;
+       case 'm':       goto yy278;
        default:        goto yy56;
        }
-yy181:
-       YYDEBUG(181, YYPEEK ());
+yy183:
+       YYDEBUG(183, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'B':
-       case 'b':       goto yy274;
+       case 'b':       goto yy279;
        default:        goto yy56;
        }
-yy182:
-       YYDEBUG(182, YYPEEK ());
+yy184:
+       YYDEBUG(184, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'N':
-       case 'n':       goto yy275;
+       case 'n':       goto yy280;
        default:        goto yy56;
        }
-yy183:
-       YYDEBUG(183, YYPEEK ());
+yy185:
+       YYDEBUG(185, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'G':
-       case 'g':       goto yy276;
+       case 'g':       goto yy281;
        case 'S':
-       case 's':       goto yy277;
+       case 's':       goto yy282;
        default:        goto yy56;
        }
-yy184:
-       YYDEBUG(184, YYPEEK ());
+yy186:
+       YYDEBUG(186, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'R':
-       case 'r':       goto yy278;
+       case 'r':       goto yy283;
        default:        goto yy56;
        }
-yy185:
-       YYDEBUG(185, YYPEEK ());
+yy187:
+       YYDEBUG(187, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'E':
-       case 'e':       goto yy279;
+       case 'e':       goto yy284;
        default:        goto yy56;
        }
-yy186:
-       YYDEBUG(186, YYPEEK ());
+yy188:
+       YYDEBUG(188, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'P':
-       case 'p':       goto yy280;
+       case 'p':       goto yy285;
        default:        goto yy56;
        }
-yy187:
-       YYDEBUG(187, YYPEEK ());
+yy189:
+       YYDEBUG(189, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'T':
-       case 't':       goto yy281;
+       case 't':       goto yy286;
        default:        goto yy56;
        }
-yy188:
-       YYDEBUG(188, YYPEEK ());
+yy190:
+       YYDEBUG(190, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'E':
-       case 'e':       goto yy282;
+       case 'e':       goto yy287;
        default:        goto yy56;
        }
-yy189:
-       YYDEBUG(189, YYPEEK ());
+yy191:
+       YYDEBUG(191, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'E':
-       case 'e':       goto yy284;
+       case 'e':       goto yy289;
        case 'I':
-       case 'i':       goto yy285;
+       case 'i':       goto yy290;
        default:        goto yy56;
        }
-yy190:
-       YYDEBUG(190, YYPEEK ());
+yy192:
+       YYDEBUG(192, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'T':
-       case 't':       goto yy286;
+       case 't':       goto yy291;
        default:        goto yy56;
        }
-yy191:
-       YYDEBUG(191, YYPEEK ());
+yy193:
+       YYDEBUG(193, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'R':
-       case 'r':       goto yy287;
+       case 'r':       goto yy292;
        default:        goto yy56;
        }
-yy192:
-       YYDEBUG(192, YYPEEK ());
+yy194:
+       YYDEBUG(194, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -4852,15 +4989,15 @@ yy192:
        case 'c':
        case 'd':
        case 'e':
-       case 'f':       goto yy289;
+       case 'f':       goto yy294;
        default:        goto yy81;
        }
-yy193:
-       YYDEBUG(193, YYPEEK ());
+yy195:
+       YYDEBUG(195, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
-yy194:
-       YYDEBUG(194, YYPEEK ());
+yy196:
+       YYDEBUG(196, YYPEEK ());
        switch (yych) {
        case 0x00:
        case 0x01:
@@ -4988,8 +5125,8 @@ yy194:
        case '{':
        case '|':
        case '~':
-       case 0x7F:      goto yy193;
-       case '}':       goto yy195;
+       case 0x7F:      goto yy195;
+       case '}':       goto yy197;
        case 0xC2:
        case 0xC3:
        case 0xC4:
@@ -5019,8 +5156,8 @@ yy194:
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy196;
-       case 0xE0:      goto yy197;
+       case 0xDF:      goto yy198;
+       case 0xE0:      goto yy199;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -5035,20 +5172,20 @@ yy194:
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy198;
-       case 0xF0:      goto yy199;
+       case 0xEF:      goto yy200;
+       case 0xF0:      goto yy201;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy200;
-       case 0xF4:      goto yy201;
+       case 0xF3:      goto yy202;
+       case 0xF4:      goto yy203;
        default:        goto yy81;
        }
-yy195:
-       YYDEBUG(195, YYPEEK ());
+yy197:
+       YYDEBUG(197, YYPEEK ());
        YYSKIP ();
-       goto yy105;
-yy196:
-       YYDEBUG(196, YYPEEK ());
+       goto yy107;
+yy198:
+       YYDEBUG(198, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -5115,11 +5252,11 @@ yy196:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy193;
+       case 0xBF:      goto yy195;
        default:        goto yy81;
        }
-yy197:
-       YYDEBUG(197, YYPEEK ());
+yy199:
+       YYDEBUG(199, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -5154,11 +5291,11 @@ yy197:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy196;
+       case 0xBF:      goto yy198;
        default:        goto yy81;
        }
-yy198:
-       YYDEBUG(198, YYPEEK ());
+yy200:
+       YYDEBUG(200, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -5225,11 +5362,11 @@ yy198:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy196;
+       case 0xBF:      goto yy198;
        default:        goto yy81;
        }
-yy199:
-       YYDEBUG(199, YYPEEK ());
+yy201:
+       YYDEBUG(201, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -5280,11 +5417,11 @@ yy199:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy198;
+       case 0xBF:      goto yy200;
        default:        goto yy81;
        }
-yy200:
-       YYDEBUG(200, YYPEEK ());
+yy202:
+       YYDEBUG(202, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -5351,11 +5488,11 @@ yy200:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy198;
+       case 0xBF:      goto yy200;
        default:        goto yy81;
        }
-yy201:
-       YYDEBUG(201, YYPEEK ());
+yy203:
+       YYDEBUG(203, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -5374,56 +5511,17 @@ yy201:
        case 0x8C:
        case 0x8D:
        case 0x8E:
-       case 0x8F:      goto yy198;
-       default:        goto yy81;
-       }
-yy202:
-       YYDEBUG(202, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 's':       goto yy291;
-       default:        goto yy81;
-       }
-yy203:
-       YYDEBUG(203, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'd':       goto yy103;
+       case 0x8F:      goto yy200;
        default:        goto yy81;
        }
 yy204:
        YYDEBUG(204, YYPEEK ());
-       YYSKIP ();
-yy205:
-       YYDEBUG(205, YYPEEK ());
-#line 363 "../ada.re2c"
-       {*id =  106; continue;}
-#line 5404 "../ada_re2c.c"
-yy206:
-       YYDEBUG(206, YYPEEK ());
-       yyaccept = 13;
+       yyaccept = 4;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
-       case ' ':
-       case '!':
-       case '"':
-       case '#':
-       case '$':
-       case '%':
-       case '&':
-       case '\'':
-       case '(':
-       case ')':
-       case '*':
-       case '+':
-       case ',':
-       case '-':
-       case '.':
-       case '/':
+       case '"':       goto yy79;
        case '0':
        case '1':
        case '2':
@@ -5434,24 +5532,95 @@ yy206:
        case '7':
        case '8':
        case '9':
-       case ':':
-       case ';':
-       case '<':
-       case '=':
-       case '>':
-       case '?':
-       case '@':
        case 'A':
        case 'B':
        case 'C':
        case 'D':
        case 'E':
        case 'F':
-       case 'G':
-       case 'H':
-       case 'I':
-       case 'J':
-       case 'K':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':       goto yy296;
+       default:        goto yy83;
+       }
+yy205:
+       YYDEBUG(205, YYPEEK ());
+       YYSKIP ();
+       yych = YYPEEK ();
+       switch (yych) {
+       case 's':       goto yy298;
+       default:        goto yy81;
+       }
+yy206:
+       YYDEBUG(206, YYPEEK ());
+       YYSKIP ();
+       yych = YYPEEK ();
+       switch (yych) {
+       case 'd':       goto yy105;
+       default:        goto yy81;
+       }
+yy207:
+       YYDEBUG(207, YYPEEK ());
+       YYSKIP ();
+yy208:
+       YYDEBUG(208, YYPEEK ());
+#line 366 "../ada.re2c"
+       {*id =  106; continue;}
+#line 5573 "../ada_re2c.c"
+yy209:
+       YYDEBUG(209, YYPEEK ());
+       yyaccept = 13;
+       YYSKIP ();
+       YYBACKUP ();
+       yych = YYPEEK ();
+       switch (yych) {
+       case ' ':
+       case '!':
+       case '"':
+       case '#':
+       case '$':
+       case '%':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case '*':
+       case '+':
+       case ',':
+       case '-':
+       case '.':
+       case '/':
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case ':':
+       case ';':
+       case '<':
+       case '=':
+       case '>':
+       case '?':
+       case '@':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
        case 'L':
        case 'M':
        case 'N':
@@ -5502,8 +5671,8 @@ yy206:
        case '|':
        case '}':
        case '~':
-       case 0x7F:      goto yy292;
-       case '[':       goto yy293;
+       case 0x7F:      goto yy299;
+       case '[':       goto yy300;
        case 0xC2:
        case 0xC3:
        case 0xC4:
@@ -5533,8 +5702,8 @@ yy206:
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy294;
-       case 0xE0:      goto yy295;
+       case 0xDF:      goto yy301;
+       case 0xE0:      goto yy302;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -5549,24 +5718,24 @@ yy206:
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy296;
-       case 0xF0:      goto yy297;
+       case 0xEF:      goto yy303;
+       case 0xF0:      goto yy304;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy298;
-       case 0xF4:      goto yy299;
-       default:        goto yy205;
+       case 0xF3:      goto yy305;
+       case 0xF4:      goto yy306;
+       default:        goto yy208;
        }
-yy207:
-       YYDEBUG(207, YYPEEK ());
+yy210:
+       YYDEBUG(210, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
        case '"':       goto yy81;
-       default:        goto yy301;
+       default:        goto yy308;
        }
-yy208:
-       YYDEBUG(208, YYPEEK ());
+yy211:
+       YYDEBUG(211, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -5633,11 +5802,11 @@ yy208:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy103;
+       case 0xBF:      goto yy105;
        default:        goto yy81;
        }
-yy209:
-       YYDEBUG(209, YYPEEK ());
+yy212:
+       YYDEBUG(212, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -5672,11 +5841,11 @@ yy209:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy208;
+       case 0xBF:      goto yy211;
        default:        goto yy81;
        }
-yy210:
-       YYDEBUG(210, YYPEEK ());
+yy213:
+       YYDEBUG(213, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -5743,11 +5912,11 @@ yy210:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy208;
+       case 0xBF:      goto yy211;
        default:        goto yy81;
        }
-yy211:
-       YYDEBUG(211, YYPEEK ());
+yy214:
+       YYDEBUG(214, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -5798,11 +5967,11 @@ yy211:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy210;
+       case 0xBF:      goto yy213;
        default:        goto yy81;
        }
-yy212:
-       YYDEBUG(212, YYPEEK ());
+yy215:
+       YYDEBUG(215, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -5869,11 +6038,11 @@ yy212:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy210;
+       case 0xBF:      goto yy213;
        default:        goto yy81;
        }
-yy213:
-       YYDEBUG(213, YYPEEK ());
+yy216:
+       YYDEBUG(216, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -5892,17 +6061,17 @@ yy213:
        case 0x8C:
        case 0x8D:
        case 0x8E:
-       case 0x8F:      goto yy210;
+       case 0x8F:      goto yy213;
        default:        goto yy81;
        }
-yy214:
-       YYDEBUG(214, YYPEEK ());
+yy217:
+       YYDEBUG(217, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
-yy215:
-       YYDEBUG(215, YYPEEK ());
+yy218:
+       YYDEBUG(218, YYPEEK ());
        switch (yych) {
-       case '#':       goto yy302;
+       case '#':       goto yy309;
        case '-':
        case '.':
        case '0':
@@ -5927,22 +6096,47 @@ yy215:
        case 'c':
        case 'd':
        case 'e':
-       case 'f':       goto yy214;
+       case 'f':       goto yy217;
        default:        goto yy81;
        }
-yy216:
-       YYDEBUG(216, YYPEEK ());
+yy219:
+       YYDEBUG(219, YYPEEK ());
+       yyaccept = 2;
+       YYSKIP ();
+       YYBACKUP ();
+       yych = YYPEEK ();
+       YYDEBUG(220, YYPEEK ());
+       switch (yych) {
+       case '-':
+       case '.':
+       case 'E':
+       case '_':
+       case 'e':       goto yy113;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':       goto yy219;
+       default:        goto yy36;
+       }
+yy221:
+       YYDEBUG(221, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'R':
-       case 'r':       goto yy303;
+       case 'r':       goto yy310;
        default:        goto yy56;
        }
-yy217:
-       YYDEBUG(217, YYPEEK ());
+yy222:
+       YYDEBUG(222, YYPEEK ());
        yyaccept = 14;
        YYSKIP ();
        YYBACKUP ();
@@ -6062,38 +6256,38 @@ yy217:
        case 0xF3:
        case 0xF4:      goto yy56;
        case 'T':
-       case 't':       goto yy304;
-       default:        goto yy218;
+       case 't':       goto yy311;
+       default:        goto yy223;
        }
-yy218:
-       YYDEBUG(218, YYPEEK ());
-#line 260 "../ada.re2c"
+yy223:
+       YYDEBUG(223, YYPEEK ());
+#line 263 "../ada.re2c"
        {*id =  3; continue;}
-#line 6073 "../ada_re2c.c"
-yy219:
-       YYDEBUG(219, YYPEEK ());
+#line 6267 "../ada_re2c.c"
+yy224:
+       YYDEBUG(224, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'E':
-       case 'e':       goto yy305;
+       case 'e':       goto yy312;
        default:        goto yy56;
        }
-yy220:
-       YYDEBUG(220, YYPEEK ());
+yy225:
+       YYDEBUG(225, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'A':
-       case 'a':       goto yy306;
+       case 'a':       goto yy313;
        default:        goto yy56;
        }
-yy221:
-       YYDEBUG(221, YYPEEK ());
+yy226:
+       YYDEBUG(226, YYPEEK ());
        yyaccept = 15;
        YYSKIP ();
        YYBACKUP ();
@@ -6214,15 +6408,15 @@ yy221:
        case 0xF2:
        case 0xF3:
        case 0xF4:      goto yy56;
-       default:        goto yy222;
+       default:        goto yy227;
        }
-yy222:
-       YYDEBUG(222, YYPEEK ());
-#line 266 "../ada.re2c"
+yy227:
+       YYDEBUG(227, YYPEEK ());
+#line 269 "../ada.re2c"
        {*id =  9; continue;}
-#line 6224 "../ada_re2c.c"
-yy223:
-       YYDEBUG(223, YYPEEK ());
+#line 6418 "../ada_re2c.c"
+yy228:
+       YYDEBUG(228, YYPEEK ());
        yyaccept = 16;
        YYSKIP ();
        YYBACKUP ();
@@ -6343,118 +6537,118 @@ yy223:
        case 0xF2:
        case 0xF3:
        case 0xF4:      goto yy56;
-       default:        goto yy224;
+       default:        goto yy229;
        }
-yy224:
-       YYDEBUG(224, YYPEEK ());
-#line 267 "../ada.re2c"
+yy229:
+       YYDEBUG(229, YYPEEK ());
+#line 270 "../ada.re2c"
        {*id =  10; continue;}
-#line 6353 "../ada_re2c.c"
-yy225:
-       YYDEBUG(225, YYPEEK ());
+#line 6547 "../ada_re2c.c"
+yy230:
+       YYDEBUG(230, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'A':
-       case 'a':       goto yy307;
+       case 'a':       goto yy314;
        default:        goto yy56;
        }
-yy226:
-       YYDEBUG(226, YYPEEK ());
+yy231:
+       YYDEBUG(231, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'I':
-       case 'i':       goto yy308;
+       case 'i':       goto yy315;
        default:        goto yy56;
        }
-yy227:
-       YYDEBUG(227, YYPEEK ());
+yy232:
+       YYDEBUG(232, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'Y':
-       case 'y':       goto yy309;
+       case 'y':       goto yy316;
        default:        goto yy56;
        }
-yy228:
-       YYDEBUG(228, YYPEEK ());
+yy233:
+       YYDEBUG(233, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'E':
-       case 'e':       goto yy311;
+       case 'e':       goto yy318;
        default:        goto yy56;
        }
-yy229:
-       YYDEBUG(229, YYPEEK ());
+yy234:
+       YYDEBUG(234, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'S':
-       case 's':       goto yy313;
+       case 's':       goto yy320;
        default:        goto yy56;
        }
-yy230:
-       YYDEBUG(230, YYPEEK ());
+yy235:
+       YYDEBUG(235, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'L':
-       case 'l':       goto yy314;
+       case 'l':       goto yy321;
        default:        goto yy56;
        }
-yy231:
-       YYDEBUG(231, YYPEEK ());
+yy236:
+       YYDEBUG(236, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'A':
-       case 'a':       goto yy315;
+       case 'a':       goto yy322;
        case 'T':
-       case 't':       goto yy316;
+       case 't':       goto yy323;
        default:        goto yy56;
        }
-yy232:
-       YYDEBUG(232, YYPEEK ());
+yy237:
+       YYDEBUG(237, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'I':
-       case 'i':       goto yy317;
+       case 'i':       goto yy324;
        default:        goto yy56;
        }
-yy233:
-       YYDEBUG(233, YYPEEK ());
+yy238:
+       YYDEBUG(238, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'E':
-       case 'e':       goto yy318;
+       case 'e':       goto yy325;
        case 'I':
-       case 'i':       goto yy320;
+       case 'i':       goto yy327;
        default:        goto yy56;
        }
-yy234:
-       YYDEBUG(234, YYPEEK ());
+yy239:
+       YYDEBUG(239, YYPEEK ());
        yyaccept = 17;
        YYSKIP ();
        YYBACKUP ();
@@ -6575,48 +6769,48 @@ yy234:
        case 0xF2:
        case 0xF3:
        case 0xF4:      goto yy56;
-       default:        goto yy235;
+       default:        goto yy240;
        }
-yy235:
-       YYDEBUG(235, YYPEEK ());
-#line 281 "../ada.re2c"
+yy240:
+       YYDEBUG(240, YYPEEK ());
+#line 284 "../ada.re2c"
        {*id =  24; continue;}
-#line 6585 "../ada_re2c.c"
-yy236:
-       YYDEBUG(236, YYPEEK ());
+#line 6779 "../ada_re2c.c"
+yy241:
+       YYDEBUG(241, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'R':
-       case 'r':       goto yy321;
+       case 'r':       goto yy328;
        default:        goto yy56;
        }
-yy237:
-       YYDEBUG(237, YYPEEK ());
+yy242:
+       YYDEBUG(242, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'E':
-       case 'e':       goto yy322;
+       case 'e':       goto yy329;
        default:        goto yy56;
        }
-yy238:
-       YYDEBUG(238, YYPEEK ());
+yy243:
+       YYDEBUG(243, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'T':
-       case 't':       goto yy323;
+       case 't':       goto yy330;
        default:        goto yy56;
        }
-yy239:
-       YYDEBUG(239, YYPEEK ());
+yy244:
+       YYDEBUG(244, YYPEEK ());
        yyaccept = 18;
        YYSKIP ();
        YYBACKUP ();
@@ -6737,81 +6931,81 @@ yy239:
        case 0xF2:
        case 0xF3:
        case 0xF4:      goto yy56;
-       default:        goto yy240;
+       default:        goto yy245;
        }
-yy240:
-       YYDEBUG(240, YYPEEK ());
-#line 285 "../ada.re2c"
+yy245:
+       YYDEBUG(245, YYPEEK ());
+#line 288 "../ada.re2c"
        {*id =  28; continue;}
-#line 6747 "../ada_re2c.c"
-yy241:
-       YYDEBUG(241, YYPEEK ());
+#line 6941 "../ada_re2c.c"
+yy246:
+       YYDEBUG(246, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'C':
-       case 'c':       goto yy325;
+       case 'c':       goto yy332;
        default:        goto yy56;
        }
-yy242:
-       YYDEBUG(242, YYPEEK ());
+yy247:
+       YYDEBUG(247, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'E':
-       case 'e':       goto yy326;
+       case 'e':       goto yy333;
        default:        goto yy56;
        }
-yy243:
-       YYDEBUG(243, YYPEEK ());
+yy248:
+       YYDEBUG(248, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'O':
-       case 'o':       goto yy327;
+       case 'o':       goto yy334;
        default:        goto yy56;
        }
-yy244:
-       YYDEBUG(244, YYPEEK ());
+yy249:
+       YYDEBUG(249, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'E':
-       case 'e':       goto yy329;
+       case 'e':       goto yy336;
        default:        goto yy56;
        }
-yy245:
-       YYDEBUG(245, YYPEEK ());
+yy250:
+       YYDEBUG(250, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'I':
-       case 'i':       goto yy330;
+       case 'i':       goto yy337;
        default:        goto yy56;
        }
-yy246:
-       YYDEBUG(246, YYPEEK ());
+yy251:
+       YYDEBUG(251, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'P':
-       case 'p':       goto yy331;
+       case 'p':       goto yy338;
        default:        goto yy56;
        }
-yy247:
-       YYDEBUG(247, YYPEEK ());
+yy252:
+       YYDEBUG(252, YYPEEK ());
        yyaccept = 19;
        YYSKIP ();
        YYBACKUP ();
@@ -6932,15 +7126,15 @@ yy247:
        case 0xF2:
        case 0xF3:
        case 0xF4:      goto yy56;
-       default:        goto yy248;
+       default:        goto yy253;
        }
-yy248:
-       YYDEBUG(248, YYPEEK ());
-#line 295 "../ada.re2c"
+yy253:
+       YYDEBUG(253, YYPEEK ());
+#line 298 "../ada.re2c"
        {*id =  38; continue;}
-#line 6942 "../ada_re2c.c"
-yy249:
-       YYDEBUG(249, YYPEEK ());
+#line 7136 "../ada_re2c.c"
+yy254:
+       YYDEBUG(254, YYPEEK ());
        yyaccept = 20;
        YYSKIP ();
        YYBACKUP ();
@@ -7061,15 +7255,15 @@ yy249:
        case 0xF2:
        case 0xF3:
        case 0xF4:      goto yy56;
-       default:        goto yy250;
+       default:        goto yy255;
        }
-yy250:
-       YYDEBUG(250, YYPEEK ());
-#line 296 "../ada.re2c"
+yy255:
+       YYDEBUG(255, YYPEEK ());
+#line 299 "../ada.re2c"
        {*id =  39; continue;}
-#line 7071 "../ada_re2c.c"
-yy251:
-       YYDEBUG(251, YYPEEK ());
+#line 7265 "../ada_re2c.c"
+yy256:
+       YYDEBUG(256, YYPEEK ());
        yyaccept = 21;
        YYSKIP ();
        YYBACKUP ();
@@ -7190,37 +7384,37 @@ yy251:
        case 0xF2:
        case 0xF3:
        case 0xF4:      goto yy56;
-       default:        goto yy252;
+       default:        goto yy257;
        }
-yy252:
-       YYDEBUG(252, YYPEEK ());
-#line 297 "../ada.re2c"
+yy257:
+       YYDEBUG(257, YYPEEK ());
+#line 300 "../ada.re2c"
        {*id =  40; continue;}
-#line 7200 "../ada_re2c.c"
-yy253:
-       YYDEBUG(253, YYPEEK ());
+#line 7394 "../ada_re2c.c"
+yy258:
+       YYDEBUG(258, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'L':
-       case 'l':       goto yy333;
+       case 'l':       goto yy340;
        default:        goto yy56;
        }
-yy254:
-       YYDEBUG(254, YYPEEK ());
+yy259:
+       YYDEBUG(259, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'E':
-       case 'e':       goto yy335;
+       case 'e':       goto yy342;
        default:        goto yy56;
        }
-yy255:
-       YYDEBUG(255, YYPEEK ());
+yy260:
+       YYDEBUG(260, YYPEEK ());
        yyaccept = 22;
        YYSKIP ();
        YYBACKUP ();
@@ -7341,105 +7535,105 @@ yy255:
        case 0xF2:
        case 0xF3:
        case 0xF4:      goto yy56;
-       default:        goto yy256;
+       default:        goto yy261;
        }
-yy256:
-       YYDEBUG(256, YYPEEK ());
-#line 302 "../ada.re2c"
+yy261:
+       YYDEBUG(261, YYPEEK ());
+#line 305 "../ada.re2c"
        {*id =  45; continue;}
-#line 7351 "../ada_re2c.c"
-yy257:
-       YYDEBUG(257, YYPEEK ());
+#line 7545 "../ada_re2c.c"
+yy262:
+       YYDEBUG(262, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'R':
-       case 'r':       goto yy336;
+       case 'r':       goto yy343;
        default:        goto yy56;
        }
-yy258:
-       YYDEBUG(258, YYPEEK ());
+yy263:
+       YYDEBUG(263, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'K':
-       case 'k':       goto yy337;
+       case 'k':       goto yy344;
        default:        goto yy56;
        }
-yy259:
-       YYDEBUG(259, YYPEEK ());
+yy264:
+       YYDEBUG(264, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'G':
-       case 'g':       goto yy338;
+       case 'g':       goto yy345;
        default:        goto yy56;
        }
-yy260:
-       YYDEBUG(260, YYPEEK ());
+yy265:
+       YYDEBUG(265, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'V':
-       case 'v':       goto yy339;
+       case 'v':       goto yy346;
        default:        goto yy56;
        }
-yy261:
-       YYDEBUG(261, YYPEEK ());
+yy266:
+       YYDEBUG(266, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'C':
-       case 'c':       goto yy340;
+       case 'c':       goto yy347;
        case 'T':
-       case 't':       goto yy341;
+       case 't':       goto yy348;
        default:        goto yy56;
        }
-yy262:
-       YYDEBUG(262, YYPEEK ());
+yy267:
+       YYDEBUG(267, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'S':
-       case 's':       goto yy342;
+       case 's':       goto yy349;
        default:        goto yy56;
        }
-yy263:
-       YYDEBUG(263, YYPEEK ());
+yy268:
+       YYDEBUG(268, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'G':
-       case 'g':       goto yy343;
+       case 'g':       goto yy350;
        default:        goto yy56;
        }
-yy264:
-       YYDEBUG(264, YYPEEK ());
+yy269:
+       YYDEBUG(269, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'O':
-       case 'o':       goto yy344;
+       case 'o':       goto yy351;
        default:        goto yy56;
        }
-yy265:
-       YYDEBUG(265, YYPEEK ());
+yy270:
+       YYDEBUG(270, YYPEEK ());
        yyaccept = 23;
        YYSKIP ();
        YYBACKUP ();
@@ -7560,180 +7754,180 @@ yy265:
        case 0xF2:
        case 0xF3:
        case 0xF4:      goto yy56;
-       default:        goto yy266;
+       default:        goto yy271;
        }
-yy266:
-       YYDEBUG(266, YYPEEK ());
-#line 312 "../ada.re2c"
+yy271:
+       YYDEBUG(271, YYPEEK ());
+#line 315 "../ada.re2c"
        {*id =  55; continue;}
-#line 7570 "../ada_re2c.c"
-yy267:
-       YYDEBUG(267, YYPEEK ());
+#line 7764 "../ada_re2c.c"
+yy272:
+       YYDEBUG(272, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'A':
-       case 'a':       goto yy345;
+       case 'a':       goto yy352;
        default:        goto yy56;
        }
-yy268:
-       YYDEBUG(268, YYPEEK ());
+yy273:
+       YYDEBUG(273, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'U':
-       case 'u':       goto yy346;
+       case 'u':       goto yy353;
        default:        goto yy56;
        }
-yy269:
-       YYDEBUG(269, YYPEEK ());
+yy274:
+       YYDEBUG(274, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'U':
-       case 'u':       goto yy347;
+       case 'u':       goto yy354;
        default:        goto yy56;
        }
-yy270:
-       YYDEBUG(270, YYPEEK ());
+yy275:
+       YYDEBUG(275, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'E':
-       case 'e':       goto yy348;
+       case 'e':       goto yy355;
        default:        goto yy56;
        }
-yy271:
-       YYDEBUG(271, YYPEEK ());
+yy276:
+       YYDEBUG(276, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'E':
-       case 'e':       goto yy349;
+       case 'e':       goto yy356;
        default:        goto yy56;
        }
-yy272:
-       YYDEBUG(272, YYPEEK ());
+yy277:
+       YYDEBUG(277, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'A':
-       case 'a':       goto yy350;
+       case 'a':       goto yy357;
        default:        goto yy56;
        }
-yy273:
-       YYDEBUG(273, YYPEEK ());
+yy278:
+       YYDEBUG(278, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'E':
-       case 'e':       goto yy351;
+       case 'e':       goto yy358;
        default:        goto yy56;
        }
-yy274:
-       YYDEBUG(274, YYPEEK ());
+yy279:
+       YYDEBUG(279, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'T':
-       case 't':       goto yy353;
+       case 't':       goto yy360;
        default:        goto yy56;
        }
-yy275:
-       YYDEBUG(275, YYPEEK ());
+yy280:
+       YYDEBUG(280, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'C':
-       case 'c':       goto yy354;
+       case 'c':       goto yy361;
        default:        goto yy56;
        }
-yy276:
-       YYDEBUG(276, YYPEEK ());
+yy281:
+       YYDEBUG(281, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'G':
-       case 'g':       goto yy355;
+       case 'g':       goto yy362;
        default:        goto yy56;
        }
-yy277:
-       YYDEBUG(277, YYPEEK ());
+yy282:
+       YYDEBUG(282, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'K':
-       case 'k':       goto yy356;
+       case 'k':       goto yy363;
        default:        goto yy56;
        }
-yy278:
-       YYDEBUG(278, YYPEEK ());
+yy283:
+       YYDEBUG(283, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'M':
-       case 'm':       goto yy358;
+       case 'm':       goto yy365;
        default:        goto yy56;
        }
-yy279:
-       YYDEBUG(279, YYPEEK ());
+yy284:
+       YYDEBUG(284, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'N':
-       case 'n':       goto yy359;
+       case 'n':       goto yy366;
        default:        goto yy56;
        }
-yy280:
-       YYDEBUG(280, YYPEEK ());
+yy285:
+       YYDEBUG(285, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'E':
-       case 'e':       goto yy361;
+       case 'e':       goto yy368;
        default:        goto yy56;
        }
-yy281:
-       YYDEBUG(281, YYPEEK ());
+yy286:
+       YYDEBUG(286, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'I':
-       case 'i':       goto yy363;
+       case 'i':       goto yy370;
        default:        goto yy56;
        }
-yy282:
-       YYDEBUG(282, YYPEEK ());
+yy287:
+       YYDEBUG(287, YYPEEK ());
        yyaccept = 24;
        YYSKIP ();
        YYBACKUP ();
@@ -7854,48 +8048,48 @@ yy282:
        case 0xF2:
        case 0xF3:
        case 0xF4:      goto yy56;
-       default:        goto yy283;
+       default:        goto yy288;
        }
-yy283:
-       YYDEBUG(283, YYPEEK ());
-#line 328 "../ada.re2c"
+yy288:
+       YYDEBUG(288, YYPEEK ());
+#line 331 "../ada.re2c"
        {*id =  71; continue;}
-#line 7864 "../ada_re2c.c"
-yy284:
-       YYDEBUG(284, YYPEEK ());
+#line 8058 "../ada_re2c.c"
+yy289:
+       YYDEBUG(289, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'N':
-       case 'n':       goto yy364;
+       case 'n':       goto yy371;
        default:        goto yy56;
        }
-yy285:
-       YYDEBUG(285, YYPEEK ());
+yy290:
+       YYDEBUG(290, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'L':
-       case 'l':       goto yy366;
+       case 'l':       goto yy373;
        default:        goto yy56;
        }
-yy286:
-       YYDEBUG(286, YYPEEK ());
+yy291:
+       YYDEBUG(291, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'H':
-       case 'h':       goto yy367;
+       case 'h':       goto yy374;
        default:        goto yy56;
        }
-yy287:
-       YYDEBUG(287, YYPEEK ());
+yy292:
+       YYDEBUG(292, YYPEEK ());
        yyaccept = 25;
        YYSKIP ();
        YYBACKUP ();
@@ -8016,20 +8210,20 @@ yy287:
        case 0xF2:
        case 0xF3:
        case 0xF4:      goto yy56;
-       default:        goto yy288;
+       default:        goto yy293;
        }
-yy288:
-       YYDEBUG(288, YYPEEK ());
-#line 332 "../ada.re2c"
+yy293:
+       YYDEBUG(293, YYPEEK ());
+#line 335 "../ada.re2c"
        {*id =  75; continue;}
-#line 8026 "../ada_re2c.c"
-yy289:
-       YYDEBUG(289, YYPEEK ());
+#line 8220 "../ada_re2c.c"
+yy294:
+       YYDEBUG(294, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
-       YYDEBUG(290, YYPEEK ());
+       YYDEBUG(295, YYPEEK ());
        switch (yych) {
-       case '"':       goto yy369;
+       case '"':       goto yy376;
        case '0':
        case '1':
        case '2':
@@ -8051,37 +8245,68 @@ yy289:
        case 'c':
        case 'd':
        case 'e':
-       case 'f':       goto yy289;
+       case 'f':       goto yy294;
        default:        goto yy81;
        }
-yy291:
-       YYDEBUG(291, YYPEEK ());
+yy296:
+       YYDEBUG(296, YYPEEK ());
+       YYSKIP ();
+       yych = YYPEEK ();
+       YYDEBUG(297, YYPEEK ());
+       switch (yych) {
+       case '"':       goto yy377;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':       goto yy296;
+       default:        goto yy81;
+       }
+yy298:
+       YYDEBUG(298, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
-       case 'e':       goto yy103;
-       case 'i':       goto yy91;
+       case 'e':       goto yy105;
+       case 'i':       goto yy93;
        default:        goto yy81;
        }
-yy292:
-       YYDEBUG(292, YYPEEK ());
+yy299:
+       YYDEBUG(299, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
-       case '\'':      goto yy370;
+       case '\'':      goto yy378;
        default:        goto yy81;
        }
-yy293:
-       YYDEBUG(293, YYPEEK ());
+yy300:
+       YYDEBUG(300, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
-       case '"':       goto yy372;
-       case '\'':      goto yy370;
+       case '"':       goto yy380;
+       case '\'':      goto yy378;
        default:        goto yy81;
        }
-yy294:
-       YYDEBUG(294, YYPEEK ());
+yy301:
+       YYDEBUG(301, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -8148,11 +8373,11 @@ yy294:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy292;
+       case 0xBF:      goto yy299;
        default:        goto yy81;
        }
-yy295:
-       YYDEBUG(295, YYPEEK ());
+yy302:
+       YYDEBUG(302, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -8187,11 +8412,11 @@ yy295:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy294;
+       case 0xBF:      goto yy301;
        default:        goto yy81;
        }
-yy296:
-       YYDEBUG(296, YYPEEK ());
+yy303:
+       YYDEBUG(303, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -8258,11 +8483,11 @@ yy296:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy294;
+       case 0xBF:      goto yy301;
        default:        goto yy81;
        }
-yy297:
-       YYDEBUG(297, YYPEEK ());
+yy304:
+       YYDEBUG(304, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -8313,11 +8538,11 @@ yy297:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy296;
+       case 0xBF:      goto yy303;
        default:        goto yy81;
        }
-yy298:
-       YYDEBUG(298, YYPEEK ());
+yy305:
+       YYDEBUG(305, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -8384,11 +8609,11 @@ yy298:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy296;
+       case 0xBF:      goto yy303;
        default:        goto yy81;
        }
-yy299:
-       YYDEBUG(299, YYPEEK ());
+yy306:
+       YYDEBUG(306, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -8407,17 +8632,17 @@ yy299:
        case 0x8C:
        case 0x8D:
        case 0x8E:
-       case 0x8F:      goto yy296;
+       case 0x8F:      goto yy303;
        default:        goto yy81;
        }
-yy300:
-       YYDEBUG(300, YYPEEK ());
+yy307:
+       YYDEBUG(307, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
-yy301:
-       YYDEBUG(301, YYPEEK ());
+yy308:
+       YYDEBUG(308, YYPEEK ());
        switch (yych) {
-       case '"':       goto yy373;
+       case '"':       goto yy381;
        case '0':
        case '1':
        case '2':
@@ -8439,83 +8664,83 @@ yy301:
        case 'c':
        case 'd':
        case 'e':
-       case 'f':       goto yy300;
+       case 'f':       goto yy307;
        default:        goto yy81;
        }
-yy302:
-       YYDEBUG(302, YYPEEK ());
+yy309:
+       YYDEBUG(309, YYPEEK ());
        YYSKIP ();
        goto yy36;
-yy303:
-       YYDEBUG(303, YYPEEK ());
+yy310:
+       YYDEBUG(310, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'T':
-       case 't':       goto yy374;
+       case 't':       goto yy382;
        default:        goto yy56;
        }
-yy304:
-       YYDEBUG(304, YYPEEK ());
+yy311:
+       YYDEBUG(311, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'R':
-       case 'r':       goto yy376;
+       case 'r':       goto yy384;
        default:        goto yy56;
        }
-yy305:
-       YYDEBUG(305, YYPEEK ());
+yy312:
+       YYDEBUG(312, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'P':
-       case 'p':       goto yy377;
+       case 'p':       goto yy385;
        case 'S':
-       case 's':       goto yy378;
+       case 's':       goto yy386;
        default:        goto yy56;
        }
-yy306:
-       YYDEBUG(306, YYPEEK ());
+yy313:
+       YYDEBUG(313, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'S':
-       case 's':       goto yy379;
+       case 's':       goto yy387;
        default:        goto yy56;
        }
-yy307:
-       YYDEBUG(307, YYPEEK ());
+yy314:
+       YYDEBUG(314, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'Y':
-       case 'y':       goto yy380;
+       case 'y':       goto yy388;
        default:        goto yy56;
        }
-yy308:
-       YYDEBUG(308, YYPEEK ());
+yy315:
+       YYDEBUG(315, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'N':
-       case 'n':       goto yy382;
+       case 'n':       goto yy390;
        default:        goto yy56;
        }
-yy309:
-       YYDEBUG(309, YYPEEK ());
+yy316:
+       YYDEBUG(316, YYPEEK ());
        yyaccept = 26;
        YYSKIP ();
        YYBACKUP ();
@@ -8636,15 +8861,15 @@ yy309:
        case 0xF2:
        case 0xF3:
        case 0xF4:      goto yy56;
-       default:        goto yy310;
+       default:        goto yy317;
        }
-yy310:
-       YYDEBUG(310, YYPEEK ());
-#line 271 "../ada.re2c"
+yy317:
+       YYDEBUG(317, YYPEEK ());
+#line 274 "../ada.re2c"
        {*id =  14; continue;}
-#line 8646 "../ada_re2c.c"
-yy311:
-       YYDEBUG(311, YYPEEK ());
+#line 8871 "../ada_re2c.c"
+yy318:
+       YYDEBUG(318, YYPEEK ());
        yyaccept = 27;
        YYSKIP ();
        YYBACKUP ();
@@ -8765,70 +8990,70 @@ yy311:
        case 0xF2:
        case 0xF3:
        case 0xF4:      goto yy56;
-       default:        goto yy312;
+       default:        goto yy319;
        }
-yy312:
-       YYDEBUG(312, YYPEEK ());
-#line 272 "../ada.re2c"
+yy319:
+       YYDEBUG(319, YYPEEK ());
+#line 275 "../ada.re2c"
        {*id =  15; continue;}
-#line 8775 "../ada_re2c.c"
-yy313:
-       YYDEBUG(313, YYPEEK ());
+#line 9000 "../ada_re2c.c"
+yy320:
+       YYDEBUG(320, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'T':
-       case 't':       goto yy384;
+       case 't':       goto yy392;
        default:        goto yy56;
        }
-yy314:
-       YYDEBUG(314, YYPEEK ());
+yy321:
+       YYDEBUG(321, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'A':
-       case 'a':       goto yy385;
+       case 'a':       goto yy393;
        default:        goto yy56;
        }
-yy315:
-       YYDEBUG(315, YYPEEK ());
+yy322:
+       YYDEBUG(322, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'Y':
-       case 'y':       goto yy386;
+       case 'y':       goto yy394;
        default:        goto yy56;
        }
-yy316:
-       YYDEBUG(316, YYPEEK ());
+yy323:
+       YYDEBUG(323, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'A':
-       case 'a':       goto yy388;
+       case 'a':       goto yy396;
        default:        goto yy56;
        }
-yy317:
-       YYDEBUG(317, YYPEEK ());
+yy324:
+       YYDEBUG(324, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'T':
-       case 't':       goto yy390;
+       case 't':       goto yy398;
        default:        goto yy56;
        }
-yy318:
-       YYDEBUG(318, YYPEEK ());
+yy325:
+       YYDEBUG(325, YYPEEK ());
        yyaccept = 28;
        YYSKIP ();
        YYBACKUP ();
@@ -8949,48 +9174,48 @@ yy318:
        case 0xF2:
        case 0xF3:
        case 0xF4:      goto yy56;
-       default:        goto yy319;
+       default:        goto yy326;
        }
-yy319:
-       YYDEBUG(319, YYPEEK ());
-#line 279 "../ada.re2c"
+yy326:
+       YYDEBUG(326, YYPEEK ());
+#line 282 "../ada.re2c"
        {*id =  22; continue;}
-#line 8959 "../ada_re2c.c"
-yy320:
-       YYDEBUG(320, YYPEEK ());
+#line 9184 "../ada_re2c.c"
+yy327:
+       YYDEBUG(327, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'F':
-       case 'f':       goto yy391;
+       case 'f':       goto yy399;
        default:        goto yy56;
        }
-yy321:
-       YYDEBUG(321, YYPEEK ());
+yy328:
+       YYDEBUG(328, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'Y':
-       case 'y':       goto yy393;
+       case 'y':       goto yy401;
        default:        goto yy56;
        }
-yy322:
-       YYDEBUG(322, YYPEEK ());
+yy329:
+       YYDEBUG(329, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'P':
-       case 'p':       goto yy395;
+       case 'p':       goto yy403;
        default:        goto yy56;
        }
-yy323:
-       YYDEBUG(323, YYPEEK ());
+yy330:
+       YYDEBUG(330, YYPEEK ());
        yyaccept = 29;
        YYSKIP ();
        YYBACKUP ();
@@ -9111,37 +9336,37 @@ yy323:
        case 0xF2:
        case 0xF3:
        case 0xF4:      goto yy56;
-       default:        goto yy324;
+       default:        goto yy331;
        }
-yy324:
-       YYDEBUG(324, YYPEEK ());
-#line 284 "../ada.re2c"
+yy331:
+       YYDEBUG(331, YYPEEK ());
+#line 287 "../ada.re2c"
        {*id =  27; continue;}
-#line 9121 "../ada_re2c.c"
-yy325:
-       YYDEBUG(325, YYPEEK ());
+#line 9346 "../ada_re2c.c"
+yy332:
+       YYDEBUG(332, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'T':
-       case 't':       goto yy396;
+       case 't':       goto yy404;
        default:        goto yy56;
        }
-yy326:
-       YYDEBUG(326, YYPEEK ());
+yy333:
+       YYDEBUG(333, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'R':
-       case 'r':       goto yy397;
+       case 'r':       goto yy405;
        default:        goto yy56;
        }
-yy327:
-       YYDEBUG(327, YYPEEK ());
+yy334:
+       YYDEBUG(334, YYPEEK ());
        yyaccept = 30;
        YYSKIP ();
        YYBACKUP ();
@@ -9262,37 +9487,37 @@ yy327:
        case 0xF2:
        case 0xF3:
        case 0xF4:      goto yy56;
-       default:        goto yy328;
+       default:        goto yy335;
        }
-yy328:
-       YYDEBUG(328, YYPEEK ());
-#line 288 "../ada.re2c"
+yy335:
+       YYDEBUG(335, YYPEEK ());
+#line 291 "../ada.re2c"
        {*id =  31; continue;}
-#line 9272 "../ada_re2c.c"
-yy329:
-       YYDEBUG(329, YYPEEK ());
+#line 9497 "../ada_re2c.c"
+yy336:
+       YYDEBUG(336, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'R':
-       case 'r':       goto yy398;
+       case 'r':       goto yy406;
        default:        goto yy56;
        }
-yy330:
-       YYDEBUG(330, YYPEEK ());
+yy337:
+       YYDEBUG(337, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'T':
-       case 't':       goto yy399;
+       case 't':       goto yy407;
        default:        goto yy56;
        }
-yy331:
-       YYDEBUG(331, YYPEEK ());
+yy338:
+       YYDEBUG(338, YYPEEK ());
        yyaccept = 31;
        YYSKIP ();
        YYBACKUP ();
@@ -9413,15 +9638,15 @@ yy331:
        case 0xF2:
        case 0xF3:
        case 0xF4:      goto yy56;
-       default:        goto yy332;
+       default:        goto yy339;
        }
-yy332:
-       YYDEBUG(332, YYPEEK ());
-#line 294 "../ada.re2c"
+yy339:
+       YYDEBUG(339, YYPEEK ());
+#line 297 "../ada.re2c"
        {*id =  37; continue;}
-#line 9423 "../ada_re2c.c"
-yy333:
-       YYDEBUG(333, YYPEEK ());
+#line 9648 "../ada_re2c.c"
+yy340:
+       YYDEBUG(340, YYPEEK ());
        yyaccept = 32;
        YYSKIP ();
        YYBACKUP ();
@@ -9542,191 +9767,191 @@ yy333:
        case 0xF2:
        case 0xF3:
        case 0xF4:      goto yy56;
-       default:        goto yy334;
+       default:        goto yy341;
        }
-yy334:
-       YYDEBUG(334, YYPEEK ());
-#line 298 "../ada.re2c"
+yy341:
+       YYDEBUG(341, YYPEEK ());
+#line 301 "../ada.re2c"
        {*id =  41; continue;}
-#line 9552 "../ada_re2c.c"
-yy335:
-       YYDEBUG(335, YYPEEK ());
+#line 9777 "../ada_re2c.c"
+yy342:
+       YYDEBUG(342, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'R':
-       case 'r':       goto yy400;
+       case 'r':       goto yy408;
        default:        goto yy56;
        }
-yy336:
-       YYDEBUG(336, YYPEEK ());
+yy343:
+       YYDEBUG(343, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'R':
-       case 'r':       goto yy401;
+       case 'r':       goto yy409;
        default:        goto yy56;
        }
-yy337:
-       YYDEBUG(337, YYPEEK ());
+yy344:
+       YYDEBUG(344, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'A':
-       case 'a':       goto yy402;
+       case 'a':       goto yy410;
        default:        goto yy56;
        }
-yy338:
-       YYDEBUG(338, YYPEEK ());
+yy345:
+       YYDEBUG(345, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'M':
-       case 'm':       goto yy403;
+       case 'm':       goto yy411;
        default:        goto yy56;
        }
-yy339:
-       YYDEBUG(339, YYPEEK ());
+yy346:
+       YYDEBUG(346, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'A':
-       case 'a':       goto yy404;
+       case 'a':       goto yy412;
        default:        goto yy56;
        }
-yy340:
-       YYDEBUG(340, YYPEEK ());
+yy347:
+       YYDEBUG(347, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'E':
-       case 'e':       goto yy405;
+       case 'e':       goto yy413;
        default:        goto yy56;
        }
-yy341:
-       YYDEBUG(341, YYPEEK ());
+yy348:
+       YYDEBUG(348, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'E':
-       case 'e':       goto yy406;
+       case 'e':       goto yy414;
        default:        goto yy56;
        }
-yy342:
-       YYDEBUG(342, YYPEEK ());
+yy349:
+       YYDEBUG(349, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'E':
-       case 'e':       goto yy407;
+       case 'e':       goto yy415;
        default:        goto yy56;
        }
-yy343:
-       YYDEBUG(343, YYPEEK ());
+yy350:
+       YYDEBUG(350, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'E':
-       case 'e':       goto yy409;
+       case 'e':       goto yy417;
        default:        goto yy56;
        }
-yy344:
-       YYDEBUG(344, YYPEEK ());
+yy351:
+       YYDEBUG(351, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'R':
-       case 'r':       goto yy411;
+       case 'r':       goto yy419;
        default:        goto yy56;
        }
-yy345:
-       YYDEBUG(345, YYPEEK ());
+yy352:
+       YYDEBUG(352, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'M':
-       case 'm':       goto yy412;
+       case 'm':       goto yy420;
        default:        goto yy56;
        }
-yy346:
-       YYDEBUG(346, YYPEEK ());
+yy353:
+       YYDEBUG(353, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'E':
-       case 'e':       goto yy413;
+       case 'e':       goto yy421;
        default:        goto yy56;
        }
-yy347:
-       YYDEBUG(347, YYPEEK ());
+yy354:
+       YYDEBUG(354, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'R':
-       case 'r':       goto yy414;
+       case 'r':       goto yy422;
        default:        goto yy56;
        }
-yy348:
-       YYDEBUG(348, YYPEEK ());
+yy355:
+       YYDEBUG(355, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'R':
-       case 'r':       goto yy415;
+       case 'r':       goto yy423;
        default:        goto yy56;
        }
-yy349:
-       YYDEBUG(349, YYPEEK ());
+yy356:
+       YYDEBUG(356, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'C':
-       case 'c':       goto yy416;
+       case 'c':       goto yy424;
        default:        goto yy56;
        }
-yy350:
-       YYDEBUG(350, YYPEEK ());
+yy357:
+       YYDEBUG(357, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'R':
-       case 'r':       goto yy417;
+       case 'r':       goto yy425;
        default:        goto yy56;
        }
-yy351:
-       YYDEBUG(351, YYPEEK ());
+yy358:
+       YYDEBUG(358, YYPEEK ());
        yyaccept = 33;
        YYSKIP ();
        YYBACKUP ();
@@ -9847,48 +10072,48 @@ yy351:
        case 0xF2:
        case 0xF3:
        case 0xF4:      goto yy56;
-       default:        goto yy352;
+       default:        goto yy359;
        }
-yy352:
-       YYDEBUG(352, YYPEEK ());
-#line 319 "../ada.re2c"
+yy359:
+       YYDEBUG(359, YYPEEK ());
+#line 322 "../ada.re2c"
        {*id =  62; continue;}
-#line 9857 "../ada_re2c.c"
-yy353:
-       YYDEBUG(353, YYPEEK ());
+#line 10082 "../ada_re2c