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

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

[elpa] master 99fea42: * externals-list: Convert ada-mode to :external


From: Stefan Monnier
Subject: [elpa] master 99fea42: * externals-list: Convert ada-mode to :external
Date: Mon, 30 Nov 2020 17:21:00 -0500 (EST)

branch: master
commit 99fea426e764d90098976b02676c55ec43cd24ad
Author: Stefan Monnier <monnier@iro.umontreal.ca>
Commit: Stefan Monnier <monnier@iro.umontreal.ca>

    * externals-list: Convert ada-mode to :external
---
 externals-list                                     |     1 +
 packages/ada-mode/NEWS                             |   606 -
 packages/ada-mode/README                           |    36 -
 packages/ada-mode/ada-build.el                     |   344 -
 packages/ada-mode/ada-compiler-gnat.el             |   804 -
 packages/ada-mode/ada-core.el                      |   778 -
 packages/ada-mode/ada-gnat-xref.el                 |   317 -
 packages/ada-mode/ada-imenu.el                     |    77 -
 packages/ada-mode/ada-indent-user-options.el       |   197 -
 packages/ada-mode/ada-mode.el                      |  1690 --
 packages/ada-mode/ada-mode.info                    |  2604 ---
 packages/ada-mode/ada-mode.texi                    |  2202 ---
 packages/ada-mode/ada-prj.el                       |     9 -
 packages/ada-mode/ada-process.el                   |   479 -
 packages/ada-mode/ada-skel.el                      |   364 -
 packages/ada-mode/ada-stmt.el                      |     9 -
 packages/ada-mode/ada-xref.el                      |    10 -
 packages/ada-mode/ada.wy                           |  2652 ---
 packages/ada-mode/ada_license.text                 |   127 -
 packages/ada-mode/ada_lr1_parse_table.txt.gz       |   Bin 5209667 -> 0 bytes
 packages/ada-mode/ada_mode_wisi_lalr_parse.ads     |    35 -
 packages/ada-mode/ada_mode_wisi_lr1_parse.ads      |    36 -
 packages/ada-mode/ada_mode_wisi_parse.gpr.gp       |   146 -
 packages/ada-mode/ada_process_actions.adb          |  5237 ------
 packages/ada-mode/ada_process_actions.ads          |  2108 ---
 packages/ada-mode/ada_process_lalr_main.adb        | 16487 ------------------
 packages/ada-mode/ada_process_lalr_main.ads        |    32 -
 packages/ada-mode/ada_process_lr1_main.adb         |   483 -
 packages/ada-mode/ada_process_lr1_main.ads         |    33 -
 packages/ada-mode/ada_re2c.c                       | 16811 -------------------
 packages/ada-mode/ada_re2c_c.ads                   |    59 -
 packages/ada-mode/build.sh                         |    39 -
 packages/ada-mode/config.pragmas                   |     6 -
 packages/ada-mode/dir                              |    22 -
 packages/ada-mode/gnat-core.el                     |   449 -
 packages/ada-mode/gpr-indent-user-options.el       |    48 -
 packages/ada-mode/gpr-mode.el                      |   427 -
 packages/ada-mode/gpr-mode.info                    |   737 -
 packages/ada-mode/gpr-mode.texi                    |   256 -
 packages/ada-mode/gpr-process.el                   |   145 -
 packages/ada-mode/gpr-query.el                     |  1026 --
 packages/ada-mode/gpr-skel.el                      |   136 -
 packages/ada-mode/gpr.wy                           |   377 -
 packages/ada-mode/gpr_mode_wisi_parse.ads          |    34 -
 packages/ada-mode/gpr_process_actions.adb          |   431 -
 packages/ada-mode/gpr_process_actions.ads          |   316 -
 packages/ada-mode/gpr_process_main.adb             |  2405 ---
 packages/ada-mode/gpr_process_main.ads             |    32 -
 packages/ada-mode/gpr_query.adb                    |  1316 --
 packages/ada-mode/gpr_re2c.c                       |  6362 -------
 packages/ada-mode/gpr_re2c_c.ads                   |    59 -
 packages/ada-mode/install.sh                       |    15 -
 packages/ada-mode/run_ada_lalr_parse.ads           |    32 -
 packages/ada-mode/run_ada_libadalang_parse.ads     |    25 -
 packages/ada-mode/run_ada_lr1_parse.ads            |    33 -
 packages/ada-mode/run_gpr_parse.ads                |    31 -
 .../ada-mode/wisi-ada-format_parameter_list.adb    |   319 -
 packages/ada-mode/wisi-ada.adb                     |   952 --
 packages/ada-mode/wisi-ada.ads                     |   156 -
 packages/ada-mode/wisi-gpr.adb                     |    63 -
 packages/ada-mode/wisi-gpr.ads                     |    60 -
 packages/ada-mode/wisi.gpr.gp                      |    64 -
 .../wisitoken-parse-lr-mckenzie_recover-ada.adb    |  1368 --
 .../wisitoken-parse-lr-mckenzie_recover-ada.ads    |    48 -
 64 files changed, 1 insertion(+), 72561 deletions(-)

diff --git a/externals-list b/externals-list
index 808e5bc..42df02f 100644
--- a/externals-list
+++ b/externals-list
@@ -31,6 +31,7 @@
 ;; diverged).
 
 (("ack"                        :external "https://github.com/leoliu/ack-el";)
+ ("ada-mode" :external nil)
  ("ada-ref-man"                :external nil)
  ("adaptive-wrap"      :external nil)
  ("advice-patch"       :external nil)
diff --git a/packages/ada-mode/NEWS b/packages/ada-mode/NEWS
deleted file mode 100644
index dc56248..0000000
--- a/packages/ada-mode/NEWS
+++ /dev/null
@@ -1,606 +0,0 @@
-GNU Emacs Ada mode NEWS -- history of user-visible changes.
-
-Copyright (C) 2014 - 2020 Free Software Foundation, Inc.
-
-Please send ada-mode bug reports to bug-gnu-emacs@gnu.org, with
-'ada-mode' in the subject. If possible, use M-x report-emacs-bug.
-
-
-* Ada Mode 7.1.4
-07 Aug 2020
-
-** Set auto-mode-alist for ada-mode. 
-
-* Ada Mode 7.1.3
-04 Jun 2020
-
-** Indentation of 'is' in expression functions is restored to 7.0.1
-   behavior.
-
-** wisi-get-identifier (used by wisi-goto-spec/body and others) sets
-   completion delimiters appropriately. When using gpr-query, for a
-   procedure declared as:
-
-   package Package_Name is
-      procedure Procedure_Name (args);
-
-   the completion string looks like:
-
-     Procedure_Name(args)<Package_Name<line>>
-
-   so for example you can type "iterate<wisitok" to complete on
-   WisiToken iterators, or "add(Data" to complete on all subprograms
-   whose name starts with "add" and whose first argument starts with
-   "Data".
-
-** New constant ada-declaration-nonterms holds the Ada nonterminal
-   identifiers, for use with wisi-cache-nonterm.
-
-** ada-which-function is now a command (can be invoked by M-x); useful
-   when you don't want which-function-mode turned on, but want to know
-   what function point is in.
-
-* Ada Mode 7.1.2
-20 May 2020
-
-** Revert change in indent of 'is' in expression_function_declaration
-   to 7.0.1 behavior.
-
-* Ada Mode 7.1.1
-14 May 2020
-
-** packaging bug fix
-
-* Ada Mode 7.1
-11 May 2020
-
-** gpr_query Version 3
-
-** ada-mode fully supports non-ASCII text (the few remaining
-   ASCII-only regular expressions have been fixed).
-
-** gpr_query now starts in the background, and provides a completion
-   table of all symbols in the project.
-
-** keystroke C-M-i is bound to `completion-at-point', and uses the
-   symbol table provided by gpr-query.
-
-** Commands that prompt for a symbol (ie C-u C-c C-d
-   wisi-goto-spec/body and C-u M-. xref-find-definitions) use the
-   completion table provided by gpr_query. With a single C-u, all
-   symbols in the project are used; with two C-u, only
-   symbols defined in the current file are used.
-
-** ada-in-paramlist-p (used by ada-align and other things) no longer
-   parses the full buffer; it only parses if in parens, and only a
-   small region containing the parens.
-
-** Virtual tokens are used in indent, improving indent computation.
-
-** Error recovery is improved.
-
-** Fixes debbugs 40403, 40964, 37620
-
-* Ada Mode 7.0.1
-30 Jan 2020
-
-** fix packaging bugs
-
-** build.sh is now split into build.sh and install.sh; the latter
-   takes --prefix and may need to be run as root.
-
-** improve xref integration
-
-* Ada Mode 7.0.0
-19 Dec 2019
-
-** parser Ada language protocol version 3
-
-** Added support for the Ada 2020 features
-   iterated_component_association (ai12-0061), target_name
-   (ai12-0125), delta_aggregate (ai12-0127); these are supported in
-   GNAT Community 2019.
-
-** Major restructuring of code, moving many functions from ada-mode to
-   wisi for use in other language modes, and using cl-defgeneric
-   dispatching instead of function variables. Normal users should see
-   no changes, except that some ada-mode functions will warn about
-   being obsolete. If you've written custom code that depends on
-   ada-mode functions, you may have to change it.
-
-** gpr-mode fully supports auto-casing; new user variables
-   gpr-auto-case, gpr-case-keyword, gpr-case-strict,
-   gpr-case-identifier, respects 'casing' project file settings.
-
-** New commands `wisi-goto-containing-statement-start',
-   `wisi-indent-containing-statement' are in the menu.
-   `wisi-indent-containing-statement' is bound to 'C-c S-i'.
-
-** `ada-goto-declarative-region-start' now goes to the containing
-   region, when the start point is before the 'is' in the current
-   declaration (previously, it went to the declarative region of the
-   current declaration). This is required for adding a use_clause for
-   an identifier/operator in a format_part or aspect_clause.
-
-** Delete not-upper-case setting for ada-auto-case; instead, set
-   ada-case-strict to nil.
-
-** wisi-prj-identifier-at-point (previously ada-identifier-at-point)
-   now handles non-ASCII characters.
-
-* Ada Mode 6.2.1
-17 Aug 2019
-
-** fix packaging bugs
-
-* Ada Mode 6.2.0
-13 Aug 2019
-
-** parser Ada language protocol version 2
-
-** The elisp parser is deleted; only the Ada process parser is
-   supported.
-
-** New Ada menu entry "Refactor" supports converting between
-   Object.Method (...) and Method (Object, ...), and between Object
-   (Index) and Element (Object, Index). The same commands are on a
-   menu shown by `ada-refactor-menu-popup', which may be bound to a
-   keystroke or mouseclick.
-
-** Ada mode now provides a project.el backend, in ada-project.el.
-   `project-find-file' does file name completion on files in the
-   current project, using the `uniquify-files' completion style. To
-   use this backend with an existing Ada mode project file:
-
-   (setq ada-project-current (make-ada-project :ada-prj-file 
<exising-file.prj>))
-   (add-to-list 'project-find-functions #'ada-project-current)
-
-   You may want to define other functions for project-find-functions.
-
-* Ada Mode 6.1.1
-11 Jul 2019
-
-** parser Ada language protocol version 1
-** parser gpr language protocol version 1
-
-** ada-auto-case can now take the value `not-upper-case'; typed words
-   that are all upper case are not adjusted.
-
-** which-function-mode in large Ada buffers now uses partial parse;
-   the new user variable `ada-which-func-parse-size' sets the minimum
-   region to parse, centered on point. It should be set to the largest
-   subprogram size that parses in an acceptable time.
-
-** gpr-mode supports new gpr syntax "at n" in an attribute specification.
-
-** The ada-mode xref backend now includes object names in the local
-   file name completion table.
-
-* 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
-
-** Compress ada_lr1_parse_table.txt
-
-** Assign copyright in Ada files to FSF
-
-* Ada mode 6.0.0
-17 Nov 2018
-
-** Use wisi 2.0; indentation computed directly in parser actions. This
-   has a few user visible changes in indention, making it more
-   consistent. It also makes it faster, so larger files are handled
-   more smoothly.
-
-** Support wisitoken generated Ada code parser, with error correction.
-   The parser runs in a background process.
-
-** ada-fix-compiler-error can now fix errors reported by the
-   background process parser.
-
-** ada-format-paramlist repairs syntax errors in buffer text before scanning.
-
-** Display marks in fringe at location of errors detected by
-   background parser.
-
-** Colorization of type and package names is somewhat improved, but
-   requires full name resolution to get fully correct.
-
-** new user option: ada-end-name-optional, default nil. If non-nil,
-   names at ends of blocks/subprograms are optional (as in standard
-   Ada). Setting this nil matches standard AdaCore style, and
-   significantly improves error correction in the parser (it can use
-   name matching to locate errors).
-
-** new user setting: ada-process-parse-exec,
-   ada-process-parse-exec-opts, gpr-process-parse-exec,
-   gpr-process-parse-exec-opts: the executable and options to run the
-   external parser for Ada and gpr modes. Default to the executables
-   built by the build.sh script included in the ELPA package, empty
-   options.
-
-   A useful setting for -exec-opts is '("--recover-log" "<log file
-   name>"); this will log every error recovery to a file, so you can
-   examine how well it is working.
-
-** new user setting: ada-parser; must be one of 'elisp, 'process.
-   Defaults to 'process if the executable named by
-   ada-process-parse-exec is found, 'elisp otherwise.
-
-** new user setting: ada-fallback; must be one of nil, 'simple or
-   'gps. Identifies fallback indentation algorithm used when parser
-   fails; 'simple is "indent to previous line", 'gps is "use the gps
-   indent engine". nil means set to 'gps if the executable named by
-   ada-gps-indent-exec is found.
-
-** new user command: ada-refresh-prj-file. Useful when the project
-   file has been edited.
-
-** Implement an xref backend for Ada, using gpr-query. See (info
-   "(emacs) Xref").
-
-** The various "find other file" commands assume the use of the Gnu
-   ELPA package other-frame-window; they no longer provide "other
-   window" options.
-
-** ada-xref-refresh (bound to "menu | Ada | Misc | refresh cross
-   reference cache", C-c C-q) now takes a prefix arg to delete the
-   xref files first as well. Useful when compiler options or version
-   have changed.
-
-* Ada mode 5.3.1
-3 Oct 2017
-
-** Ada mode 5.2.2 should have been numbered 5.3.0, since it introduced
-   the GPS indentation backend major feature.
-
-** GNAT GPL 2017 is supported for gpr_query and ada_mode_gps_indent;
-   see ada_mode.info for installation instructions.
-
-** New Ada-mode submenu "Select Project" lists all loaded Ada-mode
-   project, making it easier to switch between them.
-
-** New Ada-mode menu entry "Delete project..." allows deleting a
-   loaded project, to reduce clutter in the new "Select Project"
-   menu.
-
-** `ada-add-log-for-current-function' (for a revision control commit)
-   will return a type name. However, `ada-which-function' will not.
-
-** New option `ada-fill-comment-adaptive', if non-nil, causes all
-   comments to be filled to the same width, rather than to the same
-   column. This looks better in deeply nested code.
-
-** When 'ada-auto-case' is nil, 'ada-case-adjust-at-point' used to do
-   nothing; it now capitalizes the word at point. This helps with some
-   alternate casing styles.
-
-** Improve handling of GPR_PROJECT_PATH in 'compilation-environment'
-   when selecting/deselection ada-mode project files.
-
-** ada-gnat-xref-all (used by ada-show-references) now preserves point
-   when appending more references.
-
-** Minor bug fixes.
-
-* Ada mode 5.2.2
-9 Jul 2017
-
-** GNAT GPL 2017 is _not_ supported for gpr_query; GNAT GPL 2016 is
-   supported.
-
-** New option ada-indent-hanging-rel-exp; if non-nil, indent hanging
-   lines relative to start of expression. Otherwise, indent relative
-   to previous line. Default nil.
-
-** xref-ada allows entering an identifier to search for with
-   completion. The search is only in the current file.
-
-** ada-show-references, ada-show-local-references now take an 'append'
-   argument, set by interactive prefix; if non-nil, preserve previous
-   output in references buffer.
-
-** Support GPS indentation engine, either as primary or backup. See
-   user guide for how to set it up; it requires compiling Ada code.
-
-** ada_mode_gps_indent patch level 001 fixes ada-gps bugs 2, 6. See
-   test/ada-gps for bug descriptions/tests.
-
-** ada-identifier-at-point properly handles adjacent operator and
-   identifier (ie +Tree).
-
-** When a 'use type' clause is inserted by the compile error
-   correction code, 'use all type' is inserted if the lanuage version
-   is 2012 (the default).
-
-** The context menu is simplified.
-
-** The 'obj_dir' project variable is supported.
-
-** ada-next-statement-keyword, ada-prev-statement-keyword are deleted;
-   use forward-sexp instead.
-
-** The license inserted by ada-skel-modified-gpl uses GPL version 3
-   language.
-
-** Several indentation bugs are fixed.
-
-** New option ada-gnat-debug-run controls echoing GNAT commands in
-   GNAT buffers.
-
-* Ada mode 5.2.1
-31 Oct 2016
-
-** A line starting with '(' is now always indented with
-   ada-indent-broken. Previously, in some cases it was indented by
-   ada-indent - 1. Since the defaults set ada-indent = 3,
-   ada-indent-broken = 2, this is transparent unless you use other
-   values.
-
-** GPR_PROJECT_PATH is set in the compilation process environment when
-   the Ada project is selected, and cleared when the project is
-   deselected. This allows selecting other Emacs projects, then
-   returning to an Ada project.
-
-** New function ada-show-local-references (bound to C-c C-l) searches
-   for references within the current file only.
-
-** New option ada-xref-full-path (default nil) if t, shows full paths
-   in cross references.
-
-** The indentation functions are significantly rewritten to make them
-   better organized and easier to understand and maintain. This
-   resulted in some minor indentation changes, mostly for consistency;
-   in particular, case expressions are indented by ada-indent-broken,
-   to match if espressions.
-
-* Ada mode 5.2.0
-26 Jul 2016
-
-** GNAT 2016 drops support for 'gnat find'; users must use gpr_query.
-
-** ada-xref-tool now defaults to gpr_query if gpr_query executable is
-   found in PATH.
-
-** source code for compiling gpr_query is installed with the Gnu ELPA
-   package; instructions for compiling and installing it are in
-   ada-mode.info.
-
-** better handling of cross-compile targets.
-
-** Allow trailing label in a sequence_of_statements:
-   loop
-      ...
-      goto Next;
-   <<Next>>
-   end loop;
-
-** Handle package aspects.
-
-** tested with GNAT GPL 2016.
-
-** several bug fixes
-
-* Ada mode 5.1.9
-20 Jan 2016
-
-** New option ada-indent-comment-gnat matches the GNAT style check for
-   comments in all cases (previously, there were some cases where the
-   comment indent algorithm did not match the GNAT check).
-
-** New menu command "Show source file search path"; displays
-   compilation-search-path in a buffer.
-
-** Adding missing grammar statements to allow removing parens around
-   conditional and quantified expressions.
-
-** Key binding for ada-case-create-partial-exception in ada-mode
-   changed to C-c C-M-y; this is easier to type, and matches the key
-   binding in gpr-mode.
-
-** ada-case-keyword changed to accept the symbols 'lower-case,
-   'upper-case instead of the functions downcase-word, upcase-word.
-
-** ada-case-identifier changed to accept the symbols 'mixed-case,
-   'lower-case, 'upper-case instead of the functions 'ada-mixed-case,
-   'ada-lower-case, 'ada-upper-case.
-
-** ada-fix-add-context-clause now sorts "limited with" and "private
-   with" clauses after other clauses.
-
-** ada-align now aligns '=>' in case expressions.
-
-** ada-align-paramlist now handles access function parameters:
-
-   procedure Choose
-     (X, Y, Z    :        Integer;
-      Preference : access function (A, B : Integer) return Boolean);
-
-** ada-next-statement-keyword now moves to matching close paren if on
-   open paren, ada-prev-statement-keyword moves from close paren to
-   open paren.
-
-** New hook ada-prj-parse-hook, run from ada-parse-prj-file.
-
-** GPR mode now does case adjust similar to Ada mode.
-
-** gpr parser handles nested case statements without blowing up.
-
-** gpr parser handles package renames
-
-** fix other bugs
-
-* Ada mode 5.1.8
-10 Apr 2015
-
-** requires OpenToken 6.0
-
-** ada-align handle identifiers that start with Ada keywords
-
-** functions for ada-case-identifier now take three args: start, end,
-   force-case
-
-** parsing is not required by find-other-file if the current buffer is
-   larger than wisi-size-threshold
-
-** fix misc bugs
-
-* Ada mode 5.1.7
-18 Nov 2014
-
-** add ada-find-file that prompts for a file from the current project,
-   with completion.
-
-** fix bug that prevented
-    Y : Boolean := Boolean'(if True then False);
-
-** add ada-create-select-default-prj, to simplify working with small
-   projects
-
-** Handle deleting whitespace between words, inserting whitespace in
-   the middle of a word properly.
-
-** Change ada-case-adjust to capitalize words in comments and strings
-   by default; C-u adjusts case as if code.
-
-** allow 'raise' in expressions for GNAT GPL 2014 aspects
-
-** move all except keyword face highighting to grammar; much more
-   accurate, easier to maintain, simpler, faster.
-
-** delete gnatinspect support; gpr_query is better
-
-** misc bug fixes
-
-* Ada mode 5.1.6
-28 Sep 2014
-
-** improve syntax highlighting of names after 'of', 'new', 'renames'
-
-** fix ada-format-paramlist to handle 'aliased' keyword (new in Ada
-   2012), and 'not null' without 'access'.
-
-** fix ada-find-other-file in separate bodies; now navigates to the
-   spec.
-
-** restore ada-indent-newline-indent for [return]
-
-* Ada mode 5.1.5
-12 Jul 2014
-
-** add C-c <, C-c >; goto-declaration-start, -end
-
-** improve parsing speed significantly
-
-* Ada mode 5.1.4
-26 May 2014
-
-** support expression functions
-
-** beginning-of-defun-function, end-of-defun-function are now set. A
-   "defun" is a generic, package, protected, subprogram, or task spec
-   or body.
-
-** C-c C-s is now bound to ada-goto-previous-pos, which goes to the
-   first position in ada-goto-pos-ring. Most navigation functions set
-   ada-goto-pos-ring. This allows easy navigation back to the start of
-   a cross-reference chain.
-
-** xref tool error handlers no longer show the xref tool buffer; the
-   new Ada menu item 'show xref tool buffer' can be used instead.
-
-** The parser supports more deeply nested case statements.
-
-* Ada mode 5.1.3
-19 Apr 2014
-
-** more GNAT error message auto-fixes
-
-** support aspects on subprogram declarations; format same as SPARK examples.
-
-** fix bug in ada-syntax-propertize that caused query-replace to screw up
-
-** inhibit reparse due to case adjust; case adjust entire buffer is
-   now _much_ faster.
-
-** Non-ASCII characters supported in Ada mode buffers, including GNAT
-   bracket notation.
-
-* Ada mode 5.1.2
-16 Mar 2014
-
-** fix another packaging bug; forgot to add files to ELPA git!
-
-* Ada mode 5.1.1
-14 Mar 2014
-
-** require wisi-1.0.2, to fix packaging bug
-
-** gnat-find now called with -a to include read-only .ali files in the results.
-
-* Ada mode 5.1.0
-13 Mar 2014
-
-** Emacs 24.2 supported, via cl-lib in Gnu ELPA
-
-** Better handling of aspects.
-
-** 'record' is aligned with 'type' in derived types
-
-** Several minor indentation bugs have been fixed.
-
-** Added "2.2 Upgrading from previous versions" to the user guide.
-
-** ada-align now properly handles subprograms with the opening paren
-   on the same line as the preceding code and code on the same line as
-   the closing paren:
-
-    function Foo (Param_1 : Integer;
-                  Param_2 : Integer) return Integer;
-
-** When no project file is selected, the default variables are
-   consistently used instead. Previously, the default variables were
-   only used when parsing a project file.
-
-** info files are properly visible in main info menu
-
-** 'C-c ;' used to run `comment-dim', which is bound to 'M-;' in the
-   global keymap. 'C-c ;' now gives an error with a message saying
-   'use M-; instead'.
-
-* Ada mode 5.0.1
-Feb 2 2014
-
-First public release, via ELPA
-
-* Ada mode 5.0.0
-Dec 24 2013
-
-** first release in ELPA
-
-** Previous version was 4.00, in Emacs core. 5.0.1 is a complete
-   rewrite, using a generalized LALR parser that caches syntactic
-   information in text properties.
diff --git a/packages/ada-mode/README b/packages/ada-mode/README
deleted file mode 100644
index 9035cce..0000000
--- a/packages/ada-mode/README
+++ /dev/null
@@ -1,36 +0,0 @@
-Emacs Ada mode version 7.1.3
-
-Ada mode provides auto-casing, fontification, navigation, and
-indentation for Ada source code files.
-
-Cross-reference information output by the compiler is used to provide
-powerful code navigation (jump to definition, find all uses, show
-overriding, etc). By default, only the AdaCore GNAT compiler is
-supported; other compilers can be supported. Ada mode uses gpr_query
-to query compiler-generated cross reference information. 
-
-Ada mode uses a parser to provide fontification, navigation, and
-indentation. The parser is implemented in Ada, is fast enough even for very 
-large files (via partial parsing), and recovers from almost all syntax
-errors.
-
-gpr_query and the parser are provided as Ada source code that must be
-compiled and installed:
-
-cd ~/.emacs.d/elpa/ada-mode-i.j.k
-./build.sh
-./install.sh
-
-install.sh can take an option "--prefix=<dir>" to set the installation
-directory.
-
-See ada-mode.info section Installation for more information on
-installing; you may need additional packages.
-
-Ada mode will be automatically loaded when you open a file
-with a matching extension (default *.ads, *.adb).
-
-Ada mode uses project files to define large (multi-directory)
-projects, and to define casing exceptions.
-
-See ada-mode.info for help on using and customizing Ada mode.
diff --git a/packages/ada-mode/ada-build.el b/packages/ada-mode/ada-build.el
deleted file mode 100644
index 7d12dbf..0000000
--- a/packages/ada-mode/ada-build.el
+++ /dev/null
@@ -1,344 +0,0 @@
-;; ada-build.el --- Extensions to ada-mode for compiling and running  -*- 
lexical-binding:t -*-
-;; Ada projects without 'make' or similar tool
-;;
-;; Copyright (C) 1994, 1995, 1997 - 2017, 2019  Free Software Foundation, Inc.
-;;
-;; Author: Stephen Leake <stephen_leake@member.fsf.org>
-;; Maintainer: Stephen Leake <stephen_leake@member.fsf.org>
-;;
-;; 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/>.
-
-;;; Design:
-;;
-;; Separate from ada-mode.el because sophisticated users don't need
-;; this (they use 'make' or similar tool), so it would just get in the
-;; way, particularly for fixing bugs in the core capabilities of
-;; ada-mode.
-
-;;; History:
-;;
-;; see ada-mode.el; the current code is a complete rewrite of the
-;; compiling and running capabilities in Ada mode 4.01, done in 2013 by
-;; Stephen Leake <stephen_leake@stephe-leake.org>.
-
-(require 'ada-core)
-(require 'gnat-core)
-(require 'cl-lib)
-
-;;;; User customization
-
-(defgroup ada-build nil
-  "Major mode for compiling and running Ada projects in Emacs."
-  :group 'ada)
-
-(defcustom ada-build-prompt-prj 'default
-  "Policy for finding a project file when none is currently selected.
-See `ada-build-require-project-file'."
-  :type '(choice (const default)
-                (const search-prompt)
-                (const prompt)
-                (const error))
-  :safe  #'symbolp)
-
-(defcustom ada-build-confirm-command nil
-  "If non-nil, prompt for confirmation/edit of each command before it is run."
-  :type  'boolean
-  :safe  #'booleanp)
-
-(defcustom ada-build-check-cmd
-  "${cross_prefix}gprbuild -P${gpr_file} -u -c -gnatc ${gprbuild_opt} 
${full_current}"
-  "Default command to syntax check a single file.
-Overridden by project variable `check_cmd'."
-  :type 'string)
-
-(defcustom ada-build-make-cmd
-  "${cross_prefix}gprbuild -P${gpr_file} ${main} ${gprbuild_opt} "
-  "Default command and link to compile the application.
-Overridden by project variable `make_cmd'."
-  :type 'string)
-
-(defcustom ada-build-run-cmd "${main}"
-  "Default command to run the application, in a spawned shell.
-Overridden by project variable `run_cmd'."
-  :type 'string)
-
-;;;; code
-
-(defun ada-build-replace-vars (project cmd-string)
-  "Recursively expand variable references in CMD-STRING.
-${var} is a project variable or environment variable, $var an
-environment variable.
-
-A prefix may be specified with the format `-<prefix>${var}'; then
-the value is expanded with the prefix prepended. If the value is
-a list, the prefix is prepended to each list element. For
-example, if src_dir contains `dir_1 dir_2', `-I${src_dir}'
-expands to `-Idir_1 -Idir_2'.
-
-As a special case, ${full_current} is replaced by the current
-buffer file name including the directory and extension."
-
-  (while (string-match "\\(-[^-$ ]+\\)?\\${\\([^}]+\\)}" cmd-string)
-    (let ((prefix (match-string 1 cmd-string))
-         (name (match-string 2 cmd-string))
-         value)
-
-      (cond
-       ((string= name "full_current")
-       (setq value (buffer-file-name)))
-
-       ;; Handle names that are likely to occur in commands.
-       ((string= name "src_dir")
-       (setq value (ada-prj-source-path project)))
-
-       ((or (string= name "gpr_project_path")
-          (string= name "ada_project_path"))
-       (setq value (gnat-compiler-project-path (ada-prj-compiler project))))
-
-       ((string= name "gpr_file")
-       (when (gnat-compiler-gpr-file (ada-prj-compiler project))
-         (setq value (file-name-nondirectory (gnat-compiler-gpr-file 
(ada-prj-compiler project))))))
-
-       )
-
-      (when (null value)
-       (setq value (plist-get (ada-prj-plist project) (intern name))))
-
-      (when (null value)
-       (setq value (getenv name)))
-
-      (cond
-       ((null value)
-       (setq cmd-string (replace-match "" t t cmd-string)))
-
-       ((stringp value)
-       (setq cmd-string (replace-match (concat prefix value) t t cmd-string)))
-
-       ((listp value)
-       (setq cmd-string (replace-match
-                         (mapconcat (lambda (x) (concat prefix x)) value " ")
-                           t t cmd-string)))
-       )))
-
-  (substitute-in-file-name cmd-string))
-
-(defun ada-build-default-prj (project)
-  "Add to PROJECT the default project variables used by ada-build."
-  (setf (ada-prj-plist project)
-       (append
-        (ada-prj-plist project)
-        (list
-         'check_cmd       ada-build-check-cmd
-         'main            (when (buffer-file-name)
-                            (file-name-nondirectory
-                             (file-name-sans-extension (buffer-file-name))))
-         'make_cmd        ada-build-make-cmd
-         'run_cmd         ada-build-run-cmd
-         ))))
-
-(defun ada-build-find-select-prj-file (prj)
-  "Search for a project file in the current directory, parse and select it.
-The file must have the same basename as the project variable
-`main' in PRJ or the current buffer if `main' is nil, and extension from
-`wisi-prj-file-extensions'.  Returns the project if a file is
-selected, nil otherwise."
-  (let* ((base-file-name (file-name-base
-                         (or (and (ada-prj-p prj)
-                                  (plist-get (ada-prj-plist prj) 'main))
-                             (file-name-nondirectory (file-name-sans-extension 
(buffer-file-name))))))
-        (filename
-         (file-name-completion base-file-name
-                               ""
-                               (lambda (name) (member (file-name-extension 
name) wisi-prj-file-extensions))))
-        )
-    (when filename
-      (let ((default-prj (ada-prj-default (file-name-nondirectory 
(file-name-sans-extension filename)))))
-       (wisi-prj-dtrt-parse-file filename default-prj filename 
default-directory)
-       default-prj))
-    ))
-
-;;;###autoload
-(defun ada-build-prompt-select-prj-file ()
-  "Prompt for a project file, parse and select it.
-The file must have an extension from `wisi-prj-file-extensions'.
-Returns the project if a file is selected, nil otherwise."
-  (interactive)
-  (let (filename)
-    (condition-case-unless-debug nil
-       (setq filename
-             (read-file-name
-              "Project file: " ; prompt
-              nil ; dir
-              "" ; default-filename
-              t   ; mustmatch
-              nil; initial
-              (lambda (name)
-                ;; this allows directories, which enables navigating
-                ;; to the desired file. We just assume the user won't
-                ;; return a directory.
-                (or (file-accessible-directory-p name)
-                    (member (file-name-extension name) 
wisi-prj-file-extensions)))))
-      (error
-       (setq filename nil))
-      )
-
-    (when (and filename
-              (not (equal "" filename)))
-
-      (unless (wisi-prj-find-function-set-p)
-       ;; See comment in ada-build-require-project-file. We also do
-       ;; this here because it may be the first project-related
-       ;; function the user runs.
-       (add-hook 'project-find-functions #'wisi-prj-find-dominating-cached)
-       (add-hook 'xref-backend-functions #'wisi-prj-xref-backend))
-
-      (let ((default-prj (ada-prj-default (file-name-nondirectory 
(file-name-sans-extension filename)))))
-       (wisi-prj-dtrt-parse-file filename default-prj filename 
(file-name-directory filename)))
-      )))
-
-(defun ada-build-create-select-default-prj ()
-  "Create a default project with source-path set current directory, select it."
-  (let* ((prj-file (expand-file-name "default_.adp" default-directory)) ;; we 
assume this does not exist
-        (ada-xref-tool 'gnat) ;; since we are not specifying a gpr file.
-        (project (ada-prj-default default-directory)))
-
-    ;; We use buffer-file-name as the dominating file (nominally the
-    ;; main program), since we assume it exists but the dummy project
-    ;; file does not.
-    (wisi-prj-dtrt-parse-file prj-file project (file-name-nondirectory 
(buffer-file-name)) default-directory)))
-
-(defun ada-build-require-project-file ()
-  "Ensure that a project file is selected, return the project.
-Action when no project file is currently selected is determined
-by `ada-build-prompt-prj':
-
-default - Search for a project file in the current directory with
-the same name as the main file. If not found, use a default
-project; no gpr file, current directory only, current file as
-main.
-
-search-prompt - Search for a project file in the current
-directory with the same name as the main file. If not found,
-prompt for a project file; thow error if user aborts
-
-prompt - Prompt for a project file; thow error if user aborts.
-
-error - Throw an error (no prompt, no default project).
-
-'search' means look for a file with an extension in
-`wisi-prj-file-extensions'.
-
-An error result does not change the current project."
-  (let ((prj (project-current)))
-
-    (unless (wisi-prj-find-function-set-p)
-      ;; We set project-find-functions, xref-backend-functions here so
-      ;; the user doesn't have to for simple projects. We use
-      ;; 'dominating' to avoid the user actions required by select
-      ;; when switching directories/projects (especially in the
-      ;; ada-mode tutorial), and 'cached' to preserve the value of
-      ;; "main" in the project. An experienced user can change to
-      ;; select/cached as they need to.
-      (add-hook 'project-find-functions #'wisi-prj-find-dominating-cached)
-      (add-hook 'xref-backend-functions #'wisi-prj-xref-backend))
-
-    (unless (ada-prj-p prj)
-      (cl-ecase ada-build-prompt-prj
-       (default
-         (or (setq prj (ada-build-find-select-prj-file prj))
-             (setq prj (ada-build-create-select-default-prj))
-             ))
-
-       (search-prompt
-         (or (setq prj (ada-build-find-select-prj-file prj))
-             (setq prj (ada-build-prompt-select-prj-file))))
-
-       (prompt
-        (setq prj (ada-build-prompt-select-prj-file)))
-
-       (error
-        (user-error "no project file selected"))
-       ))
-    prj))
-
-;;;; user functions
-
-(defun ada-build-run-cmd (prj-field confirm prompt)
-  "Run the command in the PRJ-FIELD project variable.
-If CONFIRM or `ada-build-confirm-command' are non-nil, ask for
-user confirmation of the command, using PROMPT."
-  (let* ((project (ada-build-require-project-file))
-        (cmd (plist-get (ada-prj-plist project) prj-field))
-        (compilation-environment
-         (append
-          (wisi-prj-compile-env project)
-          (wisi-prj-file-env project))))
-
-    (unless cmd
-      (setq cmd '("")
-           confirm t))
-
-    (when (or ada-build-confirm-command confirm)
-      (setq cmd (read-from-minibuffer (concat prompt ": ") cmd)))
-
-    (compile (ada-build-replace-vars project cmd))))
-
-;;;###autoload
-(defun ada-build-check (&optional confirm)
-  "Run the check_cmd project variable.
-By default, this checks the current file for syntax errors.
-If CONFIRM is non-nil, prompt for user confirmation of the command."
-  (interactive "P")
-  (ada-build-run-cmd 'check_cmd confirm "check command"))
-
-;;;###autoload
-(defun ada-build-make (&optional confirm)
-  "Run the make_cmd project variable.
-By default, this compiles and links the main program.
-If CONFIRM is non-nil, prompt for user confirmation of the command."
-  (interactive "P")
-  (ada-build-run-cmd 'make_cmd confirm "make command"))
-
-;;;###autoload
-(defun ada-build-set-make (&optional confirm)
-  "Set the main project variable to the current file, then run the make_cmd 
project variable.
-By default, this compiles and links the new main program.
-If CONFIRM is non-nil, prompt for user confirmation of the command."
-  (interactive "P")
-  (let ((prj (ada-build-require-project-file)))
-    (setf (ada-prj-plist prj)
-         (plist-put (ada-prj-plist prj)
-                    'main (file-name-nondirectory (file-name-sans-extension 
(buffer-file-name))))))
-  (ada-build-run-cmd 'make_cmd confirm "make command"))
-
-;;;###autoload
-(defun ada-build-run (&optional confirm)
-  "Run the run_cmd project variable.
-By default, this runs the main program.
-If CONFIRM is non-nil, prompt for user confirmation of the command."
-  (interactive "P")
-  (ada-build-run-cmd 'run_cmd confirm "run command"))
-
-(defun ada-build-show-main ()
-  "Show current project main program filename."
-  (interactive)
-  (message "Ada mode main: %s" (plist-get (ada-prj-plist 
(ada-prj-require-prj)) 'main)))
-
-;;; setup
-(add-to-list 'ada-prj-default-list 'ada-build-default-prj)
-
-(provide 'ada-build)
-;; end of file
diff --git a/packages/ada-mode/ada-compiler-gnat.el 
b/packages/ada-mode/ada-compiler-gnat.el
deleted file mode 100644
index a19fcda..0000000
--- a/packages/ada-mode/ada-compiler-gnat.el
+++ /dev/null
@@ -1,804 +0,0 @@
-;;; ada-compiler-gnat.el --- Ada mode compiling functionality provided by GNAT 
 -*- lexical-binding:t -*-
-;;;
-;; GNAT is provided by AdaCore; see http://libre.adacore.com/
-;;
-;;; Copyright (C) 2012 - 2020  Free Software Foundation, Inc.
-;;
-;; Author: Stephen Leake <stephen_leake@member.fsf.org>
-;; Maintainer: Stephen Leake <stephen_leake@member.fsf.org>
-;;
-;; This file is part of GNU Emacs.
-;;
-;; GNU Emacs is free software: you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-;;
-;; GNU Emacs is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;; GNU General Public License for more details.
-;;
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
-;;
-;;; Usage:
-;;
-;; Emacs should enter Ada mode automatically when you load an Ada
-;; file, based on the file extension.
-;;
-;; By default, ada-mode is configured to load this file, so nothing
-;; special needs to be done to use it.
-
-(require 'ada-core)
-(require 'cl-lib)
-(require 'compile)
-(require 'gnat-core)
-(require 'wisi)
-
-;;;; compiler message handling
-
-(defconst ada-gnat-predefined-package-alist
-  '(
-    ("a-calend" . "Ada.Calendar")
-    ("a-chahan" . "Ada.Characters.Handling")
-    ("a-comlin" . "Ada.Command_Line")
-    ("a-contai" . "Ada.Containers")
-    ("a-direct" . "Ada.Directories")
-    ("a-except" . "Ada.Exceptions")
-    ("a-ioexce" . "Ada.IO_Exceptions")
-    ("a-finali" . "Ada.Finalization")
-    ("a-numeri" . "Ada.Numerics")
-    ("a-nuflra" . "Ada.Numerics.Float_Random")
-    ("a-stream" . "Ada.Streams")
-    ("a-ststio" . "Ada.Streams.Stream_IO")
-    ("a-string" . "Ada.Strings")
-    ("a-strfix" . "Ada.Strings.Fixed")
-    ("a-strmap" . "Ada.Strings.Maps")
-    ("a-strunb" . "Ada.Strings.Unbounded")
-    ("a-stwiun" . "Ada.Strings.Wide_Unbounded")
-    ("a-textio" . "Ada.Text_IO")
-    ("g-comlin" . "GNAT.Command_Line")
-    ("g-dirope" . "GNAT.Directory_Operations")
-    ("g-socket" . "GNAT.Sockets")
-    ("i-c"      . "Interfaces.C")
-    ("i-cstrin" . "Interfaces.C.Strings")
-    ("interfac" . "Interfaces")
-    ("s-stoele" . "System.Storage_Elements")
-    )
-  "Alist (filename . package name) of GNAT file names for predefined Ada 
packages.")
-
-(defun ada-gnat-compilation-filter ()
-  "Filter to add text properties to secondary file references.
-For `compilation-filter-hook'."
-  (save-excursion
-    (goto-char compilation-filter-start)
-
-    ;; primary references are handled by font-lock functions; see
-    ;; `compilation-mode-font-lock-keywords'.
-    ;;
-    ;; compilation-filter might insert partial lines, or it might insert 
multiple lines
-    (goto-char (line-beginning-position))
-    (while (not (eobp))
-      ;; We don't want 'next-error' to always go to secondary
-      ;; references, so we _don't_ set 'compilation-message text
-      ;; property. Instead, we set 'ada-secondary-error, so
-      ;; `ada-show-secondary-error' will handle it. We also set
-      ;; fonts, so the user can see the reference.
-
-      ;; typical secondary references look like:
-      ;;
-      ;; trivial_productions_test.adb:57:77:   ==> in call to "Get" at \
-      ;;    opentoken-token-enumerated-analyzer.ads:88, instance at line 41
-      ;;
-      ;; c:/foo/bar/lookahead_test.adb:379:14: found type access to 
"Standard.String" defined at line 379
-      ;;
-      ;; lookahead_test.ads:23:09: "Name" has been inherited from subprogram 
at aunit-simple_test_cases.ads:47
-      ;;
-      ;; lalr.adb:668:37: non-visible declaration at analyzer.ads:60, instance 
at parser.ads:38
-      ;;
-      ;; save the file from the primary reference, look for "*.ad?:nn", "at 
line nnn"
-
-      (let (file)
-       (when (looking-at "^\\(\\(.:\\)?[^ :\n]+\\):")
-         (setq file (match-string-no-properties 1)))
-
-       (skip-syntax-forward "^-"); space following primary reference
-
-       (while (search-forward-regexp 
"\\s-\\(\\([^[:blank:]]+\\.[[:alpha:]]+\\):\\([0-9]+\\):?\\([0-9]+\\)?\\)"
-                                     (line-end-position) t)
-
-         (goto-char (match-end 0))
-         (with-silent-modifications
-           (compilation--put-prop 2 'font-lock-face compilation-info-face); 
file
-           (compilation--put-prop 3 'font-lock-face compilation-line-face); 
line
-           (compilation--put-prop 4 'font-lock-face compilation-line-face); col
-           (put-text-property
-            (match-beginning 0) (match-end 0)
-            'ada-secondary-error
-            (list
-             (match-string-no-properties 2); file
-             (string-to-number (match-string-no-properties 3)); line
-             (if (match-string 4)
-                 (1- (string-to-number (match-string-no-properties 4)))
-               0); column
-             ))
-           ))
-
-       (when (search-forward-regexp "\\(at line \\)\\([0-9]+\\)" 
(line-end-position) t)
-         (with-silent-modifications
-           (compilation--put-prop 1 'font-lock-face compilation-info-face); 
"at line" instead of file
-           (compilation--put-prop 2 'font-lock-face compilation-line-face); 
line
-           (put-text-property
-            (match-beginning 1) (match-end 1)
-            'ada-secondary-error
-            (list
-             file
-             (string-to-number (match-string-no-properties 2)); line
-             1)); column
-           ))
-       (forward-line 1))
-      )
-    ))
-
-(defun ada-gnat-debug-filter ()
-  ;; call ada-gnat-compilation-filter with `compilation-filter-start' bound
-  (interactive)
-  (beginning-of-line)
-  (let ((compilation-filter-start (point)))
-    (ada-gnat-compilation-filter)))
-
-;;;;; auto fix compilation errors
-
-(defconst ada-gnat-file-name-regexp
-  "\\([a-z-_.]+\\)"
-  "regexp to extract a file name")
-
-(defconst ada-gnat-quoted-name-regexp
-  "\"\\([[:alnum:]_.']+\\)\""
-  "regexp to extract the quoted names in error messages")
-
-(defconst ada-gnat-quoted-punctuation-regexp
-  "\"\\([,:;=()|]+\\)\""
-  "regexp to extract quoted punctuation in error messages")
-
-(defun ada-gnat-misspelling ()
-  "Return correct spelling from current compiler error, if there are 
corrections offered.
-Prompt user if more than one."
-  ;; wisi-output.adb:115:41: no selector "Productions" for type "RHS_Type" 
defined at wisi.ads:77
-  ;; wisi-output.adb:115:41: invalid expression in loop iterator
-  ;; wisi-output.adb:115:42: possible misspelling of "Production"
-  ;; wisi-output.adb:115:42: possible misspelling of "Production"
-  ;;
-  ;; column number can vary, so only check the line number
-  (save-excursion
-    (let* ((start-msg (get-text-property (line-beginning-position) 
'compilation-message))
-          (start-line (nth 1 (compilation--message->loc start-msg)))
-          done choices)
-      (while (not done)
-       (forward-line 1)
-       (let ((msg (get-text-property (line-beginning-position) 
'compilation-message)))
-         (setq done (or (not msg)
-                        (not (equal start-line (nth 1 
(compilation--message->loc msg)))))))
-       (when (and (not done)
-                  (progn
-                    (skip-syntax-forward "^-")
-                    (forward-char 1)
-                    (looking-at (concat "possible misspelling of " 
ada-gnat-quoted-name-regexp))))
-         (push (match-string 1) choices)))
-
-      ;; return correct spelling
-      (cond
-       ((= 0 (length choices))
-       nil)
-
-       ((= 1 (length choices))
-       (car choices))
-
-       (t ;; multiple choices
-       (completing-read "correct spelling: " choices))
-       ))))
-
-(defun ada-gnat-qualified ()
-  "Return qualified name from current compiler error, if there is one offered."
-  (save-excursion
-    (forward-line 1)
-    (skip-syntax-forward "^ ")
-    (looking-at " use fully qualified name starting with \\([[:alnum:]_]+\\) 
to make")
-    (match-string 1)
-    ))
-
-(cl-defmethod wisi-compiler-fix-error ((_compiler gnat-compiler) source-buffer)
-  (let ((start-pos (point))
-       message-column
-       result)
-    ;; Move to start of error message text
-    (skip-syntax-forward "^-")
-    (forward-char 1)
-    (setq message-column (current-column))
-
-    ;; recognize it, handle it
-    (setq
-     result
-     (unwind-protect
-        (cond
-         ;; It is tempting to define an alist of (MATCH . ACTION), but
-         ;; that is too hard to debug
-         ;;
-         ;; This list will get long, so let's impose some order.
-         ;;
-         ;; 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)
-                 (err-msg (get-text-property (line-beginning-position) 
'compilation-message))
-                 (file-line-struct err-msg)
-                 pos choices unit-name)
-            ;; next line may contain a reference to where ident is
-            ;; defined; if present, it will have been marked by
-            ;; ada-gnat-compilation-filter:
-            ;;
-            ;; gnatquery.adb:255:13: "Has_Element" is not visible
-            ;; gnatquery.adb:255:13: non-visible declaration at 
a-convec.ads:68, instance at gnatcoll-arg_lists.ads:157
-            ;; gnatquery.adb:255:13: non-visible declaration at 
a-coorse.ads:62, instance at gnatcoll-xref.ads:912
-            ;; gnatquery.adb:255:13: non-visible declaration at 
a-coorse.ads:62, instance at gnatcoll-xref.ads:799
-            ;; gnatquery.adb:255:13: non-visible declaration at 
gnatcoll-xref.ads:314
-            ;;
-            ;; or the next line may contain "multiple use clauses cause hiding"
-            ;;
-            ;; the lines after that may contain alternate matches;
-            ;; collect all, let user choose.
-            (forward-line 1)
-            (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 err-msg)
-                             (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))
-                         (prj (project-current))
-                         (choice (ada-compiler-ada-name-from-file-name 
(wisi-prj-compiler prj) prj 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
-                   ((= 0 (length choices)) nil)
-                   ((= 1 (length choices)) (car choices))
-                   (t ;; multiple choices
-                    (completing-read "package name: " choices))))
-
-            (when unit-name
-              (pop-to-buffer source-buffer)
-              ;; We either need to add a with_clause for a package, or
-              ;; prepend the package name here (or add a use clause, but I
-              ;; don't want to do that automatically).
-              ;;
-              ;; If we need to add a with_clause, unit-name may be only
-              ;; the prefix of the real package name, but in that case
-              ;; we'll be back after the next compile; no way to get the
-              ;; full package name (without the function/type name) now.
-              ;; Note that we can't use gnat find, because the code
-              ;; doesn't compile.
-              (cond
-               ((looking-at (concat unit-name "\\."))
-                (ada-fix-add-with-clause unit-name))
-               (t
-                (ada-fix-insert-unit-name unit-name)
-                (insert ".")))
-              t) ;; success, else nil => fail
-            ))
-
-         ((or (looking-at (concat ada-gnat-quoted-name-regexp " is undefined"))
-              (looking-at (concat ada-gnat-quoted-name-regexp " is not a 
predefined library unit")))
-          ;; We either need to add a with_clause for a package, or
-          ;; something is spelled wrong.
-          (save-excursion
-            (let ((unit-name (match-string 1))
-                  (correct-spelling (ada-gnat-misspelling)))
-              (if correct-spelling
-                  (progn
-                    (pop-to-buffer source-buffer)
-                    (search-forward unit-name)
-                    (replace-match correct-spelling))
-
-                ;; else assume missing with
-                (pop-to-buffer source-buffer)
-                (ada-fix-add-with-clause unit-name))))
-          t)
-
-         ((looking-at (concat ada-gnat-quoted-name-regexp " not declared in " 
ada-gnat-quoted-name-regexp))
-          (save-excursion
-            (let ((child-name (match-string 1))
-                  (correct-spelling (ada-gnat-misspelling))
-                  (qualified (ada-gnat-qualified)))
-              (cond
-               (correct-spelling
-                (pop-to-buffer source-buffer)
-                (search-forward child-name)
-                (replace-match correct-spelling))
-
-               (qualified
-                (pop-to-buffer source-buffer)
-                (search-forward child-name)
-                (skip-syntax-backward "w_.")
-                (insert qualified "."))
-
-               (t
-                ;; else guess that "child" is a child package, and extend the 
with_clause
-                (pop-to-buffer source-buffer)
-                (ada-fix-extend-with-clause child-name))))
-          t))
-
-         ((looking-at (concat ada-gnat-quoted-punctuation-regexp
-                              " should be "
-                              ada-gnat-quoted-punctuation-regexp))
-          (let ((bad (match-string-no-properties 1))
-                (good (match-string-no-properties 2)))
-            (pop-to-buffer source-buffer)
-            (looking-at bad)
-            (delete-region (match-beginning 0) (match-end 0))
-            (insert good))
-          t)
-
-;;;; strings
-         ((looking-at (concat "\"end " ada-name-regexp ";\" expected"))
-          (let ((expected-name (match-string 1)))
-            (pop-to-buffer source-buffer)
-            (if (looking-at (concat "end " ada-name-regexp ";"))
-                (progn
-                  (goto-char (match-end 1))   ; just before ';'
-                  (delete-region (match-beginning 1) (match-end 1)))
-              ;; else we have just 'end;'
-              (forward-word 1)
-              (insert " "))
-            (insert expected-name))
-          t)
-
-         ((looking-at (concat "\"end loop " ada-name-regexp ";\" expected"))
-          (let ((expected-name (match-string 1)))
-            (pop-to-buffer source-buffer)
-            (if (looking-at (concat "end loop " ada-name-regexp ";"))
-                (progn
-                  (goto-char (match-end 1))   ; just before ';'
-                  (delete-region (match-beginning 1) (match-end 1)))
-              ;; else we have just 'end loop;'
-              (forward-word 2)
-              (insert " "))
-            (insert expected-name))
-          t)
-
-         ((looking-at "expected an access type")
-          (progn
-            (set-buffer source-buffer)
-            (backward-char 1)
-            (when (looking-at "\\.all")
-              (delete-char 4)
-              t)))
-
-         ((looking-at (concat "expected \\(private \\)?type " 
ada-gnat-quoted-name-regexp))
-          (forward-line 1)
-          (move-to-column message-column)
-          (cond
-           ((looking-at "found procedure name")
-            (pop-to-buffer source-buffer)
-            (forward-word 1)
-            (insert "'Access")
-            t)
-           ((looking-at "found type access")
-            (pop-to-buffer source-buffer)
-            (if (looking-at "'Access")
-                (kill-word 1)
-              (forward-word 1)
-              (insert ".all"))
-            t)
-           ((looking-at "found type .*_Access_Type")
-            ;; assume just need '.all'
-            (pop-to-buffer source-buffer)
-            (forward-word 1)
-            (insert ".all")
-            t)
-           ))
-
-         ((looking-at "extra \".\" ignored")
-          (set-buffer source-buffer)
-          (delete-char 1)
-          t)
-
-         ((looking-at (concat "keyword " ada-gnat-quoted-name-regexp " 
expected here"))
-          (let ((expected-keyword (match-string 1)))
-            (pop-to-buffer source-buffer)
-            (insert " " expected-keyword))
-          t)
-
-         ((looking-at "\\(?:possible \\)?missing \"with \\([[:alnum:]_.]+\\);")
-          ;; also 'possible missing "with Ada.Text_IO; use Ada.Text_IO"' - 
ignoring the 'use'
-          (let ((package-name (match-string-no-properties 1)))
-            (pop-to-buffer source-buffer)
-            ;; Could check if prefix is already with'd, extend
-            ;; it. But no one has reported that case yet; this
-            ;; message only occurs for predefined Ada packages.
-            (ada-fix-add-with-clause package-name))
-          t)
-
-         ;; must be after above
-         ;;
-         ;; missing "end;" for "begin" at line 234
-         ((looking-at "missing \"\\([^ ]+\\)\"")
-          (let ((stuff (match-string-no-properties 1)))
-            (set-buffer source-buffer)
-            (insert (concat stuff)));; if missing ")", don't need space; 
otherwise do?
-          t)
-
-         ((looking-at (concat "\\(?:possible \\)?misspelling of " 
ada-gnat-quoted-name-regexp))
-          (let ((expected-name (match-string 1)))
-            (pop-to-buffer source-buffer)
-            (looking-at ada-name-regexp)
-            (delete-region (match-beginning 1) (match-end 1))
-            (insert expected-name))
-          t)
-
-         ((looking-at "No legal interpretation for operator")
-          (forward-line 1)
-          (move-to-column message-column)
-          (looking-at (concat "use clause on " ada-gnat-quoted-name-regexp))
-          (let ((package (match-string 1)))
-            (pop-to-buffer source-buffer)
-            (ada-fix-add-use package))
-          t)
-
-         ((looking-at (concat "no selector " ada-gnat-quoted-name-regexp))
-          ;; Check next line for spelling error.
-          (save-excursion
-            (let ((unit-name (match-string 1))
-                  (correct-spelling (ada-gnat-misspelling)))
-              (when correct-spelling
-                (pop-to-buffer source-buffer)
-                (search-forward unit-name)
-                (replace-match correct-spelling)
-                t))))
-
-         ((looking-at (concat "operator for \\(private \\)?type " 
ada-gnat-quoted-name-regexp
-                              "\\( defined at " ada-gnat-file-name-regexp 
"\\)?"))
-          (let ((type (match-string 2))
-                (package-file (match-string 4))
-                (prj (project-current)))
-            (when package-file
-              (setq type (concat
-                          (ada-compiler-ada-name-from-file-name 
(wisi-prj-compiler prj) prj package-file)
-                          "." type)))
-            (pop-to-buffer source-buffer)
-            (ada-fix-add-use-type type)
-          t))
-
-         ((looking-at "package \"Ada\" is hidden")
-          (pop-to-buffer source-buffer)
-          (forward-word -1)
-          (insert "Standard.")
-          t)
-
-         ((looking-at "parentheses required for unary minus")
-          (set-buffer source-buffer)
-          (insert "(")
-          (forward-word 1)
-          (insert ")")
-          t)
-
-         ((looking-at "prefix of dereference must be an access type")
-          (pop-to-buffer source-buffer)
-          ;; point is after '.' in '.all'
-          (delete-region (- (point) 1) (+ (point) 3))
-          t)
-
-;;;; warnings
-         ((looking-at (concat "warning: " ada-gnat-quoted-name-regexp " is 
already use-visible"))
-          ;; just delete the 'use'; assume it's on a line by itself.
-          (pop-to-buffer source-buffer)
-          (beginning-of-line)
-          (delete-region (point) (progn (forward-line 1) (point)))
-          t)
-
-         ((looking-at (concat "warning: " ada-gnat-quoted-name-regexp " is not 
modified, could be declared constant"))
-          (pop-to-buffer source-buffer)
-          (search-forward ":")
-          (forward-comment (- (point-max) (point)))
-          ;; "aliased" must be before "constant", so check for it
-          (when (looking-at "aliased")
-            (forward-word 1)
-            (forward-char 1))
-          (insert "constant ")
-          t)
-
-         ((looking-at (concat "warning: constant " ada-gnat-quoted-name-regexp 
" is not referenced"))
-          (let ((constant (match-string 1)))
-            (pop-to-buffer source-buffer)
-            (end-of-line)
-            (newline-and-indent)
-            (insert "pragma Unreferenced (" constant ");"))
-          t)
-
-         ((looking-at (concat "warning: formal parameter " 
ada-gnat-quoted-name-regexp " is not referenced"))
-          (let ((param (match-string 1))
-                cache)
-            (pop-to-buffer source-buffer)
-            ;; Point is in a subprogram parameter list;
-            ;; ada-goto-declarative-region-start goes to the package,
-            ;; not the subprogram declarative_part (this is a change
-            ;; from previous wisi versions).
-            (setq cache (wisi-goto-statement-start))
-            (while (not (eq 'IS (wisi-cache-token cache)))
-              (forward-sexp)
-              (setq cache (wisi-get-cache (point))))
-            (forward-word)
-            (newline-and-indent)
-            (insert "pragma Unreferenced (" param ");"))
-          t)
-
-         ((looking-at (concat "warning: formal parameter " 
ada-gnat-quoted-name-regexp " is not modified"))
-          (let ((mode-regexp "\"\\([in out]+\\)\"")
-                new-mode
-                old-mode)
-            (forward-line 1)
-            (search-forward-regexp
-             (concat "mode could be " mode-regexp " instead of " mode-regexp))
-            (setq new-mode (match-string 1))
-            (setq old-mode (match-string 2))
-            (pop-to-buffer source-buffer)
-            (search-forward old-mode)
-            (replace-match new-mode)
-            (ada-align)
-            )
-          t)
-
-         ((looking-at (concat "warning: variable " ada-gnat-quoted-name-regexp 
" is not referenced"))
-          (let ((param (match-string 1)))
-            (pop-to-buffer source-buffer)
-            (forward-sexp);; end of declaration
-            (forward-char);; skip semicolon
-            (newline-and-indent)
-            (insert "pragma Unreferenced (" param ");"))
-          t)
-
-         ((or
-           (looking-at (concat "warning: no entities of " 
ada-gnat-quoted-name-regexp " are referenced"))
-           (looking-at (concat "warning: unit " ada-gnat-quoted-name-regexp " 
is never instantiated"))
-           (looking-at "warning: redundant with clause"))
-          ;; just delete the 'with'; assume it's on a line by itself.
-          (pop-to-buffer source-buffer)
-          (beginning-of-line)
-          (delete-region (point) (progn (forward-line 1) (point)))
-          t)
-
-         ((looking-at (concat "warning: variable " ada-gnat-quoted-name-regexp 
" is assigned but never read"))
-          (let ((param (match-string 1)))
-            (pop-to-buffer source-buffer)
-            (wisi-goto-statement-end) ;; leaves point before semicolon
-            (forward-char 1)
-            (newline-and-indent)
-            (insert "pragma Unreferenced (" param ");"))
-          t)
-
-         ((looking-at (concat "warning: unit " ada-gnat-quoted-name-regexp " 
is not referenced"))
-          ;; just delete the 'with'; assume it's on a line by itself.
-          (pop-to-buffer source-buffer)
-          (beginning-of-line)
-          (delete-region (point) (progn (forward-line 1) (point)))
-          t)
-
-         ((looking-at (concat "warning: use clause for 
\\(package\\|type\\|private type\\) " ada-gnat-quoted-name-regexp " \\(defined 
at\\|from instance at\\|has no effect\\)"))
-          ;; delete the 'use'; assume it's on a line by itself.
-          (pop-to-buffer source-buffer)
-          (beginning-of-line)
-          (delete-region (point) (progn (forward-line 1) (point)))
-          t)
-
-;;;; style errors
-         ((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)
-
-         ((looking-at "(style) bad capitalization, mixed case required")
-          (set-buffer source-buffer)
-          (forward-word)
-          (wisi-case-adjust-identifier)
-          t)
-
-         ((looking-at (concat "(style) bad casing of " 
ada-gnat-quoted-name-regexp))
-          (let ((correct (match-string-no-properties 1))
-                end)
-            ;; gnat leaves point on first bad character, but we need to 
replace the whole word
-            (set-buffer source-buffer)
-            (skip-syntax-backward "w_")
-            (setq end (point))
-            (skip-syntax-forward "w_")
-            (delete-region (point) end)
-            (insert correct))
-          t)
-
-         ((or
-           (looking-at "(style) bad column")
-           (looking-at "(style) bad indentation")
-           (looking-at "(style) incorrect layout"))
-          (set-buffer source-buffer)
-          (funcall indent-line-function)
-          t)
-
-         ((looking-at "(style) \"exit \\(.*\\)\" required")
-          (let ((name (match-string-no-properties 1)))
-            (set-buffer source-buffer)
-            (forward-word 1)
-            (insert (concat " " name))
-          t))
-
-         ((looking-at "(style) misplaced \"then\"")
-          (set-buffer source-buffer)
-          (delete-indentation)
-          t)
-
-         ((looking-at "(style) missing \"overriding\" indicator")
-          (set-buffer source-buffer)
-          (cond
-           ((looking-at "\\(procedure\\)\\|\\(function\\)")
-            (insert "overriding ")
-           t)
-           (t
-            nil)))
-
-         ((looking-at "(style) reserved words must be all lower case")
-          (set-buffer source-buffer)
-          (downcase-word 1)
-          t)
-
-         ((looking-at "(style) space not allowed")
-          (set-buffer source-buffer)
-          ;; Error places point on space. More than one trailing space
-          ;; should be fixed by delete-trailing-whitespace in
-          ;; before-save-hook, once the file is modified.
-          (delete-char 1)
-          t)
-
-         ((looking-at "(style) space required")
-          (set-buffer source-buffer)
-          (insert " ")
-          t)
-         )));; end of setq unwind-protect cond
-    (if result
-       t
-      (goto-char start-pos)
-      nil)
-    ))
-
-;;;; generic methods
-
-(cl-defmethod ada-prj-select-compiler ((_compiler gnat-compiler) _project)
-  ;; These can't be in wisi-compiler-select-prj (gnat-compiler),
-  ;; because that is shared with gpr-mode (and maybe others).
-  (add-hook 'compilation-filter-hook 'ada-gnat-compilation-filter)
-  (add-hook 'ada-syntax-propertize-hook #'ada-gnat-syntax-propertize)
-
-  ;; We should call `syntax-ppss-flush-cache' here, to force ppss with
-  ;; the new hook function. But that must be done in all ada-mode
-  ;; buffers, which is tedious. So we're ignoring it until it becomes
-  ;; a problem; normally, the compiler is selected before any Ada
-  ;; files are visited, so it's not an issue.
-  )
-
-(cl-defmethod ada-prj-deselect-compiler ((_compiler gnat-compiler) _project)
-  (remove-hook 'ada-syntax-propertize-hook #'ada-gnat-syntax-propertize)
-  (remove-hook 'compilation-filter-hook #'ada-gnat-compilation-filter)
-  )
-
-(cl-defmethod ada-compiler-file-name-from-ada-name ((compiler gnat-compiler) 
project ada-name)
-  (let ((result nil))
-
-    (while (string-match "\\." ada-name)
-      (setq ada-name (replace-match "-" t t ada-name)))
-
-    (setq ada-name (downcase ada-name))
-
-    (with-current-buffer (gnat-run-buffer project 
(gnat-compiler-run-buffer-name compiler))
-      (gnat-run-no-prj
-       (list
-       "krunch"
-       ada-name
-       ;; "0" means only krunch GNAT library names
-       "0"))
-
-      (goto-char (point-min))
-      (when ada-gnat-debug-run (forward-line 1)); skip  cmd
-      (setq result (buffer-substring-no-properties (line-beginning-position) 
(line-end-position)))
-      )
-    result))
-
-(cl-defmethod ada-compiler-ada-name-from-file-name ((_compiler gnat-compiler) 
_project file-name)
-  (let* ((ada-name (file-name-sans-extension (file-name-nondirectory 
file-name)))
-        (predefined (cdr (assoc ada-name ada-gnat-predefined-package-alist))))
-
-    (if predefined
-        predefined
-      (while (string-match "-" ada-name)
-       (setq ada-name (replace-match "." t t ada-name)))
-      ada-name)))
-
-(cl-defmethod ada-compiler-make-package-body ((compiler gnat-compiler) project 
body-file-name)
-  ;; gnatstub always creates the body in the current directory (in the
-  ;; process where gnatstub is running); the -o parameter may not
-  ;; contain path info. So we bind default-directory here.
-  (let ((start-file (buffer-file-name))
-       (opts (when (gnat-compiler-gnat-stub-opts compiler)
-               (split-string (gnat-compiler-gnat-stub-opts compiler))))
-       (cargs (when (gnat-compiler-gnat-stub-cargs compiler)
-               (append (list "-cargs") (split-string 
(gnat-compiler-gnat-stub-cargs compiler)))))
-       (process-environment
-        (append
-          (wisi-prj-compile-env project)
-          (wisi-prj-file-env project)
-          (copy-sequence process-environment)))
-       )
-
-    ;; Make sure all relevant files are saved to disk.
-    (save-some-buffers t)
-
-    (with-current-buffer (gnat-run-buffer compiler 
(gnat-compiler-run-buffer-name compiler))
-      (let ((default-directory (file-name-directory body-file-name)))
-       (gnat-run-gnat
-        project
-        "stub"
-        (append opts (list start-file) cargs))
-
-       (find-file body-file-name)
-       (indent-region (point-min) (point-max))
-       (save-buffer)))
-    nil))
-
-(defun ada-gnat-syntax-propertize (start end)
-  (goto-char start)
-  (save-match-data
-    (while (re-search-forward
-           (concat
-            "[^[:alnum:])]\\('\\)\\[[\"a-fA-F0-9]+\"\\]\\('\\)"; 1, 2: 
non-ascii character literal, not attributes
-            "\\|\\(\\[\"[a-fA-F0-9]+\"\\]\\)"; 3: non-ascii character in 
identifier
-            )
-           end t)
-      (cond
-       ((match-beginning 1)
-       (put-text-property
-        (match-beginning 1) (match-end 1) 'syntax-table '(7 . ?'))
-       (put-text-property
-        (match-beginning 2) (match-end 2) 'syntax-table '(7 . ?')))
-
-       ((match-beginning 3)
-       (put-text-property
-        (match-beginning 3) (match-end 3) 'syntax-table '(2 . nil)))
-       )
-      )))
-
-(provide 'ada-compiler-gnat)
-;; ada-compiler-gnat.el ends here
diff --git a/packages/ada-mode/ada-core.el b/packages/ada-mode/ada-core.el
deleted file mode 100644
index 85c1787..0000000
--- a/packages/ada-mode/ada-core.el
+++ /dev/null
@@ -1,778 +0,0 @@
-;;; ada-core.el --- core facilities for ada-mode -*- lexical-binding:t -*-
-
-;; Copyright (C) 1994, 1995, 1997 - 2017, 2019 - 2020  Free Software 
Foundation, Inc.
-;;
-;; Author: Stephen Leake <stephen_leake@member.fsf.org>
-;; Maintainer: Stephen Leake <stephen_leake@member.fsf.org>
-;;
-;; 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 'compile)
-(require 'find-file)
-(require 'uniquify-files)
-(require 'wisi)
-(require 'wisi-prj)
-
-;;;; misc
-
-(defgroup ada nil
-  "Major mode for editing Ada source code in Emacs."
-  :group 'languages)
-
-(defcustom ada-fix-sort-context-clause t
-  "*If non-nil, sort context clause when inserting `with'"
-  :type 'boolean
-  :group 'ada)
-
-(defconst ada-operator-re
-  
"\\+\\|-\\|/\\|\\*\\*\\|\\*\\|=\\|&\\|\\_<\\(abs\\|mod\\|rem\\|and\\|not\\|or\\|xor\\)\\_>\\|<=\\|<\\|>=\\|>"
-  "Regexp matching Ada operator_symbol.")
-
-(defconst ada-name-regexp
-  "\\(\\(?:\\sw\\|[_.]\\)+\\)")
-
-(defvar ada-compiler 'gnat
-  "Default Ada compiler; can be overridden in project files.
-Values defined by compiler packages.")
-
-(defvar ada-syntax-propertize-hook nil
-  "Hook run from `ada-syntax-propertize'.
-Called by `syntax-propertize', which is called by font-lock in
-`after-change-functions'.")
-
-(defun ada-declarative-region-start-p (cache)
-  "Return t if cache is a keyword starting a declarative region."
-  (memq (wisi-cache-token cache) '(DECLARE IS PRIVATE))
-  ;; IS has a cache only if start of declarative region
-  )
-
-(defun ada-goto-declarative-region-start ()
-  "Goto start of declarative region containing point."
-  (interactive)
-  (wisi-validate-cache (point-min) (point-max) t 'navigate)
-  (push-mark)
-  (when (looking-back "declare" (line-beginning-position))
-    ;; We just did ada-goto-declarative-region-start to get here; we
-    ;; want the next one up.
-    (backward-word 1))
-  (let ((done nil)
-       (start-pos (point))
-       (outermost nil)
-       (cache (or (wisi-get-cache (point))
-                  (wisi-backward-cache))))
-
-    ;; We use backward-cache, not forward-cache, to handle the case
-    ;; where point is in the whitespace or comment before a block; we
-    ;; want the containing block, not the next block.
-    ;;
-    ;; The typical use case for calling this fuction is to add a
-    ;; use_clause for an identifier/operator at start-pos.
-
-    (when cache ;; nil at bob
-      (while (not done)
-       (unless (wisi-cache-containing cache)
-         (setq outermost t))
-
-       (if (ada-declarative-region-start-p cache)
-           (if (< (point) start-pos)
-               ;; found it.
-               (progn
-                 (forward-word);; past 'is' or 'declare'.
-                 (setq done t))
-
-             ;; test/ada_mode-nominal.adb function F2
-             ;;
-             ;; start-point is in a subprogram_declarator,
-             ;; formal_part, aspect_clause, etc; code that contains a
-             ;; declarative part. We want the next level up.
-             (if outermost
-                 ;; there is no next level up; add the use_clause in the 
context_clause.
-                 (progn
-                   (setq cache (wisi-goto-containing cache))
-                   (setq done t))
-
-             (setq cache (wisi-goto-containing cache))
-             (setq cache (wisi-goto-containing cache))))
-
-         (cl-case (wisi-cache-class cache)
-           (motion
-            (setq cache (wisi-goto-containing cache)));; statement-start
-
-           (statement-end
-            (setq cache (wisi-goto-containing cache)) ;; statement-start
-            (cl-case (wisi-cache-nonterm cache)
-              ((generic_package_declaration
-                package_declaration
-                entry_body package_body package_declaration protected_body 
subprogram_body task_body
-                protected_type_declaration single_protected_declaration 
single_task_declaration task_type_declaration)
-               ;; This is a block scope before the starting point; we want the 
containing scope
-               (setq cache (wisi-goto-containing cache)))
-
-              (t
-               nil)
-              ))
-
-           (statement-start
-            (cl-case (wisi-cache-nonterm cache)
-              (generic_package_declaration
-               (setq cache (wisi-next-statement-cache cache)) ;; 'package'
-               (setq cache (wisi-next-statement-cache cache))) ;; 'is'
-
-              (package_declaration
-               (setq cache (wisi-next-statement-cache cache))) ;; 'is'
-
-              ((entry_body package_body protected_body subprogram_body 
task_body)
-               (while (not (eq 'IS (wisi-cache-token cache)))
-                 (setq cache (wisi-next-statement-cache cache))))
-
-              ((protected_type_declaration single_protected_declaration 
single_task_declaration task_type_declaration)
-               (while (not (eq 'IS (wisi-cache-token cache)))
-                 (setq cache (wisi-next-statement-cache cache)))
-               (when (looking-at "\<new\>")
-                 (while (not (eq 'WITH (wisi-cache-token cache)))
-                   (setq cache (wisi-next-statement-cache cache)))))
-
-              (t
-               (setq cache (wisi-goto-containing cache t)))
-              ))
-
-           (t
-            (setq cache (wisi-goto-containing cache t)))
-           )))
-      )))
-
-;;;; additional ada-compiler generic interfaces
-
-(cl-defgeneric ada-compiler-file-name-from-ada-name (compiler project ada-name)
-  "Return the filename that would contain the library level ADA-NAME.")
-
-(defun ada-file-name-from-ada-name (ada-name)
-  "Return the filename in which ADA-NAME is found."
-  (let ((project (ada-prj-require-prj)))
-    (ada-compiler-file-name-from-ada-name (ada-prj-compiler project) project 
ada-name)))
-
-(cl-defgeneric ada-compiler-ada-name-from-file-name (compiler project 
file-name)
-  "Return the Ada library unit name that should be found in FILE-NAME.")
-
-(cl-defgeneric ada-compiler-make-package-body (compiler project body-file-name)
-  "Create a package body skeleton from a package spec.
-BODY-FILE-NAME is the file name of the body file. Current buffer
-is the package spec.")
-
-(defun ada-make-package-body (body-file-name)
-  (let ((prj (ada-prj-require-prj)))
-    (ada-compiler-make-package-body (ada-prj-compiler prj)
-                                   prj
-                                   (expand-file-name body-file-name))))
-
-;;;; refactor
-
-;; Refactor actions; must match wisi-ada.adb Refactor
-(defconst ada-refactor-method-object-to-object-method 1)
-(defconst ada-refactor-object-method-to-method-object 2)
-
-(defconst ada-refactor-element-object-to-object-index 3)
-(defconst ada-refactor-object-index-to-element-object 4)
-
-(defconst ada-refactor-format-paramlist 5)
-
-(defun ada-refactor (action)
-  (wisi-validate-cache (line-end-position -7) (line-end-position 7) t 
'navigate)
-  (save-excursion
-    (skip-syntax-backward "w_.\"")
-    (let* ((edit-begin (point))
-          (cache (wisi-goto-statement-start))
-          (parse-begin (point))
-          (parse-end (wisi-cache-end cache)))
-      (if parse-end
-         (setq parse-end (+ parse-end (wisi-cache-last (wisi-get-cache 
(wisi-cache-end cache)))))
-       ;; else there is a syntax error; missing end of statement
-       (setq parse-end (point-max)))
-      (wisi-refactor wisi--parser action parse-begin parse-end edit-begin)
-      )))
-
-(defun ada-refactor-1 ()
-  "Refactor Method (Object) => Object.Method.
-Point must be in Method."
-  (interactive)
-  (ada-refactor ada-refactor-method-object-to-object-method))
-
-(defun ada-refactor-2 ()
-  "Refactor Object.Method => Method (Object).
-Point must be in Object.Method."
-  (interactive)
-  (ada-refactor ada-refactor-object-method-to-method-object))
-
-(defun ada-refactor-3 ()
-  "Refactor Element (Object, Index) => Object (Index).
-Point must be in Element"
-  (interactive)
-  (ada-refactor ada-refactor-element-object-to-object-index))
-
-(defun ada-refactor-4 ()
-  "Refactor Object (Index) => Element (Object, Index).
-Point must be in Object"
-  (interactive)
-  (ada-refactor ada-refactor-object-index-to-element-object))
-
-;; refactor-5 in ada-format-paramlist below
-
-(defcustom ada-language-version 'ada2012
-  ;; ada-fix-error.el needs this.
-  "Ada language version; one of `ada83', `ada95', `ada2005', `ada2012'.
-Only affects the keywords to highlight, not which version the
-parser accepts; the parser always accepts a superset of ada2012."
-  :type '(choice (const ada83)
-                (const ada95)
-                (const ada2005)
-                (const ada2012))
-  :safe  #'symbolp)
-(make-variable-buffer-local 'ada-language-version)
-
-(defun ada-in-case-expression (parse-result)
-  "Return non-nil if point is in a case expression."
-  (when (wisi-in-paren-p parse-result)
-    (save-excursion
-      (wisi-goto-open-paren 1 parse-result)
-      (while (forward-comment 1))
-      (looking-at "case"))))
-
-(defun ada-align ()
-  "If region is active, apply `align'. If not, attempt to align
-current construct."
-  (interactive)
-  (if (use-region-p)
-      (progn
-        (align (region-beginning) (region-end))
-        (deactivate-mark))
-
-    ;; else see if we are in a construct we know how to align
-    (let ((parse-result (syntax-ppss)))
-      (cond
-       ((ada-in-paramlist-p parse-result)
-        (ada-format-paramlist))
-
-       ((ada-in-case-expression parse-result)
-       ;; align '=>'
-       (let* ((begin (nth 1 parse-result))
-              (end   (scan-lists begin 1 0)))
-         (align begin end 'entire)))
-
-       (t
-       (align-current))
-       ))))
-
-(defun ada-in-paramlist-p (parse-result)
-  "Return t if point is inside the parameter-list of a subprogram declaration.
-PARSE-RESULT must be the result of `syntax-ppss'."
-  ;; (info "(elisp)Parser State" "*syntax-ppss*")
-  (let (cache)
-    (when (> (nth 0 parse-result) 0)
-      ;; In parens. Request parse of region containing parens; that
-      ;; will be expanded to include the subprogram declaration, if
-      ;; any,
-      (let* ((forward-sexp-function nil) ;; forward-sexp just does parens
-            (start (nth 1 parse-result))
-            (end (save-excursion (goto-char (nth 1 parse-result)) 
(forward-sexp) (point))))
-       (wisi-validate-cache start end nil 'navigate)
-       (setq cache (wisi-get-cache start))
-       ;; cache is nil if the parse failed
-       (when cache
-         (eq 'formal_part (wisi-cache-nonterm cache)))
-       ))))
-
-(defun ada-format-paramlist ()
-  "Reformat the parameter list point is in."
-  (interactive)
-  (condition-case nil
-      (wisi-goto-open-paren)
-    (error
-     (user-error "Not in parameter list")))
-  (funcall indent-line-function); so new list is indented properly
-  (when (not (looking-back "^[ \t]*" (line-beginning-position)))
-    (delete-horizontal-space)
-    (insert " "))
-  (ada-refactor ada-refactor-format-paramlist))
-
-;;;; fix compiler errors
-(defun ada-fix-context-clause ()
-  "Return the region containing the context clause for the current buffer,
-excluding leading pragmas."
-  (wisi-validate-cache (point-min) (point-max) t 'navigate)
-  (save-excursion
-    (goto-char (point-min))
-    (let ((begin nil)
-         (end nil)
-         cache)
-
-      (while (not end)
-       (setq cache (wisi-forward-cache))
-       (cl-case (wisi-cache-nonterm cache)
-         (pragma_g (wisi-goto-end-1 cache))
-         (use_clause (wisi-goto-end-1 cache))
-         (with_clause
-          (when (not begin)
-            (setq begin (line-beginning-position)))
-          (wisi-goto-end-1 cache))
-         (t
-          ;; start of compilation unit
-          (setq end (line-beginning-position))
-          (unless begin
-            (setq begin end)))
-         ))
-      (cons begin end)
-    )))
-
-(defun ada-fix-sort-context-pred (a b)
-  "Predicate for `sort-subr'; sorts \"limited with\", \"private with\" last.
-Returns non-nil if a should preceed b in buffer."
-  ;; a, b are buffer ranges in the current buffer
-  (cl-flet
-      ((starts-with
-       (pat reg)
-       (string= pat (buffer-substring-no-properties (car reg)
-                                                    (min (point-max)
-                                                         (+(car reg) (length 
pat)))))))
-    (cond
-     ((and
-       (starts-with "limited with" a)
-       (starts-with "private with" b))
-      t)
-
-     ((and
-       (starts-with "limited with" a)
-       (not (starts-with "limited with" b)))
-      nil)
-
-     ((and
-       (not (starts-with "limited with" a))
-       (starts-with "limited with" b))
-      t)
-
-     ((and
-       (starts-with "private with" a)
-       (not (starts-with "private with" b)))
-      nil)
-
-     ((and
-       (not (starts-with "private with" a))
-       (starts-with "private with" b))
-      t)
-
-     (t
-      (> 0 (compare-buffer-substrings
-           nil (car a) (cdr a)
-           nil (car b) (cdr b))) )
-     )))
-
-(defun ada-fix-sort-context-clause (beg end)
-  "Sort context clauses in range BEG END."
-  (save-excursion
-    (save-restriction
-      (narrow-to-region beg end)
-      (goto-char (point-min))
-      (sort-subr nil 'forward-line 'end-of-line nil nil 
'ada-fix-sort-context-pred)
-      )))
-
-(defun ada-fix-add-with-clause (package-name)
-  "Add a with_clause for PACKAGE_NAME.
-If ada-fix-sort-context-clause, sort the context clauses using
-sort-lines."
-  (let ((context-clause (ada-fix-context-clause)))
-    (when (not context-clause)
-      (error "no compilation unit found"))
-
-    (goto-char (cdr context-clause))
-    (insert "with ")
-    (ada-fix-insert-unit-name package-name)
-    (insert ";\n")
-
-    (when (and (< (car context-clause) (cdr context-clause))
-              ada-fix-sort-context-clause)
-      (ada-fix-sort-context-clause (car context-clause) (point)))
-    ))
-
-(defun ada-fix-extend-with-clause (child-name)
-  "Assuming point is in a selected name, just before CHILD-NAME, add or
-extend a with_clause to include CHILD-NAME  .  "
-  (let ((parent-name-end (point)))
-    ;; Find the full parent name; skip back to whitespace, then match
-    ;; the name forward.
-    (skip-syntax-backward "w_.")
-    (search-forward-regexp ada-name-regexp parent-name-end)
-    (let ((parent-name (match-string 0))
-         (context-clause (ada-fix-context-clause)))
-      (goto-char (car context-clause))
-      (if (search-forward-regexp (concat "^with " parent-name ";") (cdr 
context-clause) t)
-         ;; found exisiting 'with' for parent; extend it
-         (progn
-           (forward-char -1) ; skip back over semicolon
-           (insert "." child-name))
-
-       ;; not found; we are in a package body, with_clause for parent is in 
spec.
-       ;; insert a new one
-       (ada-fix-add-with-clause (concat parent-name "." child-name)))
-      )))
-
-(defun ada-fix-insert-unit-name (unit-name)
-  "Insert UNIT-NAME at point and capitalize it."
-  ;; unit-name is normally gotten from a file-name, and is thus all lower-case.
-  (let ((start-point (point))
-        search-bound)
-    (insert unit-name)
-    (setq search-bound (point))
-    (insert " ") ; separate from following words, if any, for 
wisi-case-adjust-identifier
-    (goto-char start-point)
-    (while (search-forward "." search-bound t)
-      (forward-char -1)
-      (wisi-case-adjust-identifier)
-      (forward-char 1))
-    (goto-char search-bound)
-    (wisi-case-adjust-identifier)
-    (delete-char 1)))
-
-(defun ada-fix-add-use-type (type)
-  "Insert `use type' clause for TYPE at start of declarative part for current 
construct."
-  (ada-goto-declarative-region-start); leaves point after 'is'
-  (newline-and-indent)
-  (cl-ecase ada-language-version
-    (ada2012
-     (insert "use all type "))
-    ((ada83 ada95 ada2005)
-     (insert "use type ")))
-  (let ((begin (point))
-       end)
-    (insert type ";")
-    (setq end (point))
-    (goto-char begin)
-    (while (< (point) end)
-      (wisi-case-adjust-at-point)
-      (forward-char 1))
-    ))
-
-(defun ada-fix-add-use (package)
-  "Insert `use' clause for PACKAGE at start of declarative part for current 
construct."
-  (ada-goto-declarative-region-start); leaves point after 'is'
-  (newline-and-indent)
-  (insert "use " package ";"))
-
-;;;; xref
-
-(defvar ada-xref-tool (if (locate-file "gpr_query" exec-path '("" ".exe")) 
'gpr_query 'gnat)
-  "Default Ada cross reference tool; can be overridden in project files.")
-
-(defconst ada-xref-known-tools '(gpr_query gnat)
-  "Supported xref tools")
-
-(defun ada-make-subprogram-body ()
-  "Convert subprogram specification after point into a subprogram body stub."
-  (interactive)
-  (wisi-goto-statement-start)
-  ;; point is at start of subprogram specification;
-  ;; wisi-parse-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))))
-        (name (wisi-next-name)))
-    (goto-char end)
-    (newline)
-    (insert " is begin\n\nend ");; legal syntax; parse does not fail
-    (insert name)
-    (forward-char 1)
-
-    ;; newline after body to separate from next body
-    (newline-and-indent)
-    (indent-region begin (point))
-    (forward-line -2)
-    (back-to-indentation)
-    ))
-
-(defun ada-ff-create-body ()
-  ;; ff-find-other-file calls this with point in an empty buffer for
-  ;; the body file; ada-make-package-body expects to be in the
-  ;; spec. So go back to the spec, and delete the body buffer so it
-  ;; does not get written to disk.
-  (let ((body-buffer (current-buffer))
-       (body-file-name (buffer-file-name))
-       (prj (ada-prj-require-prj)))
-
-    (set-buffer-modified-p nil);; may have a skeleton; allow silent delete
-
-    (ff-find-the-other-file);; back to spec
-
-    (kill-buffer body-buffer)
-
-    (ada-compiler-make-package-body (ada-prj-compiler prj) prj body-file-name)
-
-    ;; back to the new body file, read in from the disk.
-    (ff-find-the-other-file)
-    (revert-buffer t t))
-  )
-
-;;;; project files
-
-(cl-defstruct
-    (ada-prj
-     (:include wisi-prj)
-     (:copier nil)
-     (:constructor nil)
-     (:constructor make-ada-prj
-                  (&key
-                   name
-                   compile-env
-                   (compiler-label ada-compiler)
-                   (xref-label ada-xref-tool)
-                   source-path
-                   plist
-                   file-pred
-                   &aux
-                   (compiler (ada-prj-make-compiler compiler-label))
-                   (xref (ada-prj-make-xref xref-label))
-                   (compile-env (ada-prj-check-env compile-env))
-                   )))
-  compiler-label
-  xref-label
-  ;; save labels for wisi-prj-default
-
-  plist    ;; user-declared project variables; also obj_dir, mostly as an 
example.
-  )
-
-;;;###autoload
-(cl-defun create-ada-prj
-    (&key
-     name
-     compile-env
-     (compiler-label ada-compiler)
-     (xref-label ada-xref-tool)
-     source-path
-     plist
-     file-pred)
-  ;; We declare and autoload this because we can't autoload
-  ;; make-ada-prj in emacs < 27. We can't use '(defalias
-  ;; 'create-ada-prj 'make-ada-prj); then make-ada-prj is not defined
-  ;; by autoload.
-  (make-ada-prj
-   :name name
-   :compile-env compile-env
-   :compiler-label compiler-label
-   :xref-label xref-label
-   :source-path source-path
-   :plist plist
-   :file-pred file-pred))
-
-(defun ada-prj-check-env (env)
-  "Check that ENV has the proper structure; list of \"NAME=VALUE\".
-Return ENV."
-  ;; Previous versions used ("NAME" . "VALUE"), which screws up.
-  (let ((err-msg "env is not list of \"NAME=VALUE\"."))
-    (unless (listp env)
-      (error err-msg))
-    (dolist (item env)
-      (unless (stringp item)
-       (error err-msg))))
-  env)
-
-(defvar ada-prj-default-list nil
-  ;; This is used by ada-build.el; we keep it to allow other similar
-  ;; uses.
-  "List of functions to add default project variables. Called
-with one argument; the project. `default-directory' is set to the
-directory containing the project file. Function should update the
-project.")
-
-;;;###autoload
-(defun ada-prj-default (&optional name src-dir)
-  "Return the default `ada-prj' object.
-If SRC-DIR is non-nil, use it as the default for project.source-path."
-  (let ((project
-        (make-ada-prj
-         :name (or name "_default_")
-         :compiler-label  ada-compiler
-         :xref-label      ada-xref-tool
-         :source-path    (cond
-                          ((null src-dir) nil)
-                          ((listp src-dir) src-dir)
-                          (t (list src-dir)))
-         )))
-
-    (cl-dolist (func ada-prj-default-list)
-      (funcall func project))
-
-    project))
-
-(cl-defmethod wisi-prj-default ((prj ada-prj))
-  (let ((project
-        (make-ada-prj
-         :name           (wisi-prj-name prj)
-         :compile-env    (wisi-prj-compile-env prj)
-         :compiler-label (ada-prj-compiler-label prj)
-         :xref-label     (ada-prj-xref-label prj)
-         )))
-
-    (cl-dolist (func ada-prj-default-list)
-      (funcall func project))
-
-    project))
-
-;;;###autoload
-(defun ada-prj-make-compiler (label)
-  ;; We use the autoloaded constructor here
-  (require (intern (format "ada-compiler-%s" (symbol-name label))))
-  (funcall (intern (format "create-%s-compiler" (symbol-name label)))))
-
-(defun ada-prj-make-xref (label)
-  ;; We use the autoloaded constructor here
-  ;; No new require here.
-  (funcall (intern (format "create-%s-xref" (symbol-name label))))
-  )
-
-(defun ada-prj-require-prj ()
-  "Return current `ada-prj' object.
-Throw an error if current project is not an ada-prj."
-  (let ((prj (project-current)))
-    (if (ada-prj-p prj)
-       prj
-      (error "current project is not an ada project."))))
-
-(cl-defmethod wisi-prj-parse-one :after (project name value)
-  (cond
-   ;; variable name alphabetical order
-   ((string= name "ada_compiler")
-    (let ((comp (intern value)))
-      (setf (ada-prj-compiler project) (ada-prj-make-compiler comp))))
-
-   ((string= name "obj_dir")
-    (let ((obj-dir (plist-get (ada-prj-plist project) 'obj_dir)))
-      (cl-pushnew (file-name-as-directory (expand-file-name value))
-                 obj-dir :test #'equal)
-      (setf (ada-prj-plist project) (plist-put (ada-prj-plist project) 
'obj_dir obj-dir))
-      ))
-
-   ((string= name "xref_tool")
-    ;; This is defined here, rather than in wisi, because the list of
-    ;; xref tools is likely to be language-specific (but not always;
-    ;; for example Gnu global supports many languages).
-    (let ((xref-label (intern value)))
-      (if (memq xref-label ada-xref-known-tools)
-         (progn
-           (setf (ada-prj-xref-label project) xref-label)
-           (setf (ada-prj-xref project) (ada-prj-make-xref xref-label)))
-
-       (user-error "'%s' is not a recognized xref tool (must be one of %s)"
-                   xref-label ada-xref-known-tools))
-      ))
-   ))
-
-(defun ada-prj-parse-undefined (project name value)
-  "For `wisi-prj-parse-undefined-function'."
-  ;; Otherwise undefined names are set as a project file variable.
-  ;; eg "comp_opt"
-  ;;
-  ;; This is defined here, rather than in wisi, because we only
-  ;; maintain it for compatibility with previous ada-mode versions.
-  ;;
-  ;; We assume any repeated names are lists
-  (let ((prev (plist-get (ada-prj-plist project) (intern name))))
-    (if prev
-       (setf (ada-prj-plist project)
-             (plist-put (ada-prj-plist project)
-                        (intern name)
-                        (append (if (listp prev) prev (list prev))
-                                (list value))))
-
-      (setf (ada-prj-plist project)
-           (plist-put
-            (ada-prj-plist project)
-            (intern name)
-            value)))
-    ))
-
-;; 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)
-  ;; not ada-prj-select-file for backward compatibility
-  "Select PRJ-FILE as the current project file, parsing it if necessary.
-Deselects the current project first."
-  (wisi-prj-select-cache prj-file (ada-prj-default "")))
-(make-obsolete 'ada-select-prj-file 'wisi-prj-select-cache "ada-mode 7.0")
-
-(cl-defgeneric ada-prj-select-compiler (compiler project)
-  "PROJECT has been selected; set any project options that are both Ada and 
compiler specific.")
-
-(cl-defgeneric ada-prj-deselect-compiler (compiler project)
-  "PROJECT has been deselected; unset any project options that are both Ada 
and compiler specific.")
-
-(cl-defmethod wisi-prj-select :after ((project ada-prj))
-  (ada-prj-select-compiler (ada-prj-compiler project) project))
-
-(cl-defmethod wisi-prj-deselect :before ((project ada-prj))
-  (ada-prj-deselect-compiler (ada-prj-compiler project) project))
-
-(cl-defmethod wisi-prj-identifier-at-point ((_project ada-prj))
-  ;; Handle adjacent operator/identifer like:
-  ;; test/ada_mode-slices.adb
-  ;;   D1, D2 : Day := +Sun;
-  ;;
-  ;; For operators, return quoted operator
-
-  (cond
-   ((wisi-in-comment-p)
-    nil)
-
-   ((wisi-in-string-p)
-    ;; In an operator, or a string literal
-    (let (start)
-      (skip-chars-backward "+*/&<>=-")
-      (setq start (point))
-      (cond
-       ((and (= (char-before) ?\")
-            (progn
-              (forward-char -1)
-              (looking-at (concat "\"\\(" ada-operator-re "\\)\""))))
-       (list start (match-end 1) (concat "\"" (match-string-no-properties 1) 
"\"")))
-
-     (t
-      nil)
-     )))
-
-   ((looking-at (concat "\"\\(" ada-operator-re "\\)\""))
-    (list (match-beginning 0) (match-end 0) (match-string-no-properties 0)))
-
-   ((looking-at ada-operator-re)
-    (list (match-beginning 0) (match-end 0) (concat "\"" 
(match-string-no-properties 0) "\"")))
-
-   ((or (memq (syntax-class (syntax-after (1- (point)))) '(2 3))
-       (memq (syntax-class (syntax-after (point))) '(2 3)))
-    ;; word or symbol syntax.
-    (let (start)
-      (skip-syntax-backward "w_")
-      (setq start (point))
-      (skip-syntax-forward "w_")
-      (list start (point) (buffer-substring-no-properties start (point)))))
-
-   (t
-    nil)
-   ))
-
-;;;; initialization
-(push (cons "adp" #'wisi-prj-parse-file-1) wisi-prj-parser-alist)
-
-(add-to-list 'wisi-prj-file-extensions "adp")
-
-(provide 'ada-core)
-;; ada-core.el ends here
diff --git a/packages/ada-mode/ada-gnat-xref.el 
b/packages/ada-mode/ada-gnat-xref.el
deleted file mode 100644
index 8b3b340..0000000
--- a/packages/ada-mode/ada-gnat-xref.el
+++ /dev/null
@@ -1,317 +0,0 @@
-;;; ada-gnat-xref.el --- Ada mode cross-reference functionality provided by 
'gnat xref'  -*- lexical-binding:t -*-
-;;
-;; These tools are all Ada-specific; see gpr-query for multi-language
-;; GNAT cross-reference tools.
-;;
-;; GNAT is provided by AdaCore; see http://libre.adacore.com/
-;;
-;;; Copyright (C) 2012 - 2020  Free Software Foundation, Inc.
-;;
-;; Author: Stephen Leake <stephen_leake@member.fsf.org>
-;; Maintainer: Stephen Leake <stephen_leake@member.fsf.org>
-;;
-;; This file is part of GNU Emacs.
-;;
-;; GNU Emacs is free software: you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-;;
-;; GNU Emacs is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;; GNU General Public License for more details.
-;;
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
-;;
-;;; Usage:
-;;
-;; Emacs should enter Ada mode automatically when you load an Ada
-;; file, based on the file extension.
-;;
-;; By default, ada-mode is configured to load this file, so nothing
-;; special needs to done to use it.
-
-(require 'compile)
-(require 'gnat-core)
-
-;;;;; code
-
-;;;; uses of gnat tools
-
-(defconst gnatxref-buffer-name-prefix "*gnatxref-")
-
-(defconst ada-gnat-file-line-col-regexp "\\(.*\\):\\([0-9]+\\):\\([0-9]+\\)")
-
-(defconst ada-gnat-file-line-col-type-regexp
-  (concat ada-gnat-file-line-col-regexp ": +\\(?:(\\(.*\\))\\)?")
-  "Regexp matching <file>:<line>:<column> (<type>)")
-
-(cl-defstruct (gnatxref-xref (:include gnat-compiler))
-  ;; no new slots
-  )
-
-;;;###autoload
-(cl-defun create-gnat-xref
-    (&key
-     gpr-file
-     run-buffer-name
-     project-path
-     target
-     runtime
-     gnat-stub-opts
-     gnat-stub-cargs)
-  ;; See note on `create-ada-prj' for why this is not a defalias.
-  (make-gnatxref-xref
-   :gpr-file gpr-file
-   :run-buffer-name run-buffer-name
-   :project-path project-path
-   :target target
-   :runtime runtime
-   :gnat-stub-opts gnat-stub-opts
-   :gnat-stub-cargs gnat-stub-cargs
-   ))
-
-(cl-defmethod wisi-xref-parse-one ((xref gnatxref-xref) project name value)
-  (wisi-compiler-parse-one xref project name value))
-
-(cl-defmethod wisi-xref-parse-final ((xref gnatxref-xref) _project 
prj-file-name)
-  (setf (gnat-compiler-run-buffer-name xref) (gnat-run-buffer-name 
prj-file-name gnatxref-buffer-name-prefix)))
-
-(cl-defmethod wisi-xref-completion-table ((_xref gnatxref-xref) _project)
-  (wisi-names t t))
-
-(cl-defgeneric wisi-xref-completion-regexp ((_xref gnatxref-xref))
-  wisi-names-regexp)
-
-(defun ada-gnat-xref-adj-col (identifier col)
-  "Return COL adjusted for 1-index, quoted operators."
-  (cond
-   ((null col)
-    col)
-   
-   ((eq ?\" (aref identifier 0))
-    ;; There are two cases here:
-    ;;
-    ;; In both cases, gnat find wants the operators quoted, and the
-    ;; column on the +. Gnat column is one-indexed; emacs is 0 indexed.
-    ;;
-    ;; In the first case, the front end passes in a column on the leading ", 
so we add one.
-    ;;
-    ;; In the second case, the front end passes in a column on the +
-    (cond
-     ((= ?\" (char-after (point)))
-      ;; test/ada_mode-slices.adb
-      ;; function "+" (Left : in Day; Right : in Integer) return Day;
-      (+ 2 col))
-
-     (t
-      ;; test/ada_mode-slices.adb
-      ;; D1, D2 : Day := +Sun;
-      (+ 1 col))
-     ))
-
-   (t
-    ;; Gnat column is one-indexed; emacs is 0 indexed.
-    (+ 1 col))
-   ))
-
-(defun ada-gnat-xref-common-cmd (project)
-  "Returns the gnatfind command to run to find cross-references."
-  (format "%sgnatfind" (or (gnat-compiler-target (wisi-prj-xref project)) "")))
-
-(defun ada-gnat-xref-common-args (project identifier file line col)
-  "Returns a list of arguments to pass to gnatfind.  Some
-elements of the result may be nil."
-  (list "-a"
-        (when wisi-xref-full-path "-f")
-       ;; 'gnatfind' does not take a gnat project file argument. We
-       ;; assue you are not using gnatxref if you are using a gnat
-       ;; project file; use gpr_query.
-        (when (wisi-prj-source-path project)
-          (concat "-aI" (mapconcat 'identity (wisi-prj-source-path project) " 
-aI")))
-        (when (plist-get (ada-prj-plist project) 'obj_dir)
-          (concat "-aO" (mapconcat 'identity (plist-get (ada-prj-plist 
project) 'obj_dir) " -aO")))
-        (format "%s:%s:%s:%s"
-                identifier
-                (file-name-nondirectory file)
-                (or line "")
-                (or (ada-gnat-xref-adj-col identifier col) ""))))
-
-(defun ada-gnat-xref-refs (project item all)
-  (with-slots (summary location) item
-    (with-slots (file line column) location
-      (let* ((wisi-xref-full-path t)
-            (args (cons "-r" (ada-gnat-xref-common-args project summary file 
line column)))
-            (result nil))
-       (with-current-buffer (gnat-run-buffer project 
(gnat-compiler-run-buffer-name (wisi-prj-xref project)))
-         (gnat-run project (ada-gnat-xref-common-cmd project) args)
-
-         (goto-char (point-min))
-         (when ada-gnat-debug-run (forward-line 2)); skip ADA_PROJECT_PATH, 
'gnat find'
-
-         (while (not (eobp))
-           (cond
-            ((looking-at ada-gnat-file-line-col-type-regexp)
-             ;; process line
-             (let ((found-file (match-string 1))
-                   (found-line (string-to-number (match-string 2)))
-                   (found-col  (string-to-number (match-string 3)))
-                   (found-type (match-string 4)))
-               (when (or all found-type)
-                 (push (xref-make (if found-type
-                                      (concat summary " " found-type)
-                                    summary)
-                                  (xref-make-file-location found-file 
found-line found-col))
-                       result))
-               ))
-            (t
-             ;; ignore line
-             ))
-           (forward-line 1)))
-       (nreverse result) ;; specs first.
-       ))))
-
-(cl-defmethod wisi-xref-definitions (_xref project item)
-  (ada-gnat-xref-refs project item nil))
-
-(cl-defmethod wisi-xref-references (_xref project item)
-  (ada-gnat-xref-refs project item t))
-
-(cl-defmethod wisi-xref-other ((_xref gnatxref-xref) project &key identifier 
filename line column)
-  (let* ((wisi-xref-full-path t)
-        (cmd (ada-gnat-xref-common-cmd project))
-        (args (ada-gnat-xref-common-args project identifier filename line 
column))
-        (result nil))
-    (with-current-buffer (gnat-run-buffer project 
(gnat-compiler-run-buffer-name (wisi-prj-xref project)))
-      (gnat-run project cmd args)
-
-      (goto-char (point-min))
-      (when ada-gnat-debug-run (forward-line 2)); skip ADA_PROJECT_PATH, 'gnat 
find'
-
-      ;; gnat find returns two items; the starting point, and the 'other' point
-      (unless (looking-at (concat ada-gnat-file-line-col-regexp ":"))
-       ;; no results
-       (error "'%s' not found in cross-reference files; recompile?" 
identifier))
-
-      (while (not result)
-       (looking-at (concat ada-gnat-file-line-col-regexp "\\(: warning:\\)?"))
-       (if (match-string 4)
-           ;; error in *.gpr; ignore here.
-           (forward-line 1)
-         ;; else process line
-         (let ((found-file (match-string 1))
-               (found-line (string-to-number (match-string 2)))
-               (found-col  (string-to-number (match-string 3))))
-           ;; Sometimes gnatfind does not respect "-f" (test/ada_mode.ads 
Separate_Procedure full body)
-           (unless (file-name-absolute-p found-file)
-             (setq found-file (locate-file found-file 
compilation-search-path)))
-
-           (if (not
-                (and
-                 ;; due to symbolic links, only the non-dir filename is 
comparable.
-                 (equal (file-name-nondirectory filename) 
(file-name-nondirectory found-file))
-                 (= line found-line)
-                 (= (ada-gnat-xref-adj-col identifier column) found-col)))
-               ;; Found other item.
-               (setq result (list found-file found-line (1- found-col)))
-             ;; else keep searching
-             (forward-line 1))
-           ))
-
-       (when (eobp)
-         (error "gnat find did not return other item"))
-       ))
-    result))
-
-(cl-defmethod wisi-xref-parents ((_xref gnatxref-xref) project &key identifier 
filename line column)
-  (let* ((arg (ada-gnat-xref-common-args project identifier filename line 
column))
-        (result nil))
-    (with-current-buffer (gnat-run-buffer project 
(gnat-compiler-run-buffer-name (wisi-prj-xref project)))
-      (gnat-run project (ada-gnat-xref-common-cmd project) (cons "-d" arg))
-
-      (goto-char (point-min))
-      (when ada-gnat-debug-run (forward-line 2)); skip GPR_PROJECT_PATH, 'gnat 
find'
-
-      ;; gnat find returns two items; the starting point, and the 'other' point
-      (unless (looking-at (concat ada-gnat-file-line-col-regexp ":"))
-       ;; no results
-       (error "'%s' not found in cross-reference files; recompile?" 
identifier))
-
-      (while (not result)
-       (looking-at (concat ada-gnat-file-line-col-regexp "\\(: warning:\\)?"))
-       (if (match-string 4)
-           ;; error in *.gpr; ignore here.
-           (forward-line 1)
-         ;; else process line
-         (skip-syntax-forward "^ ")
-         (skip-syntax-forward " ")
-         (if (looking-at (concat "derived from .* (" 
ada-gnat-file-line-col-regexp ")"))
-             ;; found other item
-             (setq result (list (match-string 1)
-                                (string-to-number (match-string 2))
-                                (1- (string-to-number (match-string 3)))))
-           (forward-line 1))
-         )
-       (when (eobp)
-         (error "gnat find did not return parent types"))
-       ))
-
-    (wisi-goto-source (nth 0 result)
-                     (nth 1 result)
-                     (nth 2 result))
-    ))
-
-(cl-defmethod wisi-xref-all ((_xref gnatxref-xref) project &key identifier 
filename line column local-only append)
-  ;; we use `compilation-start' to run gnat, not `gnat-run', so it
-  ;; is asynchronous, and automatically runs the compilation error
-  ;; filter.
-
-  (let* ((arg (ada-gnat-xref-common-args project identifier filename line 
column)))
-    (setq arg (cons "-r" arg))
-    (when local-only (setq arg (append arg (list filename))))
-
-    (with-current-buffer (gnat-run-buffer project 
(gnat-compiler-run-buffer-name (wisi-prj-xref project)))
-      (let ((compilation-buffer-name "*gnatfind*")
-            (compilation-error "reference")
-            (command-and-args (mapconcat (lambda (a) (or a ""))
-                                         (cons (ada-gnat-xref-common-cmd 
project) arg)
-                                         " "))
-           ;; gnat find uses standard gnu format for output, so don't
-           ;; need to set compilation-error-regexp-alist
-           prev-pos
-           prev-content)
-
-       ;; compilation-environment is set in `wisi-prj-select'
-
-       ;; WORKAROUND: the 'compilation' API doesn't let us specify "append", 
so we use this.
-       (with-current-buffer (get-buffer-create compilation-buffer-name)
-         (when append
-           (setq prev-pos (point))
-           (setq prev-content (buffer-substring (point-min) (point-max))))
-
-          (unless ada-gnat-debug-run
-           ;; hide the command and arguments using text properties, show only 
the bare minimum
-           (setq command-and-args
-                 (propertize command-and-args
-                             'display
-                             (format "References to %s at %s:%d:%d" identifier 
filename line column))))
-         (compilation-start command-and-args
-                            'compilation-mode
-                            (lambda (_name) compilation-buffer-name))
-         (when append
-           (let ((inhibit-read-only t))
-               (goto-char (point-min))
-               (insert prev-content)
-               (goto-char prev-pos))))
-       ))))
-
-(cl-defmethod wisi-xref-overriding ((_xref gnatxref-xref) _project &key 
_identifier _filename _line _column)
-  (error "gnatxref does not support 'show overriding' - use gpr_query?"))
-
-(cl-defmethod wisi-xref-overridden ((_xref gnatxref-xref) _project &key 
_identifier _filename _line _column)
-  (error "gnatxref does not support 'show overridden' - use gpr_query?"))
-
-(provide 'ada-gnat-xref)
-;; end of file
diff --git a/packages/ada-mode/ada-imenu.el b/packages/ada-mode/ada-imenu.el
deleted file mode 100644
index 06d9595..0000000
--- a/packages/ada-mode/ada-imenu.el
+++ /dev/null
@@ -1,77 +0,0 @@
-;;; ada-imenu.el - Ada mode interface to imenu for Ada Mode  -*- 
lexical-binding:t -*-
-
-;; Copyright (C) 2012, 2013, 2015, 2019  Free Software Foundation, Inc.
-;;
-;; Author: Simon Wright <simon@pushface.org>
-;; Contributors: see ada-mode.el, and specifically Christian Egli
-;;     <Christian.Egli@hcsd.hac.com> for ada-imenu-generic-expression
-;;
-;; 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/>.
-;;
-;;; History: see ada_mode.el
-;;
-
-(require 'ada-core)
-(require 'imenu)
-
-(defconst ada--imenu-comment-re "\\([ \t]*--.*\\)?")
-
-(defconst ada--imenu-subprogram-menu-re
-  (concat "^[ \t]*\\(overriding[ \t]*\\)?\\(procedure\\|function\\)[ \t\n]+"
-         "\\(\\(\\sw\\|_\\)+\\)[ \t\n]*\\([ \t\n]\\|([^)]+)"
-         ada--imenu-comment-re
-         "\\)[ \t\n]*"
-         "\\(return[ \t\n]+\\(\\sw\\|[_.]\\)+[ \t\n]*\\)?is[ \t\n]"))
-
-(defvar ada--imenu-generic-expression
-  (list
-   (list nil ada--imenu-subprogram-menu-re 3)
-   (list "*Specs*"
-        (concat
-         "^[ \t]*\\(procedure\\|function\\)[ \t\n]+\\(\\(\\sw\\|_\\)+\\)"
-         "\\("
-         "\\(" ada--imenu-comment-re "[ \t\n]+\\|[ \t\n]*([^)]+)"
-         ada--imenu-comment-re "\\)";; parameter list or simple space
-         "\\([ \t\n]*return[ \t\n]+\\(\\sw\\|[_.]\\)+[ \t\n]*\\)?"
-         "\\)?;") 2)
-   '("*Tasks*" "^[ \t]*task[ \t]+\\(type[ \t]+\\)?\\(\\(body[ 
\t]+\\)?\\(\\sw\\|_\\)+\\)" 2)
-   '("*Type Defs*" "^[ \t]*\\(sub\\)?type[ \t]+\\(\\(\\sw\\|_\\)+\\)" 2)
-   '("*Protected*"
-     "^[ \t]*protected[ \t]+\\(type[ \t]+\\)?\\(\\(body[ 
\t]+\\)?\\(\\sw\\|_\\)+\\)" 2)
-   '("*Packages*" "^[ \t]*package[ \t]+\\(\\(body[ 
\t]+\\)?\\(\\sw\\|[_.]\\)+\\)" 1))
-  "Imenu generic expression for Ada mode.
-See `imenu-generic-expression'.  This variable will create several submenus for
-each type of entity that can be found in an Ada file.")
-
-(defun ada--imenu-mode ()
-  ;;  In 4.01, these were called in 'ada-mode or required to be set in
-  ;;  the user's .emacs.
-
-  (setq imenu-auto-rescan t)
-  (setq imenu-case-fold-search t)
-  (setq imenu-generic-expression ada--imenu-generic-expression)
-  (setq imenu-sort-function 'imenu--sort-by-name)
-  (setq imenu-use-markers nil)
-
-  (imenu-add-to-menubar "Entities")
-)
-
-;; ada--imenu-mode does not depend on file local variables
-(add-hook 'ada-mode-hook #'ada--imenu-mode)
-
-(provide 'ada-imenu)
-
-;;; ada-imenu.el ends here
diff --git a/packages/ada-mode/ada-indent-user-options.el 
b/packages/ada-mode/ada-indent-user-options.el
deleted file mode 100644
index 0169d00..0000000
--- a/packages/ada-mode/ada-indent-user-options.el
+++ /dev/null
@@ -1,197 +0,0 @@
-;; user options shared by Ada mode indentation engines  -*- lexical-binding:t 
-*-
-;;
-;; Copyright (C) 2012, 2013, 2015, 2017 - 2020  Free Software Foundation, Inc.
-;;
-;; Author: Stephen Leake <stephen_leake@member.fsf.org>
-;; Contributors: Simon Wright <simon.j.wright@mac.com>
-;;
-;; 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/>.
-;;
-;;; History: see ada_mode.el
-
-;;;; code
-
-(defgroup ada-indentation nil
-  "Indentation options for Ada source."
-  :group 'ada)
-
-(defcustom ada-indent 3
-  "Size of Ada default indentation, when no other indentation is used.
-
-Example :
-procedure Foo is
-begin
->>>null;"
-  :type 'integer
-  :safe #'integerp)
-(make-variable-buffer-local 'ada-indent)
-
-(defcustom ada-indent-broken 2
-  "Indentation for the continuation of a broken line.
-
-Example :
-   My_Var : My_Type :=
-   >>(Field1 => Value);"
-  :type 'integer
-  :safe #'integerp)
-(make-variable-buffer-local 'ada-indent-broken)
-
-(defcustom ada-indent-comment-col-0 nil
-  "If non-nil, comments currently starting in column 0 are left in column 0.
-Otherwise, they are indented with previous comments or code."
-  :type 'boolean
-  :safe #'booleanp)
-(make-variable-buffer-local 'ada-indent-comment-col-0)
-
-(defcustom ada-indent-comment-gnat nil
-  "If non-nil, comments are indented to meet the GNAT comment style check.
-That is, one of:
-
-- multiple of ada-indent
-- next non-blank line
-- previous non-blank line
-
-Otherwise, they are indented as previous comments or code."
-  :type  'boolean
-  :safe  #'booleanp)
-(make-variable-buffer-local 'ada-indent-comment-gnat)
-
-(defcustom ada-indent-label -3
-  "Indentation for a loop, block, or statement label, relative to the item it 
labels.
-
-Example :
-   Label_1 :
-   <<<<declare
-
-   <<Label_2>>
-   <<<<Foo := 0;"
-  :type  'integer
-  :safe  #'integerp)
-(make-variable-buffer-local 'ada-indent-label)
-
-(defcustom ada-indent-record-rel-type 3
-  "Indentation for line containing `record' relative to `type' or `for'.
-
-An example is:
-   type A is
-   >>>record"
-  :type 'integer
-  :safe #'integerp)
-(make-variable-buffer-local 'ada-indent-record-rel-type)
-
-(defcustom ada-indent-renames 2
-  "Indentation for `renames' relative to the subprogram keyword.
-
-For `renames' of non-subprograms the indentation is
-`ada-indent-broken' relative to the start of the statement.
-
-If the subprogram has parameters then if `ada-indent-renames' is
-zero or less the indentation is abs `ada-indent-renames' relative
-to the open parenthesis; if `ada-indent-renames' is one or more
-the indentation is relative to the line containing the subprogram
-keyword ('function' or 'procedure').
-
-If the subprogram has no parameters then the indentation is
-`ada-indent-broken' relative to the line containing the keyword.
-
-Examples:
-   ada-indent-renames = 2
-   generic function A (B : Integer) return C
-   >>renames Foo;
-
-   ada-indent-renames = -1
-   function A (B : Integer)
-               return C
-   >>>>>>>>>>>renames Foo;"
-  :type 'integer
-  :safe #'integerp)
-(make-variable-buffer-local 'ada-indent-renames)
-
-(defcustom ada-indent-return 0
-  "Indentation for `return' relative to the matching `function' keyword.
-
-If the function has parameters, then if `ada-indent-return' is
-zero or less, the indentation is abs `ada-indent-return' relative
-to the open parenthesis; if `ada-indent-return' is one or more,
-indentation is relative to line containing `function'.
-
-If the function has no parameters, `ada-indent-broken' is used
-relative to line containing `function'.
-
-An example is:
-   function A (B : Integer)
-   >>>>>>>>>>>return C;"
-  :type 'integer
-  :safe #'integerp)
-(make-variable-buffer-local 'ada-indent-return)
-
-(defcustom ada-indent-use ada-indent-broken
-  "Indentation for the lines in a `use' statement.
-
-An example is:
-   use Ada.Text_IO,
-   >>Ada.Numerics;"
-  :type 'integer
-  :safe #'integerp)
-(make-variable-buffer-local 'ada-indent-use)
-
-(defcustom ada-indent-when 3
-  "Indentation for `when' relative to `exception', `case', `or' in select.
-
-An example is:
-   case A is
-   >>>when B =>"
-  :type  'integer
-  :safe  #'integerp)
-(make-variable-buffer-local 'ada-indent-when)
-
-(defcustom ada-indent-with ada-indent-broken
-  "Indentation for the lines in a `with' context clause.
-
-An example is:
-   with Ada.Text_IO,
-   >>Ada.Numerics;"
-  :type 'integer
-  :safe #'integerp)
-(make-variable-buffer-local 'ada-indent-with)
-
-(defcustom ada-indent-hanging-rel-exp nil
-  "If nil, indent hanging lines in an expression relative to the first line.
-Otherwise, indent by `ada-indent-broken' relative to the start of the 
expression."
-  :type 'boolean
-  :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
-recovery, and matches the gnat style option -gnatye.
-Default is nil because it significantly improves error recovery."
-  :type 'boolean
-  :safe #'booleanp)
-(make-variable-buffer-local 'ada-indent-hanging-rel-exp)
-
-(provide 'ada-indent-user-options)
-
-;; end file
diff --git a/packages/ada-mode/ada-mode.el b/packages/ada-mode/ada-mode.el
deleted file mode 100644
index ae4cbd2..0000000
--- a/packages/ada-mode/ada-mode.el
+++ /dev/null
@@ -1,1690 +0,0 @@
-;;; ada-mode.el --- major-mode for editing Ada sources  -*- lexical-binding:t 
-*-
-;;
-;; Copyright (C) 1994, 1995, 1997 - 2020  Free Software Foundation, Inc.
-;;
-;; Author: Stephen Leake <stephen_leake@stephe-leake.org>
-;; Maintainer: Stephen Leake <stephen_leake@stephe-leake.org>
-;; Keywords: languages
-;;  ada
-;; Version: 7.1.4
-;; package-requires: ((uniquify-files "1.0.1") (wisi "3.1.2") (emacs "25.0"))
-;; url: http://www.nongnu.org/ada-mode/
-;;
-;; This file is part of GNU Emacs.
-;;
-;; GNU Emacs is free software: you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-;;
-;; GNU Emacs is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;; GNU General Public License for more details.
-;;
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
-;;
-;;; Usage:
-;;
-;; Emacs should enter Ada mode automatically when you load an Ada
-;; file, based on the file extension.  The default extensions for Ada
-;; files are .ads, .adb; use ada-add-extensions to add other
-;; extensions.
-;;
-;; By default, ada-mode is configured to take full advantage of the
-;; GNAT compiler.  If you are using another compiler, you
-;; should load that compiler's ada-* file first.
-;;
-;; See the user guide (info "ada-mode"), built from ada-mode.texi.
-
-;;; Design:
-;;
-;; In order to support multiple compilers, and different compilers for
-;; different projects, we use cl-defgeneric function calls for all
-;; operations that depend on the compiler.  The user variable
-;; `ada-compiler' selects which compiler to use; it can be overridden
-;; by the "ada_compiler" setting in project files.
-;;
-;; We also support a cross reference tool (also called xref tool) that
-;; is different from the compiler. For example, you can use a local
-;; GNAT compiler to generate and access cross-reference information,
-;; while using a cross-compiler for compiling the final
-;; executable. The user variable `ada-xref-tool' selects the xref
-;; tool; it can be overridden by the "xref_tool" setting in project
-;; files.
-;;
-;; The indentation engine and skeleton tools are from the wisi
-;; package.
-;;
-;;; History:
-;;
-;; The first Ada mode for GNU Emacs was written by V. Broman in
-;; 1985. He based his work on the already existing Modula-2 mode.
-;; This was distributed as ada.el in versions of Emacs prior to 19.29.
-;;
-;; Lynn Slater wrote an extensive Ada mode in 1989. It consisted of
-;; several files with support for dired commands and other nice
-;; things.
-;;
-;; The probably very first Ada mode (called electric-ada.el) was
-;; written by Steven D. Litvintchouk and Steven M. Rosen for the
-;; Gosling Emacs. L. Slater based his development on ada.el and
-;; electric-ada.el.
-;;
-;; A complete rewrite by Rolf Ebert <ebert@inf.enst.fr> and Markus
-;; Heritsch <Markus.Heritsch@studbox.uni-stuttgart.de> was done at
-;; some point.  Some ideas from the Ada mode mailing list have been
-;; added.  Some of the functionality of L. Slater's mode has not (yet)
-;; been recoded in this new mode.
-;;
-;; A complete rewrite for Emacs-20 / GNAT-3.11 was done by Emmanuel
-;; Briot <briot@gnat.com> at Ada Core Technologies.
-;;
-;; A complete rewrite, to restructure the code more orthogonally, and
-;; to use wisi for the indentation engine, was done in 2012 - 2013 by
-;; Stephen Leake <stephen_leake@stephe-leake.org>.
-;;
-;; Another major refactoring, to use cl-defgeneric dispatching, was
-;; done in 2019 by Stephen Leake.
-
-;;; Credits:
-;;
-;;   Many thanks to John McCabe <john@assen.demon.co.uk> for sending so
-;;     many patches included in this package.
-;;   Christian Egli <Christian.Egli@hcsd.hac.com>:
-;;     ada-imenu-generic-expression
-;;   Many thanks also to the following persons that have contributed
-;;   to the ada-mode
-;;     Philippe Waroquiers (PW) <philippe@cfmu.eurocontrol.be> in particular,
-;;     woodruff@stc.llnl.gov (John Woodruff)
-;;     jj@ddci.dk (Jesper Joergensen)
-;;     gse@ocsystems.com (Scott Evans)
-;;     comar@gnat.com (Cyrille Comar)
-;;     robin-reply@reagans.org
-;;    and others for their valuable hints.
-
-(require 'ada-core)
-(require 'ada-indent-user-options)
-(require 'ada-process)
-(require 'ada-skel)
-(require 'align)
-(require 'cl-lib)
-(require 'compile)
-(require 'find-file)
-(require 'wisi)
-
-(defun ada-mode-version ()
-  "Return Ada mode version."
-  (interactive)
-  (let ((version-string "7.1.3"))
-    (if (called-interactively-p 'interactive)
-       (message version-string)
-      version-string)))
-
-;;;;; User variables
-
-(defcustom ada-fill-comment-prefix "-- "
-  "Comment fill prefix."
-  :group 'ada
-  :type 'string)
-(make-variable-buffer-local 'ada-fill-comment-prefix)
-
-(defcustom ada-fill-comment-postfix " --"
-  "Comment fill postfix."
-  :group 'ada
-  :type 'string)
-(make-variable-buffer-local 'ada-fill-comment-postfix)
-
-(defcustom ada-fill-comment-adaptive nil
-  "If non-nil, comments are filled to the same width (not including 
indentation),
-rather than to the same column."
-  :group 'ada
-  :type 'boolean
-  :safe #'booleanp)
-
-(defcustom ada-which-func-parse-size 30000
-  "Minimum size of the region surrounding point that is parsed for 
`which-function-mode'."
-  :group 'ada
-  :type 'integer
-  :safe #'integerp)
-
-(defcustom ada-process-parse-exec "ada_mode_wisi_lr1_parse"
-  "Name of executable to use for external process Ada parser.
-There are two standard choices; ada_mode_wisi_lalr_parse and
-ada_mode_wisi_lr1_parse. The LR1 version (the default) is
-slower to load on first use, but gives better error recovery."
-  :type 'string
-  :group 'ada)
-
-(defcustom ada-process-parse-exec-opts nil
-  "List of process start options for `ada-process-parse-exec'."
-  :type 'string
-  :group 'ada)
-
-(defcustom ada-xref-full-path nil
-  "If t, cross-references show the full path to source files; if
-nil, only the file name."
-  :group 'ada
-  :type 'boolean
-  :safe #'booleanp)
-
-;;;; keymap and menus
-
-(defvar ada-mode-map
-  (let ((map (make-sparse-keymap)))
-    ;; C-c <letter> are reserved for users
-
-    ;; global-map has C-x ` 'next-error
-    (define-key map [return]    'wisi-case-adjust-interactive)
-    (define-key map "\C-c`"     'ada-show-secondary-error)
-    (define-key map "\C-c;"      (lambda () (error "use M-; instead"))) ; 
comment-dwim
-    (define-key map "\C-c<"     'ada-goto-declaration-start)
-    (define-key map "\C-c>"     'ada-goto-declaration-end)
-    (define-key map "\C-c\M-`"          'wisi-fix-compiler-error)
-    (define-key map "\C-c\C-a"          'ada-align)
-    (define-key map "\C-c\C-b"          'ada-make-subprogram-body)
-    (define-key map "\C-c\C-c"   'ada-build-make)
-    (define-key map "\C-c\C-d"          'wisi-goto-spec/body)
-    (define-key map "\C-c\M-d"          'wisi-show-declaration-parents)
-    (define-key map "\C-c\C-e"          'wisi-skel-expand)
-    (define-key map "\C-c\C-f"          'wisi-show-parse-error)
-    (define-key map "\C-c\C-i"          'wisi-indent-statement)
-    (define-key map [3 backtab] 'wisi-indent-containing-statement);; C-c 
backtab, translated from C-c S-tab
-    (define-key map "\C-\M-i"    'completion-at-point)
-    (define-key map "\C-c\C-l"          'wisi-show-local-references)
-    (define-key map "\C-c\C-m"   'ada-build-set-make)
-    (define-key map "\C-c\C-n"          'forward-sexp)
-    (define-key map "\C-c\M-n"          'wisi-skel-next-placeholder)
-    (define-key map "\C-c\C-o"          'ada-find-other-file)
-    (define-key map "\C-c\C-p"          'backward-sexp)
-    (define-key map "\C-c\M-p"          'wisi-skel-prev-placeholder)
-    (define-key map "\C-c\C-q"          'wisi-refresh-prj-cache)
-    (define-key map "\C-c\C-r"          'wisi-show-references)
-    (define-key map "\C-c\M-r"          'ada-build-run)
-    (define-key map "\C-c\C-s"   'pop-global-mark)
-    (define-key map "\C-c\C-t"          'ada-find-file)
-    (define-key map "\C-c\C-v"   'ada-build-check)
-    (define-key map "\C-c\C-w"          'wisi-case-adjust-at-point)
-    (define-key map "\C-c\C-x"   'wisi-show-overriding)
-    (define-key map "\C-c\M-x"   'wisi-show-overridden)
-    (define-key map "\C-c\C-y"          'wisi-case-create-exception)
-    (define-key map "\C-c\C-\M-y" 'wisi-case-create-partial-exception)
-    (define-key map [C-down-mouse-3] 'ada-popup-menu)
-
-    (wisi-case-activate-keys map)
-
-    map
-  )  "Local keymap used for Ada mode.")
-
-(defvar ada-mode-menu (make-sparse-keymap "Ada"))
-(easy-menu-define ada-mode-menu ada-mode-map "Menu keymap for Ada mode"
-  '("Ada"
-    ("Help"
-     ["Ada Mode"             (info "ada-mode") t]
-     ["Ada Reference Manual" (info "arm2012") t]
-     ["Key bindings"         describe-bindings t]
-     )
-    ["Customize"                  (customize-group 'ada)    t]
-    ("Project files"
-     ["Find and select project ..."   ada-build-prompt-select-prj-file t]
-     ["Show project"                  wisi-prj-show                    t]
-     ["Show project file search path" wisi-prj-show-prj-path           t]
-     ["Show source file search path"  wisi-prj-show-src-path           t]
-     ["Clear current project"         wisi-prj-clear-current           t]
-    )
-    ("Build"
-     ["Next compilation error"     next-error                t]
-     ["Show secondary error"       ada-show-secondary-error  t]
-     ["Fix compilation error"      wisi-fix-compiler-error   t]
-     ["Show last parse error"      wisi-show-parse-error     t]
-     ["Check syntax"               ada-build-check       t]
-     ["Show main"                  ada-build-show-main   t]
-     ["Build"                      ada-build-make        t]
-     ["Set main and Build"         ada-build-set-make    t]
-     ["Run"                        ada-build-run         t]
-     )
-    ("Navigate"
-     ["Other file"                    ada-find-other-file          t]
-     ["Find file in project"          project-find-file            t]
-     ["Goto declaration/body"         wisi-goto-spec/body          t]
-     ["Goto next statement keyword"   forward-sexp   t]
-     ["Goto prev statement keyword"   backward-sexp   t]
-     ["Goto subprogram/package start" ada-goto-declaration-start   t]
-     ["Goto subprogram/package end"   ada-goto-declaration-end     t]
-     ["Goto declarative region start" ada-goto-declarative-region-start   t]
-     ["Goto containing statement start" wisi-goto-containing-statement-start t]
-     ["Show parent declarations"        wisi-show-declaration-parents        t]
-     ["Show all references (classwide)" xref-find-references                 t]
-     ["Show all direct references"      wisi-show-references                 t]
-     ["Show local references"         wisi-show-local-references    t]
-     ["Show overriding"               wisi-show-overriding          t]
-     ["Show overridden"               wisi-show-overridden          t]
-     ["Goto prev position current buffer" pop-to-mark-command  t]
-     ["Goto prev position other buffer"   pop-global-mark      t]
-     ["Next placeholder"              wisi-skel-next-placeholder    t]
-     ["Previous placeholder"          wisi-skel-prev-placeholder    t]
-     )
-    ("Edit"
-     ["Complete name at point"      completion-at-point     t]
-     ["Expand skeleton"             wisi-skel-expand        t]
-     ["Indent line or selection"    indent-for-tab-command  t]
-     ["Indent current statement"    wisi-indent-statement   t]
-     ["Indent containing statement" wisi-indent-containing-statement    t]
-     ["Indent file"            (indent-region (point-min) (point-max))  t]
-     ["Align"                       ada-align               t]
-     ["Comment/uncomment selection" comment-dwim            t]
-     ["Fill comment paragraph"         ada-fill-comment-paragraph           t]
-     ["Fill comment paragraph justify" (ada-fill-comment-paragraph 'full)   t]
-     ["Fill comment paragraph postfix" (ada-fill-comment-paragraph 'full t) t]
-     ["Make body for subprogram"    ada-make-subprogram-body     t]
-     )
-    ("Refactor"
-     ["Method (Object) => Object.Method"   ada-refactor-1 t]
-     ["Object.Method   => Method (Object)" ada-refactor-2 t]
-     ["Element (Object, Index) => Object (Index)" ada-refactor-3 t]
-     ["Object (Index) => Element (Object, Index)" ada-refactor-4 t]
-     )
-    ("Casing"
-     ["Create full exception"       wisi-case-create-exception t]
-     ["Create partial exception"    wisi-case-create-partial-exception t]
-     ["Adjust case at point"        wisi-case-adjust-at-point  t]
-     ["Adjust case region"          wisi-case-adjust-region    t]
-     ["Adjust case buffer"          wisi-case-adjust-buffer    t]
-     ["Show casing files list"      wisi-case-show-files       t]
-     )
-    ("Misc"
-     ["Show last parse error"         wisi-show-parse-error       t]
-     ["Refresh cross reference cache" wisi-refresh-prj-cache      t]
-     ["Restart parser"                wisi-kill-parser            t]
-     )))
-
-(easy-menu-define ada-context-menu nil
-  "Context menu keymap for Ada mode"
-  '("Ada"
-    ["Goto declaration/body"         wisi-goto-spec-body         t]
-    ["Goto next statement keyword"   forward-sexp   t]
-    ["Goto prev statement keyword"   backward-sexp   t]
-    ["Goto declarative region start" ada-goto-declarative-region-start   t]
-    ["Goto containing statement start" wisi-goto-containing-statement-start t]
-    ["Goto subprogram/package start" ada-goto-declaration-start    t]
-    ["Goto subprogram/package end"   ada-goto-declaration-end      t]
-    ["Show parent declarations"      wisi-show-declaration-parents t]
-    ["Show references"               wisi-show-references          t]
-    ["Show overriding"               wisi-show-overriding          t]
-    ["Show overridden"               wisi-show-overridden          t]
-
-    ["-"                nil nil]
-
-    ["Align"                         ada-align                  t]
-    ["Comment/uncomment selection"    comment-dwim               t]
-    ["Fill comment paragraph"        ada-fill-comment-paragraph           
(wisi-in-comment-p)]
-    ["Fill comment paragraph justify" (ada-fill-comment-paragraph 'full)   
(wisi-in-comment-p)]
-    ["Fill comment paragraph postfix" (ada-fill-comment-paragraph 'full t) 
(wisi-in-comment-p)]
-    ["Adjust case at point"          wisi-case-adjust-at-point             
(not (use-region-p))]
-    ["Adjust case region"            wisi-case-adjust-region               
(use-region-p)]
-    ["Create full case exception"     wisi-case-create-exception         t]
-    ["Create partial case exception"  wisi-case-create-partial-exception t]
-    ["Indent current statement"              wisi-indent-statement             
t]
-    ["Expand skeleton"               wisi-skel-expand                  t]
-    ["Make body for subprogram"              ada-make-subprogram-body          
t]
-    ))
-
-(defun ada-popup-menu ()
-  "Pops up `ada-context-menu'.
-When a function from the menu is called, point is where the mouse
-button was clicked."
-  (interactive)
-  (mouse-set-point last-input-event)
-  (popup-menu ada-context-menu)
-  )
-
-(easy-menu-define ada-refactor-menu nil
-  "Context menu keymap for Ada mode refactor commands."
-  '("Ada refactor"
-    ["Method (Object) => Object.Method"   ada-refactor-1 t]
-    ["Object.Method   => Method (Object)" ada-refactor-2 t]
-    ["Element (Object, Index) => Object (Index)" ada-refactor-3 t]
-    ["Object (Index) => Element (Object, Index)" ada-refactor-4 t]
-    ))
-
-(defun ada-refactor-menu-popup ()
-  "Pops up `ada-refactor-menu'."
-  (interactive)
-  (mouse-set-point last-input-event)
-  (popup-menu ada-refactor-menu))
-
-;;;; abbrev, align
-
-(defvar ada-mode-abbrev-table nil
-  "Local abbrev table for Ada mode.")
-
-(defvar ada-align-rules
-  '((ada-declaration-assign
-     (regexp  . "[^:]\\(\\s-*\\)\\(:\\)[^:]")
-     (valid   . (lambda () (ada-align-valid)))
-     (repeat . t)
-     (modes   . '(ada-mode)))
-    (ada-associate
-     (regexp  . "[^=]\\(\\s-*\\)\\(=>\\)")
-     (valid   . (lambda () (ada-align-valid)))
-     (modes   . '(ada-mode)))
-    (ada-comment
-     (regexp  . "\\(\\s-*\\)--")
-     (valid   . (lambda () (ada-align-valid)))
-     (modes   . '(ada-mode)))
-    (ada-use
-     (regexp  . "\\(\\s-*\\)\\<\\(use\\s-\\)")
-     (valid   . (lambda () (ada-align-valid)))
-     (modes   . '(ada-mode)))
-    (ada-at
-     (regexp . "\\(\\s-+\\)\\(at\\)\\_>")
-     (valid   . (lambda () (ada-align-valid)))
-     (modes . '(ada-mode))))
-  "Rules to use to align different lines.")
-
-(defun ada-align-valid ()
-  "See use in `ada-align-rules'."
-  (save-excursion
-    ;; we don't put "when (match-beginning n)" here; missing a match
-    ;; is a bug in the regexp.
-    (goto-char (or (match-beginning 2) (match-beginning 1)))
-    (not (wisi-in-string-or-comment-p))))
-
-(defconst ada-align-region-separate
-  (eval-when-compile
-    (concat
-     "^\\s-*\\($\\|\\("
-     "begin\\|"
-     "declare\\|"
-     "else\\|"
-     "end\\|"
-     "exception\\|"
-     "for\\|"
-     "function\\|"
-     "generic\\|"
-     "if\\|"
-     "is\\|"
-     "procedure\\|"
-     "private\\|"
-     "record\\|"
-     "return\\|"
-     "type\\|"
-     "when"
-     "\\)\\_>\\)"))
-  "See the variable `align-region-separate' for more information.")
-
-;;;; syntax properties
-
-(defvar ada-mode-syntax-table
-  (let ((table (make-syntax-table)))
-    ;; (info "(elisp)Syntax Class Table" "*info syntax class table*")
-    ;; (info "(elisp) Syntax Flags") for comment start/end
-    ;; make-syntax-table sets all alphanumeric to w, etc; so we only
-    ;; have to add ada-specific things.
-
-    ;; string brackets. `%' is the obsolete alternative string
-    ;; bracket (arm J.2); if we make it syntax class ", it throws
-    ;; font-lock and indentation off the track, so we use syntax class
-    ;; $.
-    (modify-syntax-entry ?%  "$" table)
-    (modify-syntax-entry ?\" "\"" table)
-
-    ;; punctuation; operators etc
-    (modify-syntax-entry ?#  "." table); based number
-    (modify-syntax-entry ?&  "." table)
-    (modify-syntax-entry ?*  "." table)
-    (modify-syntax-entry ?+  "." table)
-    (modify-syntax-entry ?-  ". 124" table); operator, double hyphen as comment
-    (modify-syntax-entry ?. "." table)
-    (modify-syntax-entry ?/  "." table)
-    (modify-syntax-entry ?:  "." table)
-    (modify-syntax-entry ?<  "." table)
-    (modify-syntax-entry ?=  "." table)
-    (modify-syntax-entry ?>  "." table)
-    (modify-syntax-entry ?@  "." table)
-    (modify-syntax-entry ?\' "." table); attribute; see ada-syntax-propertize 
for character literal
-    (modify-syntax-entry ?\; "." table)
-    (modify-syntax-entry ?\\ "." table); default is escape; not correct for 
Ada strings
-    (modify-syntax-entry ?\|  "." table)
-
-    ;; \f and \n end a comment.
-    (modify-syntax-entry ?\f  ">" table)
-    (modify-syntax-entry ?\n  ">" table)
-
-    (modify-syntax-entry ?_ "_" table); symbol constituents, not word.
-
-    (modify-syntax-entry ?\( "()" table)
-    (modify-syntax-entry ?\) ")(" table)
-
-    ;; skeleton placeholder delimiters; see ada-skel.el. We use generic
-    ;; comment delimiter class, not comment starter/comment ender, so
-    ;; these can be distinguished from line end.
-    (modify-syntax-entry ?{ "!" table)
-    (modify-syntax-entry ?} "!" table)
-
-    table
-    )
-  "Syntax table to be used for editing Ada source code.")
-
-(defun ada-syntax-propertize (start end)
-  "For `syntax-propertize-function'.
-Assign `syntax-table' properties in region START .. END.
-In particular, character constants are set to have string syntax.
-Runs `ada-syntax-propertize-hook'."
-  ;; (info "(elisp)Syntax Properties")
-  ;;
-  ;; called from `syntax-propertize', inside save-excursion 
with-silent-modifications
-  (let ((inhibit-read-only t)
-       (inhibit-point-motion-hooks t))
-    (goto-char start)
-    (save-match-data
-      (while (re-search-forward
-             (concat
-              "[^[:alnum:])]\\('\\)[^'\n]\\('\\)"; 1, 2: character literal, 
not attribute
-              "\\|[^[:alnum:])]\\('''\\)"; 3: character literal '''
-              )
-             end t)
-       ;; syntax-propertize-extend-region-functions is set to
-       ;; syntax-propertize-wholelines by default. We assume no
-       ;; coding standard will permit a character literal at the
-       ;; start of a line (not preceded by whitespace).
-       (cond
-        ((match-beginning 1)
-         (put-text-property
-          (match-beginning 1) (match-end 1) 'syntax-table '(7 . ?'))
-         (put-text-property
-          (match-beginning 2) (match-end 2) 'syntax-table '(7 . ?')))
-        ((match-beginning 3)
-         (put-text-property
-          (match-beginning 3) (1+ (match-beginning 3)) 'syntax-table '(7 . ?'))
-         (put-text-property
-          (1- (match-end 3)) (match-end 3) 'syntax-table '(7 . ?')))
-        )))
-    (run-hook-with-args 'ada-syntax-propertize-hook start end))
-  )
-
-;;;; navigation within and between files
-
-(defvar ada-body-suffixes '(".adb")
-  "List of possible suffixes for Ada body files.
-The extensions should include a `.' if needed.")
-
-(defvar ada-spec-suffixes '(".ads")
-  "List of possible suffixes for Ada spec files.
-The extensions should include a `.' if needed.")
-
-(defvar ada-other-file-alist
-  '(("\\.ads$" (".adb"))
-    ("\\.adb$" (".ads")))
-  "Alist used by `find-file' to find the name of the other package.
-See `ff-other-file-alist'.")
-
-(defconst ada-declaration-nonterms
-  '(
-    abstract_subprogram_declaration
-    entry_body
-    entry_declaration
-    expression_function_declaration
-    full_type_declaration
-    generic_instantiation
-    generic_package_declaration
-    generic_subprogram_declaration
-    null_procedure_declaration
-    object_declaration
-    package_body
-    package_declaration
-    pragma_g
-    private_extension_declaration
-    private_type_declaration
-    protected_body
-    protected_type_declaration
-    single_protected_declaration
-    single_task_declaration
-    subprogram_body
-    subprogram_declaration
-    subprogram_renaming_declaration
-    subtype_declaration
-    task_body
-    task_type_declaration
-    use_clause
-    )
-  "wisi-cache nonterminal symbols that are Ada declarations.")
-
-(defconst ada-parent-name-regexp
-  "\\([[:alnum:]_\\.]+\\)\\.[[:alnum:]_]+"
-  "Regexp for extracting the parent name from fully-qualified name.")
-
-(defun ada-ff-special-extract-parent ()
-  (setq ff-function-name (match-string 1))
-  (file-name-nondirectory
-   (or
-    (ff-get-file-name
-     compilation-search-path
-     (ada-file-name-from-ada-name ff-function-name)
-     ada-spec-suffixes)
-    (error "parent '%s' not found; set project file?" ff-function-name))))
-
-(defun ada-ff-special-with ()
-  (let ((package-name (match-string 1)))
-    (setq ff-function-name (concat 
"^\\(function\\|procedure\\|package\\)\\s-+" package-name "\\([^_]\\|$\\)"))
-    (file-name-nondirectory
-     (or
-      (ff-get-file-name
-       compilation-search-path
-       (ada-file-name-from-ada-name package-name)
-       (append ada-spec-suffixes ada-body-suffixes))
-      (error "package '%s' not found; set project file?" package-name)))
-    ))
-
-(defun ada-set-ff-special-constructs ()
-  "Add Ada-specific pairs to `ff-special-constructs'."
-  (set (make-local-variable 'ff-special-constructs) nil)
-  (mapc (lambda (pair) (add-to-list 'ff-special-constructs pair))
-       ;; Each car is a regexp; if it matches at point, the cdr is invoked.
-       ;; Each cdr should set ff-function-name to a string or regexp
-       ;; for ada-set-point-accordingly, and return the file name
-       ;; (sans directory, must include suffix) to go to.
-       (list
-        ;; Top level child package declaration (not body), or child
-        ;; subprogram declaration or body; go to the parent package.
-        (cons (concat "^\\(?:private[ 
\t]+\\)?\\(?:package\\|procedure\\|function\\)[ \t]+"
-                      ada-parent-name-regexp "\\(?:;\\|[ \t]+\\|$\\)")
-              'ada-ff-special-extract-parent)
-
-        ;; A "with" clause. Note that it may refer to a procedure body, as 
well as a spec
-        (cons (concat "^\\(?:limited[ \t]+\\)?\\(?:private[ \t]+\\)?with[ 
\t]+" ada-name-regexp)
-              'ada-ff-special-with)
-        )))
-
-(defun ada-which-function-1 (keyword add-body)
-  "Used in `ada-which-function'."
-  (let* ((result (wisi-next-name)))
-
-    ;; See comment in ada-which-function on why we don't
-    ;; overwrite ff-function-name.
-    (when (not ff-function-name)
-      (setq ff-function-name
-           (concat
-            keyword
-            (when add-body "\\s-+body")
-            "\\s-+"
-            result
-            "\\_>")))
-    result))
-
-(defun ada-which-function (&optional include-type)
-  "Return name of subprogram/task/package containing point.
-Also sets ff-function-name for ff-pre-load-hook."
-  (interactive) ;; because which-function-mode does not provide which-function 
to call intermittently!
-  ;; Fail gracefully and silently, since this could be called from
-  ;; which-function-mode.
-  (let ((parse-begin (max (point-min) (- (point) (/ ada-which-func-parse-size 
2))))
-       (parse-end   (min (point-max) (+ (point) (/ ada-which-func-parse-size 
2)))))
-    (save-excursion
-      (condition-case nil
-         (progn
-           (wisi-validate-cache parse-begin parse-end nil 'navigate)
-           (when (wisi-cache-covers-region parse-begin parse-end 'navigate)
-             (let ((result nil)
-                   (cache (ada-goto-declaration-start-1 include-type)))
-               (if (null cache)
-                   ;; bob or failed parse
-                   (setq result "")
-
-                 (when (memq (wisi-cache-nonterm cache)
-                             '(generic_package_declaration 
generic_subprogram_declaration))
-                   ;; name is after next statement keyword
-                   (setq cache (wisi-next-statement-cache cache)))
-
-                 ;; add or delete 'body' as needed
-                 (cl-ecase (wisi-cache-nonterm cache)
-                   ((entry_body entry_declaration)
-                    (setq result (ada-which-function-1 "entry" nil)))
-
-                   ((full_type_declaration private_type_declaration)
-                    (setq result (ada-which-function-1 "type" nil)))
-
-                   (package_body
-                    (setq result (ada-which-function-1 "package" nil)))
-
-                   ((package_declaration
-                     package_specification) ;; after 'generic'
-                    (setq result (ada-which-function-1 "package" t)))
-
-                   (protected_body
-                    (setq result (ada-which-function-1 "protected" nil)))
-
-                   ((protected_type_declaration single_protected_declaration)
-                    (setq result (ada-which-function-1 "protected" t)))
-
-                   ((abstract_subprogram_declaration
-                     expression_function_declaration
-                     subprogram_declaration
-                     subprogram_renaming_declaration
-                     generic_subprogram_declaration ;; after 'generic'
-                     null_procedure_declaration)
-                    (setq result (ada-which-function-1
-                                  (progn (search-forward-regexp 
"function\\|procedure")(match-string 0))
-                                  nil))) ;; no 'body' keyword in subprogram 
bodies
-
-                   (subprogram_body
-                    (setq result (ada-which-function-1
-                                  (progn (search-forward-regexp 
"function\\|procedure")(match-string 0))
-                                  nil)))
-
-                   ((single_task_declaration task_type_declaration)
-                    (setq result (ada-which-function-1 "task" t)))
-
-
-                   (task_body
-                    (setq result (ada-which-function-1 "task" nil)))
-                   ))
-               (when (called-interactively-p 'interactive)
-                 (message result))
-               result)))
-       (error "")))
-    ))
-
-(defun ada-add-log-current-function ()
-  "For `add-log-current-defun-function'."
-  ;; add-log-current-defun is typically called with point at the start
-  ;; of an ediff change section, which is before the start of the
-  ;; declaration of a new item. So go to the start of the current line
-  ;; first
-  (save-excursion
-    (back-to-indentation)
-    (ada-which-function t)))
-
-(defun ada-on-context-clause ()
-  "Return non-nil if point is on a context clause."
-  (interactive)
-  (let (cache)
-    (save-excursion
-      ;; Don't require parse of large file just for ada-find-other-file
-      (and (< (point-max) wisi-size-threshold)
-          (setq cache (wisi-goto-statement-start))
-          (memq (wisi-cache-nonterm cache) '(use_clause with_clause))
-          ))))
-
-(defun ada-goto-subunit-name ()
-  "Return non-nil if the current buffer contains a subunit.
-Also move point to the subunit name. If no subunit, leave point
-alone, return nil."
-  (interactive)
-  (wisi-validate-cache (point-min) (point-max) t 'navigate)
-
-  (let (cache
-       (name-pos nil))
-    (save-excursion
-      ;; move to top declaration
-      (goto-char (point-min))
-      (setq cache (or (wisi-get-cache (point))
-                     (wisi-forward-cache)))
-
-      (when (eq (wisi-cache-nonterm cache) 'subunit)
-       (setq name-pos (car (wisi-next-name-region))))
-      )
-    (when name-pos
-      (goto-char name-pos))
-    ))
-
-(defun ada-set-point-accordingly ()
-  "Move to the string specified in `ff-function-name', which may be a regexp,
-previously set by a file navigation command."
-  (when ff-function-name
-    (let ((done nil)
-         (found nil))
-      (goto-char (point-min))
-      ;; We are looking for an Ada declaration, so don't stop for strings or 
comments
-      ;;
-      ;; This will still be confused by multiple references; we need
-      ;; to use compiler cross reference info for more precision.
-      (while (not done)
-       (if (search-forward-regexp ff-function-name nil t)
-           (setq found (match-beginning 0))
-         ;; not in remainder of buffer
-         (setq done t))
-       (if (wisi-in-string-or-comment-p)
-           (setq found nil)
-         (setq done t)))
-      (when found
-       (goto-char found)
-       ;; different parsers find different points on the line; normalize here
-       (back-to-indentation))
-      (setq ff-function-name nil))))
-
-(defun ada-find-other-file ()
-  "Move to the corresponding declaration in another file.
-
-- If region is active, assume it contains a package name;
-  position point on that package declaration.
-
-- If point is in the start line of a non-nested child package or
-  subprogram declaration, position point on the corresponding
-  parent package specification.
-
-- If point is in a context clause line, position point on the
-  first package declaration that is mentioned.
-
-- If point is in a separate body, position point on the
-  corresponding specification.
-
-- If point is in a subprogram body or specification, position point
-  on the corresponding specification or body."
-
-  ;; ff-get-file, ff-find-other file first process
-  ;; ff-special-constructs, then run the following hooks:
-  ;;
-  ;; ff-pre-load-hook      set to ada-which-function
-  ;; ff-file-created-hook  set to ada-ff-create-body
-  ;; ff-post-load-hook     set to ada-set-point-accordingly,
-  ;;                       or to a compiler-specific function that
-  ;;                       uses compiler-generated cross reference
-  ;;                       information
-
-  (interactive)
-  (wisi-check-current-project (buffer-file-name) #'ada-prj-default)
-
-  ;; clear ff-function-name, so either ff-special-constructs or
-  ;; ada-which-function will set it.
-  (setq ff-function-name nil)
-
-  (cond
-   (mark-active
-    (setq ff-function-name (buffer-substring-no-properties (point) (mark)))
-    (ff-get-file
-     compilation-search-path
-     (ada-file-name-from-ada-name ff-function-name)
-     ada-spec-suffixes
-     nil);; other-window
-    (deactivate-mark))
-
-   ((and (not (ada-on-context-clause))
-        (ada-goto-subunit-name))
-    (call-interactively 'wisi-goto-spec/body))
-
-   (t
-    (ff-find-other-file)))
-  )
-
-;;;; Misc
-
-;; This is autoloaded because it may be used in ~/.emacs
-;;;###autoload
-(defun ada-add-extensions (spec body)
-  "Define SPEC and BODY as being valid extensions for Ada files.
-SPEC and BODY are two regular expressions that must match against
-the file name."
-  (let* ((reg (concat (regexp-quote body) "$"))
-        (tmp (assoc reg ada-other-file-alist)))
-    (if tmp
-       (setcdr tmp (list (cons spec (cadr tmp))))
-      (add-to-list 'ada-other-file-alist (list reg (list spec)))))
-
-  (let* ((reg (concat (regexp-quote spec) "$"))
-        (tmp (assoc reg ada-other-file-alist)))
-    (if tmp
-       (setcdr tmp (list (cons body (cadr tmp))))
-      (add-to-list 'ada-other-file-alist (list reg (list body)))))
-
-  (add-to-list 'auto-mode-alist
-              (cons (concat (regexp-quote spec) "\\'") 'ada-mode))
-  (add-to-list 'auto-mode-alist
-              (cons (concat (regexp-quote body) "\\'") 'ada-mode))
-
-  (add-to-list 'ada-spec-suffixes spec)
-  (add-to-list 'ada-body-suffixes body)
-
-  (when (fboundp 'speedbar-add-supported-extension)
-    (speedbar-add-supported-extension spec)
-    (speedbar-add-supported-extension body))
-  )
-
-(defun ada-show-secondary-error ()
-  "Show the next secondary file reference in the compilation buffer.
-A secondary file reference is defined by text having text
-property `ada-secondary-error'.  These can be set by
-compiler-specific compilation filters."
-  (interactive)
-
-  ;; preserving the current window works only if the frame
-  ;; doesn't change, at least on Windows.
-  (let ((start-buffer (current-buffer))
-       pos item file)
-    ;; We use `pop-to-buffer', not `set-buffer', so point is correct
-    ;; for the current window showing compilation-last-buffer, and
-    ;; moving point in that window works. But that might eat an
-    ;; `other-frame-window-mode' prefix, which the user means to apply
-    ;; to ’ada-goto-source’ below; disable that temporarily.
-    (let ((display-buffer-overriding-action nil))
-      (pop-to-buffer compilation-last-buffer nil t)
-      (setq pos (next-single-property-change (point) 'ada-secondary-error))
-      (unless pos
-       ;; probably at end of compilation-buffer, in new compile
-       (goto-char (point-min))
-       (setq pos (next-single-property-change (point) 'ada-secondary-error)))
-
-      (when pos
-       (setq item (get-text-property pos 'ada-secondary-error))
-       ;; file-relative-name handles absolute Windows paths from
-       ;; g++. Do this in compilation buffer to get correct
-       ;; default-directory.
-       (setq file (file-relative-name (nth 0 item)))
-
-       ;; Set point in compilation buffer past this secondary error, so
-       ;; user can easily go to the next one.
-       (goto-char (next-single-property-change (1+ pos) 'ada-secondary-error)))
-
-      (pop-to-buffer start-buffer nil t);; for windowing history
-      )
-    (when item
-      (wisi-goto-source
-       file
-       (nth 1 item); line
-       (nth 2 item); column
-       ))
-    ))
-
-(defun ada-goto-declaration-start-1 (include-type)
-  "Subroutine of `ada-goto-declaration-start'."
-  (let ((start (point))
-       (cache (or (wisi-get-cache (point)) (wisi-backward-cache)))
-       (done nil))
-    ;; cache is null at bob
-    (while (not done)
-      (if cache
-         (progn
-           (setq done
-                 (cl-case (wisi-cache-nonterm cache)
-                   ((entry_body entry_declaration)
-                    (eq (wisi-cache-token cache) 'ENTRY))
-
-                   ((full_type_declaration private_type_declaration)
-                    (when include-type
-                      (eq (wisi-cache-token cache) 'TYPE)))
-
-                   ((generic_package_declaration 
generic_subprogram_declaration)
-                    (eq (wisi-cache-token cache) 'GENERIC))
-
-                   ((package_body package_declaration)
-                    (eq (wisi-cache-token cache) 'PACKAGE))
-
-                   ((protected_body protected_type_declaration 
single_protected_declaration)
-                    (eq (wisi-cache-token cache) 'PROTECTED))
-
-                   ((abstract_subprogram_declaration
-                     expression_function_declaration
-                     subprogram_body
-                     subprogram_declaration
-                     subprogram_renaming_declaration
-                     null_procedure_declaration)
-                    (memq (wisi-cache-token cache) '(NOT OVERRIDING FUNCTION 
PROCEDURE)))
-
-                   ((single_task_declaration task_body task_type_declaration)
-                    (eq (wisi-cache-token cache) 'TASK))
-
-                   ))
-           (unless (<= start (wisi-cache-end cache))
-             ;; found declaration does not include start; find containing one.
-             (setq done nil))
-           (unless done
-             (setq cache (wisi-goto-containing cache nil))))
-       (setq done t))
-       )
-    cache))
-
-(defun ada-goto-declaration-start (&optional include-type)
-  "Move point to start of the generic, package, protected,
-subprogram, or task declaration point is currently in or just
-after.  For `beginning-of-defun-function'."
-  (interactive)
-  (wisi-validate-cache (point-min) (point-max) t 'navigate)
-  (ada-goto-declaration-start-1 include-type))
-
-(defun ada-goto-declaration-end ()
-  "Move point to end of current declaration.
-For `end-of-defun-function'."
-  (interactive)
-  ;; First goto-declaration-start, so we get the right end, not just
-  ;; the current statement end.
-  (wisi-goto-end-1 (ada-goto-declaration-start)))
-
-;;;; fill-comment
-
-(defun ada-fill-comment-paragraph (&optional justify postfix)
-  "Fill the current comment paragraph.
-If JUSTIFY is non-nil, each line is justified as well.
-If POSTFIX and JUSTIFY are non-nil, `ada-fill-comment-postfix' is appended
-to each line filled and justified.
-The ident for the paragraph is taken from the first line."
-  (interactive "P")
-  (if (not (or (wisi-in-comment-p)
-               (looking-at "[ \t]*--")))
-      (error "Not inside comment"))
-
-  ;; fill-region-as-paragraph leaves comment text exposed (without
-  ;; comment prefix) when inserting a newline; don't trigger a parse
-  ;; because of that (in particular, jit-lock requires a parse; other
-  ;; hooks may as well).
-  (let* ((wisi-inhibit-parse t)
-        indent from to
-        (opos (point-marker))
-        ;; we bind `fill-prefix' here rather than in ada-mode because
-        ;; setting it in ada-mode causes indent-region to use it for
-        ;; all indentation.
-        (fill-prefix ada-fill-comment-prefix)
-        (fill-column (if ada-fill-comment-adaptive
-                         (save-excursion
-                           (back-to-indentation)
-                           (+ (current-column) fill-column))
-                       (current-fill-column))))
-
-    ;;  Find end of comment paragraph
-    (back-to-indentation)
-    (while (and (not (eobp)) (looking-at ".*--[ \t]*[^ \t\n]"))
-      (forward-line 1)
-
-      ;;  If we were at the last line in the buffer, create a dummy empty
-      ;;  line at the end of the buffer.
-      (if (eobp)
-         (insert "\n")
-       (back-to-indentation)))
-    (beginning-of-line)
-    (setq to (point-marker))
-    (goto-char opos)
-
-    ;;  Find beginning of paragraph
-    (back-to-indentation)
-    (while (and (not (bobp)) (looking-at ".*--[ \t]*[^ \t\n]"))
-      (forward-line -1)
-      (back-to-indentation))
-
-    (unless (bobp)
-      (forward-line 1))
-    (beginning-of-line)
-    (setq from (point-marker))
-
-    ;;  Calculate the indentation we will need for the paragraph
-    (back-to-indentation)
-    (setq indent (current-column))
-    ;;  unindent the first line of the paragraph
-    (delete-region from (point))
-
-    ;;  Remove the old postfixes
-    (goto-char from)
-    (while (re-search-forward (concat "\\(" ada-fill-comment-postfix "\\)" 
"\n") to t)
-      (delete-region (match-beginning 1) (match-end 1)))
-
-    (goto-char (1- to))
-    (setq to (point-marker))
-
-    ;;  Indent and justify the paragraph
-    (set-left-margin from to indent)
-    (if postfix
-       (setq fill-column (- fill-column (length ada-fill-comment-postfix))))
-
-    (fill-region-as-paragraph from to justify)
-
-    ;;  Add the postfixes if required
-    (if postfix
-       (save-restriction
-         (goto-char from)
-         (narrow-to-region from to)
-         (while (not (eobp))
-           (end-of-line)
-           (insert-char ?  (- fill-column (current-column)))
-           (insert ada-fill-comment-postfix)
-           (forward-line))
-         ))
-
-    (goto-char opos)))
-
-;;;; support for font-lock.el
-
-(defconst ada-83-keywords
-  '("abort" "abs" "accept" "access" "all" "and" "array" "at" "begin"
-    "body" "case" "constant" "declare" "delay" "delta" "digits" "do"
-    "else" "elsif" "end" "entry" "exception" "exit" "for" "function"
-    "generic" "goto" "if" "in" "is" "limited" "loop" "mod" "new"
-    "not" "null" "of" "or" "others" "out" "package" "pragma" "private"
-    "procedure" "raise" "range" "record" "rem" "renames" "return"
-    "reverse" "select" "separate" "subtype" "task" "terminate" "then"
-    "type" "use" "when" "while" "with" "xor")
-  "List of Ada 83 keywords.")
-
-(defconst ada-95-keywords
-  '("abstract" "aliased" "protected" "requeue" "tagged" "until")
-  "List of keywords new in Ada 95.")
-
-(defconst ada-2005-keywords
-  '("interface" "overriding" "synchronized")
-  "List of keywords new in Ada 2005.")
-
-(defconst ada-2012-keywords
-  '("some")
-  "List of keywords new in Ada 2012.")
-
-(defvar ada-keywords nil
-  "List of Ada keywords for current `ada-language-version'.")
-
-(defun ada-font-lock-keywords ()
-  "Return Ada mode value for `font-lock-keywords', depending on 
`ada-language-version'."
-   ;; Grammar actions set `font-lock-face' property for all
-   ;; non-keyword tokens that need it.
-  (list
-   (list (concat "\\_<" (regexp-opt ada-keywords t) "\\_>") '(0 
font-lock-keyword-face))
-   ))
-
-;;;; auto-case
-
-(defcustom ada-auto-case t
-  "When non-nil, automatically change case of preceding word while
-typing.  Casing of Ada keywords is done according to `ada-case-keyword',
-identifiers according to `ada-case-identifier'."
-  :group 'ada
-  :type  '(choice (const nil)
-                 (const t))
-  :safe  (lambda (val) (memq val '(nil t))))
-(make-variable-buffer-local 'ada-auto-case)
-
-(defcustom ada-case-keyword 'lower-case
-  "Indicate how to adjust case for language keywords.
-Value is one of lower-case, upper-case."
-  :group 'ada
-  :type '(choice (const lower-case)
-                (const upper-case))
-  :safe #'symbolp)
-(make-variable-buffer-local 'ada-case-keyword)
-
-(defcustom ada-case-strict t
-  "If non-nil, force Mixed_Case for identifiers.
-Otherwise, allow UPPERCASE for identifiers."
-  :group 'ada
-  :type 'boolean
-  :safe  #'booleanp)
-(make-variable-buffer-local 'ada-case-strict)
-
-(defcustom ada-case-identifier 'mixed-case
-  "Indicates how to adjust the case of Ada keywords."
-  :group 'ada
-  :type '(choice (const mixed-case)
-                (const lower-case)
-                (const upper-case))
-  :safe (lambda (val) (memq val '(mixed-case lower-case upper-case))))
-(make-variable-buffer-local 'ada-case-identifier)
-
-(defun ada-in-based-numeric-literal-p ()
-  "Return t if point is after a prefix of a based numeric literal."
-  (looking-back "\\([0-9]+#[0-9a-fA-F_]+\\)" (line-beginning-position)))
-
-(defun ada-case-adjust-p (typed-char)
-  "For `wisi-case-adjust-p-function'."
-  (and
-   ;; hex digits
-   (not (ada-in-based-numeric-literal-p))
-
-   ;; character literal
-   (not (and (eq typed-char ?')
-            (eq (char-before (point)) ?')))
-  ))
-
-;;;; wisi integration
-
-(defconst ada-wisi-language-protocol-version "3"
-  "Defines language-specific parser parameters.
-Must match wisi-ada.ads Language_Protocol_Version.")
-
-(cl-defstruct (ada-wisi-parser (:include wisi-process--parser))
-  ;; no new slots
-  )
-
-(cl-defmethod wisi-parse-format-language-options ((_parser ada-wisi-parser))
-  (format "%d %d %d %d %d %d %d %d %d %d %d %d %d"
-         ada-indent
-         ada-indent-broken
-         (if ada-indent-comment-col-0 1 0)
-         (if ada-indent-comment-gnat 1 0)
-         ada-indent-label
-         ada-indent-record-rel-type
-         ada-indent-renames
-         ada-indent-return
-         ada-indent-use
-         ada-indent-when
-         ada-indent-with
-         (if ada-indent-hanging-rel-exp 1 0)
-         (if ada-end-name-optional 1 0)
-         ))
-
-(defconst ada-wisi-named-begin-regexp
-  "\\_<function\\_>\\|\\_<package\\_>\\|\\_<procedure\\_>\\|\\_<task\\_>"
-  )
-
-(defconst ada-wisi-partial-begin-regexp
-  (concat "\\_<begin\\_>\\|\\_<declare\\_>\\|"
-         ada-wisi-named-begin-regexp
-         "\\|\\_<end;\\|\\_<end " ada-name-regexp ";"))
-
-(defconst ada-wisi-partial-end-regexp
-  (concat ada-wisi-partial-begin-regexp
-         "\\|;"))
-
-(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' but not
-  ;; 'end;', there is no error (begin starts a statement), and the
-  ;; indent is computed incorrectly, because it is assumed that the
-  ;; line containing 'end;' is indented correctly.
-  ;;
-  ;; This is handled by the set of keywords in
-  ;; ada-wisi-partial-begin-regexp.
-  (cond
-   ((looking-at "[ \t]*\\_<begin\\_>")
-    ;; indenting 'begin'; best option is to assume it is indented properly
-    (point))
-
-   ((wisi-search-backward-skip
-     ada-wisi-partial-begin-regexp
-     (lambda () (or (wisi-in-string-or-comment-p)
-                   (looking-back "access " (line-beginning-position)))))
-     ;; "access" rejects subprobram access parameters; 
test/ada_mode-recover_partial_20.adb
-
-    (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."
-  (forward-comment (point-max)) ;; get past any current comments
-  (forward-line 1) ;; contain at least some code (see 
ada_mode-partial_parse.adb 'blank line before "end"')
-
-  (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 (wisi-in-string-or-comment-p)
-                     (wisi-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 (wisi-in-string-or-comment-p)
-                       (search-forward-regexp end-regexp nil t)))
-           (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))
-
-(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))
-
-   ((equal '(CASE IS) (wisi--parse-error-repair-inserted repair))
-        (- indent (+ ada-indent ada-indent-when)))
-
-   ((equal '(END CASE SEMICOLON) (wisi--parse-error-repair-inserted repair))
-        (+ indent (+ ada-indent ada-indent-when)))
-
-   (t indent)
-   ))
-
-(defun ada-wisi-comment-gnat (indent after)
-  "Modify INDENT to match gnat rules. Return new indent.
-INDENT must be indent computed by the normal indentation
-algorithm.  AFTER indicates what is on the previous line; one of:
-
-code:         blank line, or code with no trailing comment
-code-comment: code with trailing comment
-comment:      comment"
-  (let (prev-indent next-indent)
-    ;; the gnat comment indent style check; comments must
-    ;; be aligned to one of:
-    ;;
-    ;; - multiple of ada-indent
-    ;; - next non-blank line
-    ;; - previous non-blank line
-    ;;
-    ;; Note that we must indent the prev and next lines, in case
-    ;; they are not currently correct.
-    (cond
-     ((and (not (eq after 'comment))
-          (= 0 (% indent ada-indent)))
-      ;; this will handle comments at bob and eob, so we don't
-      ;; need to worry about those positions in the next checks.
-      indent)
-
-     ((and (setq prev-indent
-                (if (eq after 'comment)
-                    (progn (forward-comment -1) (current-column))
-                  (save-excursion (forward-line -1)(current-indentation))))
-          (= indent prev-indent))
-      indent)
-
-     ((and (setq next-indent
-                ;; we use forward-comment here, instead of
-                ;; forward-line, because consecutive comment
-                ;; lines are indented to the current one, which
-                ;; we don't know yet.
-                (save-excursion (forward-comment 
(point-max))(current-indentation)))
-          (= indent next-indent))
-      indent)
-
-     (t
-      (cl-ecase after
-       (code-comment
-        ;; After comment that follows code on the same line
-        ;; test/ada_mode-conditional_expressions.adb
-        ;;
-        ;; then 44     -- comment matching GNAT
-        ;;             -- second line
-        ;;
-        ;; else 45)); -- comment _not_ matching GNAT style check
-        ;;             -- comment matching GNAT
-        ;;
-        (+ indent (- ada-indent (% indent ada-indent))))
-
-       ((code comment)
-        ;; After code with no trailing comment, or after comment
-        ;; test/ada_mode-conditional_expressions.adb
-        ;; K2 : Integer := (if J > 42
-        ;;                  -- comment indent matching GNAT style check
-        ;;                  then
-        ;;
-        (max prev-indent next-indent))
-
-       ))
-     )))
-
-(defun ada-wisi-comment ()
-  "Modify indentation of a comment:
-For `wisi-indent-calculate-functions'.
-- align to previous comment after code.
-- respect `ada-indent-comment-gnat'."
-  ;; We know we are at the first token on a line.
-  ;;
-  ;; The normal indentation algorithm has already indented the
-  ;; comment.
-  (when (and (not (eobp))
-            (string= comment-start (buffer-substring-no-properties (point) 
(min (point-max) (+ 2 (point))))))
-
-    ;; We are looking at a comment; check for preceding comments, code
-    (let (after
-         (indent (current-column)))
-      (if (save-excursion (forward-line -1) (looking-at "\\s *$"))
-         ;; after blank line
-         (setq after 'code)
-
-       (save-excursion
-         (forward-comment -1)
-         (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))
-           (if (not (= indent (progn (back-to-indentation) (current-column))))
-               ;; previous line has comment following code
-               (setq after 'code-comment)
-             ;; previous line has plain comment
-             (setq indent (current-column))
-             (setq after 'comment)
-             )))
-       )
-
-      (cl-ecase after
-       (code
-        (if ada-indent-comment-gnat
-            (ada-wisi-comment-gnat indent 'code)
-          indent))
-
-       (comment
-        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"))
-          (save-excursion (forward-comment -1)(current-column)))
-        ))
-      )))
-
-(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
-    (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
-       (indent-region (point) (wisi-cache-end start-cache)))
-      ))
-  (back-to-indentation))
-
-(defun ada-find-file ()
-  "Find a file in the current project.
-Prompts with completion, defaults to filename at point."
-  (interactive)
-  ;; In emacs 27, we can just call 'project-find-file;
-  ;; project-read-file-name-function handles the uniquify-files alist
-  ;; completion table. In emacs 26, we must do that ourselves.
-  (cl-ecase emacs-major-version
-    (27
-     (project-find-file))
-
-    (26
-     (let* ((def (thing-at-point 'filename))
-           (project (project-current))
-           (all-files (project-files project nil))
-           (alist (uniq-file-uniquify all-files))
-           (table (apply-partially #'uniq-file-completion-table alist))
-            (file (project--completing-read-strict
-                   "Find file" table nil nil def)))
-       (if (string= file "")
-           (user-error "You didn't specify the file")
-        (find-file (cdr (assoc file alist))))))
-    ))
-
-;;;; compatibility with previous ada-mode versions
-
-;;;###autoload
-(defun ada-fix-compiler-error ()
-  (interactive)
-  (wisi-fix-compiler-error))
-(make-obsolete 'ada-fix-compiler-error 'wisi-fix-compiler-error "ada-mode 
7.0.0")
-
-(defun ada-select-prj-file-1 (prj-file)
-;; avoid byte compiler warning about obsolete ada-select-prj-file
-  (wisi-prj-select-cache
-   prj-file
-   (ada-prj-default
-    (file-name-sans-extension (file-name-nondirectory prj-file))
-    (file-name-directory prj-file)))
-
-  ;; We set project-find-functions, xref-backend-functions here for
-  ;; compatibility with ada-mode 6.x.
-  (unless (wisi-prj-find-function-set-p)
-    (add-hook 'project-find-functions #'wisi-prj-current-cached)
-    (add-hook 'xref-backend-functions #'wisi-prj-xref-backend)))
-
-;;;###autoload
-(defun ada-parse-prj-file (prj-file)
-  (ada-select-prj-file-1 prj-file))
-(make-obsolete 'ada-parse-prj-file 'wisi-prj-select-cache "ada-mode 7.0.0")
-
-;;;###autoload
-(defun ada-select-prj-file (prj-file)
-  (ada-select-prj-file-1 prj-file))
-(make-obsolete 'ada-select-prj-file #'wisi-prj-select-cache "ada-mode 7.0.0")
-
-;;;###autoload
-(defalias 'ada-project-current #'wisi-prj-current-cached)
-(make-obsolete 'ada-project-current #'wisi-prj-current-cached "ada-mode 7.0.0")
-
-;;;; ada-mode
-
-(defvar which-func-functions) ;; which-func.el
-(defvar which-func-non-auto-modes) ;; ""
-
-;;;###autoload
-(define-derived-mode ada-mode prog-mode "Ada"
-  "The major mode for editing Ada code."
-  :group 'ada
-
-  (set (make-local-variable 'syntax-propertize-function) 
'ada-syntax-propertize)
-  (syntax-ppss-flush-cache (point-min));; reparse with new function
-
-  (set (make-local-variable 'parse-sexp-ignore-comments) t)
-  (set (make-local-variable 'parse-sexp-lookup-properties) t)
-  (set 'case-fold-search t); Ada is case insensitive; the syntax parsing 
requires this setting
-  (set 'completion-ignore-case t)
-  (set (make-local-variable 'comment-start) "--")
-  (set (make-local-variable 'comment-end) "")
-  (set (make-local-variable 'comment-start-skip) "---*[ \t]*")
-  (set (make-local-variable 'comment-multi-line) nil)
-
-  ;; we _don't_ set `fill-prefix' here because that causes
-  ;; indent-region to use it for all indentation. See
-  ;; ada-fill-comment-paragraph.
-
-  ;; AdaCore standard style (enforced by -gnaty) requires two spaces
-  ;; after '--' in comments; this makes it easier to distinguish
-  ;; special comments that have something else after '--'
-  (set (make-local-variable 'comment-padding) "  ")
-
-  (set (make-local-variable 'require-final-newline) t)
-
-  (setq font-lock-defaults
-       '(ada-font-lock-keywords ;; keywords
-         nil ;; keywords only; comment, string faces not set by wisi parser
-         t ;; case-fold
-         ((?\_ . "w")))); treat underscore as a word component
-
-  (set (make-local-variable 'ff-other-file-alist)
-       'ada-other-file-alist)
-  (setq ff-post-load-hook    #'ada-set-point-accordingly
-       ff-file-created-hook #'ada-ff-create-body)
-  (add-hook 'ff-pre-load-hook #'push-mark)
-  (add-hook 'ff-pre-load-hook #'ada-which-function)
-  (setq ff-search-directories 'compilation-search-path)
-  (when (null (car compilation-search-path))
-    ;; find-file doesn't handle nil in search path
-    (setq compilation-search-path (list (if buffer-file-name
-                                            (file-name-directory 
(buffer-file-name))
-                                          "."))))
-  (ada-set-ff-special-constructs)
-
-  (set (make-local-variable 'add-log-current-defun-function)
-       #'ada-add-log-current-function)
-
-  ;; We set this even if which-func.el is not loaded, because if it is
-  ;; loaded later, it will use the add-log which-function, which
-  ;; forces a navigate parse.
-  (add-hook 'which-func-functions #'ada-which-function nil t)
-  (when (boundp 'which-func-non-auto-modes)
-    (add-to-list 'which-func-non-auto-modes 'ada-mode))
-
-  ;;  Support for align
-  (add-to-list 'align-dq-string-modes 'ada-mode)
-  (add-to-list 'align-open-comment-modes 'ada-mode)
-  (set (make-local-variable 'align-region-separate) ada-align-region-separate)
-  (set (make-local-variable 'align-indent-before-aligning) t)
-
-  (set (make-local-variable 'beginning-of-defun-function) 
#'ada-goto-declaration-start)
-  (set (make-local-variable 'end-of-defun-function) #'ada-goto-declaration-end)
-
-  ;; Exclude comments alone on line from alignment.
-  (add-to-list 'align-exclude-rules-list
-              '(ada-solo-comment
-                (regexp  . "^\\(\\s-*\\)--")
-                (modes   . '(ada-mode))))
-  (add-to-list 'align-exclude-rules-list
-              '(ada-solo-use
-                (regexp  . "^\\(\\s-*\\)\\_<use\\_>")
-                (modes   . '(ada-mode))))
-
-  (setq align-mode-rules-list ada-align-rules)
-
-  (easy-menu-add ada-mode-menu ada-mode-map)
-
-  (wisi-setup
-   :indent-calculate '(ada-wisi-comment)
-   :post-indent-fail 'ada-wisi-post-parse-fail
-   :parser
-   (wisi-process-parse-get
-    (make-ada-wisi-parser
-     :label "Ada"
-     :language-protocol-version ada-wisi-language-protocol-version
-     :exec-file ada-process-parse-exec
-     :exec-opts ada-process-parse-exec-opts
-     :face-table ada-process-face-table
-     :token-table ada-process-token-table
-     :repair-image ada-process-repair-image)))
-
-  (setq wisi-prj-parse-undefined-function #'ada-prj-parse-undefined)
-  (setq wisi-xref-full-path ada-xref-full-path)
-
-  (add-hook 'hack-local-variables-hook #'ada-mode-post-local-vars nil t)
-  )
-
-(defun ada-mode-post-local-vars ()
-  ;; These are run after ada-mode-hook and file local variables
-  ;; 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)
-
-  (remove-hook 'hack-local-variables-hook #'ada-mode-post-local-vars)
-
-  ;; fill-region-as-paragraph in ada-fill-comment-paragraph does not
-  ;; call syntax-propertize, so set comment syntax on
-  ;; ada-fill-comment-prefix. In post-local because user may want to
-  ;; set it per-file.
-  (put-text-property 0 2 'syntax-table '(11 . nil) ada-fill-comment-prefix)
-
-  (cl-case ada-language-version
-   (ada83
-    (setq ada-keywords ada-83-keywords))
-
-   (ada95
-    (setq ada-keywords
-         (append ada-83-keywords
-                 ada-95-keywords)))
-
-   (ada2005
-    (setq ada-keywords
-         (append ada-83-keywords
-                 ada-95-keywords
-                 ada-2005-keywords)))
-   (ada2012
-    (setq ada-keywords
-         (append ada-83-keywords
-                 ada-95-keywords
-                 ada-2005-keywords
-                 ada-2012-keywords))))
-
-  (when global-font-lock-mode
-    ;; This calls ada-font-lock-keywords, which depends on
-    ;; ada-keywords
-    (font-lock-refresh-defaults))
-
-  (setq wisi-indent-comment-col-0 ada-indent-comment-col-0)
-
-  (setq wisi-auto-case ada-auto-case)
-  (setq wisi-case-identifier ada-case-identifier)
-  (setq wisi-case-strict ada-case-strict)
-  (setq wisi-language-keywords ada-keywords)
-  (setq wisi-case-keyword ada-case-keyword)
-  (setq wisi-case-adjust-p-function #'ada-case-adjust-p)
-  )
-
-(put 'ada-mode 'custom-mode-group 'ada)
-
-;;;;; Global initializations
-
-;;;###autoload
-(add-to-list 'auto-mode-alist '("\\.ad[abs]\\'" . ada-mode))
-
-(when (featurep 'imenu)
-  (require 'ada-imenu))
-
-(provide 'ada-mode)
-;;; ada-mode.el ends here
diff --git a/packages/ada-mode/ada-mode.info b/packages/ada-mode/ada-mode.info
deleted file mode 100644
index b5ecdfd..0000000
--- a/packages/ada-mode/ada-mode.info
+++ /dev/null
@@ -1,2604 +0,0 @@
-This is ada-mode.info, produced by makeinfo version 6.7 from
-ada-mode.texi.
-
-Copyright (C) 1999 - 2020 Free Software Foundation, Inc.
-
-     Permission is granted to copy, distribute and/or modify this
-     document under the terms of the GNU Free Documentation License,
-     Version 1.3 or any later version published by the Free Software
-     Foundation; with no Invariant Sections, with the Front-Cover texts
-     being "A GNU Manual", and with the Back-Cover Texts as in (a)
-     below.  A copy of the license is included in the section entitled
-     "GNU Free Documentation License".
-
-     (a) The FSF's Back-Cover Text is: "You have the freedom to copy and
-     modify this GNU manual.  Buying copies from the FSF supports it in
-     developing GNU and promoting software freedom."
-INFO-DIR-SECTION Emacs
-START-INFO-DIR-ENTRY
-* Ada mode: (ada-mode).         Emacs mode for editing and navigating Ada code.
-END-INFO-DIR-ENTRY
-
-
-File: ada-mode.info,  Node: Top,  Next: Overview,  Prev: (dir),  Up: (dir)
-
-Top
-***
-
-Ada Mode Version 7.1.3
-
-* Menu:
-
-* Overview::
-* Installation::                Installing Ada mode on your system
-* Customization::               Setting up Ada mode to your taste
-* Compiling Executing::         Working with your application within Emacs
-* Project files::               Describing the organization of your project
-* Moving Through Ada Code::     Moving easily through Ada sources
-* Identifier completion::       Finishing words automatically
-* Indentation::                 Indenting your code automatically as you type
-* Statement skeletons::         Some code is written for you
-* Aligning code::               Making it pretty
-* Automatic casing::            Adjusting the case of words automatically
-* Comment Handling::            Reformatting comments easily
-* Key summary::
-* Developer overview::
-* GNU Free Documentation License::
-
- -- The Detailed Node Listing --
-
-Overview
-
-* Why not LSP?::
-
-Installation
-
-* Ada Reference Manual::
-* Ada executables::
-
-Ada executables
-
-* Building GNATCOLL::
-* Building the executables::
-
-Customizing Ada mode
-
-* Slow response::
-* Non-standard file names::
-* Other compiler::
-* Other cross-reference::
-* Other customization::
-
-Compiling Executing
-
-* Compile commands::
-* Compiling Examples::
-* Compiler errors::
-
-Compiling Examples
-
-* No project files::            Just menus
-* Set compiler options::        A basic Ada mode project file
-* Set source search path::      Source in multiple directories
-* Use wisi project file::
-* Use multiple GNAT project files::
-* Use a Makefile::
-
-Project files
-
-* Project file overview::
-* Project file variables::
-
-Developer overview
-
-* Directory structure::
-* ELPA::
-* Savannah::
-* ada-france::
-
-
-
-File: ada-mode.info,  Node: Overview,  Next: Installation,  Prev: Top,  Up: Top
-
-1 Overview
-**********
-
-The Emacs mode for programming in Ada helps the user in reading existing
-code and facilitates developing new code.
-
-   Cross-reference information output by the compiler is used to provide
-powerful code navigation (jump to definition, find all uses, etc).
-
-   When you open a file with a file extension of '.ads' or '.adb', Emacs
-will automatically load and activate Ada mode.
-
-   Ada mode works without any customization, if you are using the GNAT
-compiler (<https://libre.adacore.com/>) and the GNAT default naming
-convention.
-
-   You must customize a few things if you are using a different file
-naming convention or compiler; *Note Non-standard file names::, *Note
-Other compiler::.
-
-   In addition, you may want to customize the indentation,
-capitalization, and other things; *Note Other customization::.
-
-   Finally, for large Ada projects, you will want to set up an Emacs Ada
-mode project file for each project; *Note Project files::.  Note that
-these are different from the GNAT project files used by the GNAT tools.
-
-   *Note Debuggers: (emacs)Debuggers, for general information on
-debugging.
-
-* Menu:
-
-* Why not LSP?::
-
-
-File: ada-mode.info,  Node: Why not LSP?,  Up: Overview
-
-1.1 Why not LSP?
-================
-
-The Language Server Protocol (LSP, <https://langserver.org>) supports an
-external language parser, as Ada mode does, and it is supported by the
-GNU ELPA package eglot.  Ada mode does not use LSP mostly for historical
-reasons; the Ada mode parser was first developed before LSP was started.
-In addition, LSP does not support some of the navigation information
-provided by the Ada mode parser (although that could be provided as a
-custom command).
-
-   We may investigate supporting an LSP parser in the future.  In
-particular, the AdaCore Gnat Studio editor uses an LSP parser for
-several functions; Emacs Ada mode could use that as a backend if it
-supports LSP.
-
-
-File: ada-mode.info,  Node: Installation,  Next: Customization,  Prev: 
Overview,  Up: Top
-
-2 Installation
-**************
-
-Ada mode requires Emacs 25.0 or greater.  Compiling the Ada code for the
-external process parser requires GNAT GPL 2017 or later; tested with
-GNAT Community Edition 2019 and GNAT Pro 19.
-
-   Ada mode is distributed in the Gnu ELPA package archive; it can be
-installed via 'M-x list-packages' (*note (emacs)Packages::).  Note that
-it requires the 'wisi' and 'uniquify-files' packages as dependencies.
-
-   In Emacs < 27 you must first enable packages in your '~/.emacs',
-_after_ customizing 'Info-default-directory-list' (if you do that):
-
-     (package-initialize)
-
-   To see what version of Ada mode you have installed, invoke 'M-x
-ada-mode-version'.
-
-   You must also install the associated Ada executables (for the
-language parser).  You may want to install the Ada Reference Manual.
-
-* Menu:
-
-* Ada Reference Manual::
-* Ada executables::
-
-
-File: ada-mode.info,  Node: Ada Reference Manual,  Next: Ada executables,  Up: 
Installation
-
-2.1 Ada Reference Manual
-========================
-
-The ELPA package ada-ref-man includes the Ada Reference Manual and
-Annotated Ada Reference Manual in info format.
-
-
-File: ada-mode.info,  Node: Ada executables,  Prev: Ada Reference Manual,  Up: 
Installation
-
-2.2 Ada executables
-===================
-
-Ada mode requires the external parser, which must be compiled.
-
-   Ada mode has support for an external cross reference tool
-'gpr_query', which uses compiler-generated information.  In the case of
-Ada, the necessary '.ali' files are automatically generated by the
-standard compilation process.  For other languages, e.g.  C, C++, '.gli'
-files can be generated using the compiler switch '-fdump-xref'.
-'-fdump-xref' is an AdaCore extension, not available in FSF GCC.
-
-   'gpr_query' is an Ada program, which is distributed as source and
-must be built.  Its source code is in the 'ada-mode' Gnu ELPA package.
-
-   'gpr_query' is similar to the AdaCore utility 'gnatxref', but
-supports additional queries.
-
-   Both the parser and 'gpr_query' require the 'GNATCOLL' library
-provided by AdaCore, distributed with GNAT GPL 2017 or later, and also
-available at Github (<https://github.com/AdaCore/gnatcoll>).  The notes
-below assume that the compiler is installed at '$prefix', e.g.
-'/usr/local/gnat-2019', and that '$prefix/bin' is first on the 'PATH'.
-If you are running Windows, use mingw64 'bash' to run these commands.
-
-   On linux, some versions of the 'GNATCOLL.iconv' package (used by
-'gpr_query', but not the parser) explicitly require the 'libiconv.so'
-library.  GNAT provides the 'libiconv.so' library in
-'<gnat>/lib64/libiconv.so'.  On Debian, that directory is not in the
-standard load path, and iconv is provided by glibc, so 'libiconv.so' is
-not found on the standard load path.  So you must set LD_LIBRARY_PATH,
-but only when running 'gpr-query':
-
-     (setq gpr-query-env '("LD_LIBRARY_PATH=/Projects/gnat/pro_19.2/lib64")
-
-   In general, 'gpr_query' should be compiled with the compiler version
-that is used to generate the user project '.ali' files; the 'ali' file
-format can change with each compiler version.  'gpr_query' creates a
-database of cross reference information; that database must be deleted
-if the compiler version changes, to force a complete rebuild.
-
-   The default binary gnatcoll distributed with GNAT GPL 2019 does not
-include the xref package, which is required by 'gpr_query'.  So we must
-build gnatcoll xref from sources.
-
-* Menu:
-
-* Building GNATCOLL::
-* Building the executables::
-
-
-File: ada-mode.info,  Node: Building GNATCOLL,  Next: Building the 
executables,  Up: Ada executables
-
-2.2.1 Building GNATCOLL
------------------------
-
-Download gnatcoll-db from <https://github.com/AdaCore/gnatcoll-db>;
-select the latest release branch (or the one that matches your
-compiler), click on the "clone or download" button, select "Download
-ZIP".
-
-   Similarly, download gnatcoll-bindings from
-<https://github.com/AdaCore/gnatcoll-bindings/tree/20.2> (for
-gnatcoll-iconv).
-
-   Then unpack, build, and install the required components:
-
-     tar xf ~/Downloads/gnatcoll-bindings-20.2.zip
-     cd gnatcoll-bindings-20.2
-     cd iconv
-     ./setup.py build
-     ./setup.py install
-
-     tar xf ~/Downloads/gnatcoll-db-20.2.zip
-     cd gnatcoll-db-20.2
-     make -C sql
-     make -C sql install
-     make -C sqlite
-     make -C sqlite install
-     make -C xref
-     make -C xref install
-
-
-File: ada-mode.info,  Node: Building the executables,  Prev: Building 
GNATCOLL,  Up: Ada executables
-
-2.2.2 Building the executables
-------------------------------
-
-'gpr_query' requires the 'pthread' library.  On Windows, this is
-available in Mingw64 as package
-'mingw64/mingw-w64-x86_64-winpthreads-git'.
-
-   To build and install 'gpr_query' and the parser, assuming the
-'ada-mode-6.0.xx' GNU ELPA package is installed:
-
-     cd ~/.emacs.d/elpa/ada-mode-6.0.xx
-     ./build.sh
-     ./install.sh
-
-   By default, 'install.sh' installs the executables in the same
-directory as the GNAT executable (using 'gprinstall').  If you don't
-have write privileges there, or if you want to install somewhere else,
-use 'install.sh --prefix=<dir>'.
-
-   'ada-mode' will use 'gpr_query' and the parser if they are found in
-'PATH'.
-
-
-File: ada-mode.info,  Node: Customization,  Next: Compiling Executing,  Prev: 
Installation,  Up: Top
-
-3 Customizing Ada mode
-**********************
-
-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:
-
-* Slow response::
-* Non-standard file names::
-* Other compiler::
-* Other cross-reference::
-* Other customization::
-
-
-File: ada-mode.info,  Node: Slow response,  Next: Non-standard file names,  
Up: Customization
-
-3.1 Slow response
-=================
-
-In large files, parsing takes a noticable amount of time, so it gets in
-the way of interactive typing due to immediate fontification triggering
-a parse.
-
-   There are three ways to deal with this:
-
-  1. Set 'wisi-partial-parse-threshold' In your '~./emacs':
-
-          (setq wisi-partial-parse-threshold 100001)
-
-     The default value (100001) may already be appropriate; it depends
-     on how fast your machine is, and what your tolerance for slow
-     response is.
-
-     Files larger than 'wisi-partial-parse-threshold' (in characters)
-     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.
-
-     With this setting, indentation may not be correct; the Ada menu
-     entry "Edit | Indent containing statement" will indent correctly.
-
-  2. Delay fontification by setting 'jit-lock-defer-time' in your
-     '~./emacs':
-
-          (setq jit-lock-defer-time 1.5)
-
-     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. Turn off parsing for fontification by setting 'wisi-disable-face'
-     in your '~./emacs'
-
-          (setq wisi-disable-face t)
-
-     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.2 Non-standard file names
-===========================
-
-By default, Ada mode is configured to use the GNAT file naming
-convention, where file names are a simple modification of the Ada names,
-and the extension for specs and bodies are '.ads' and '.adb',
-respectively.
-
-   Emacs uses the file extension to enable Ada mode; Ada mode uses the
-file extentions to allow moving from a package body to the corresponding
-spec and back.
-
-   Emacs and Ada mode support ways to use alternative file extensions
-for specs and bodies.  Note that you must also tell the compiler about
-these extensions in a GNAT project file Naming package; doing that is
-beyond the scope of this manual.
-
-   For instance, if your spec and bodies files are called 'UNIT_s.ada'
-and 'UNIT_b.ada', respectively, you can add the following to your
-'.emacs' file:
-
-     ;; Tell Ada mode about spec and body extensions
-     (ada-add-extensions "_s.ada" "_b.ada")
-
-     ;; Tell Emacs to use Ada mode for those extensions
-     (add-to-list 'auto-mode-alist '("\\.ada\\'" . ada-mode))
-
-   You can define additional extensions:
-
-     (ada-add-extensions ".ads" "_b.ada")
-     (ada-add-extensions ".ads" ".body")
-
-   This means that whenever Ada mode looks for the body for a file whose
-extension is '.ads', it will take the first available file that ends
-with either '.adb', '_b.ada' or '.body'.
-
-   Simililarly, if Ada mode is looking for a spec, it will look for
-'.ads' or '_s.ada'.
-
-   If the filename excluding the extension is not derived from the Ada
-name following the GNAT convention, you need to provide an alternate
-function for 'ada-file-name-from-ada-name'.  Doing that is beyond the
-scope of this manual; see the current definitions in 'ada-mode.el' and
-'ada-gnat-xref.el' for examples.
-
-
-File: ada-mode.info,  Node: Other compiler,  Next: Other cross-reference,  
Prev: Non-standard file names,  Up: Customization
-
-3.3 Other compiler
-==================
-
-The wisi project variable 'ada_compoiler' (default elisp variable
-'ada-compiler') (default ''gnat') controls dispatching in
-compiler-specific functions for corresponding Ada mode operations.
-
-   To use a compiler other than GNAT, you must write Emacs lisp code
-that provides the interface to the compiler, and set 'ada-compiler' and
-the indirection variables.
-
-   See 'ada-compiler-gnat.el' for an example.
-
-
-File: ada-mode.info,  Node: Other cross-reference,  Next: Other customization, 
 Prev: Other compiler,  Up: Customization
-
-3.4 Other cross-reference
-=========================
-
-The wisi project variable 'xref_tool' (default elisp variable
-'ada-xref-tool') controls dispatching in the
-cross-reference-tool-specific functions for corresponding Ada mode
-operations.
-
-   If 'gpr_query' is found in 'PATH', the default cross-reference tool
-is 'gpr_query'; otherwise it is 'gnatxref'.
-
-   To use a cross reference tool other than the above, you must write
-Emacs lisp code that provides the interface to the tool, and set
-'ada-xref-tool' and the indirection variables.
-
-   See 'ada-gnat-xref.el' and 'gpr-query.el' for examples.
-
-
-File: ada-mode.info,  Node: Other customization,  Prev: Other cross-reference, 
 Up: Customization
-
-3.5 Other customization
-=======================
-
-All user-settable Ada mode variables can be set via the menu 'Ada |
-Customize'; some can also be set in wisi project files (*note Project
-files::).
-
-   To modify a specific variable, you can directly call the function
-'customize-variable'; just type 'M-x customize-variable <RET>
-VARIABLE-NAME <RET>'.
-
-   Alternately, you can specify variable settings in the Emacs
-configuration file, '~/.emacs'.  This file is coded in Emacs lisp, and
-the syntax to set a variable is the following:
-
-     (setq variable-name value)
-
-   Some general Emacs settings that are useful for Ada files:
-
-'context menu'
-     By default, the context menu is bound to <C-down-mouse-3>, i.e.
-     control-right-click.  <down-mouse-3> is already bound in the global
-     map; you can override that global binding in the 'ada-mode-hook'
-     (see below for code).
-'other-frame-window-mode'
-     Ada mode does not provide any 'other-frame' or 'other-window'
-     variants of user operations.  Instead, it is recommended to use the
-     Gnu ELPA package 'other-frame-window'.
-'delete-trailing-whitespace'
-     Deletes space, tab at end of line and blank lines at end of buffer.
-'xref configuration'
-     'xref-prompt-for-identifier'
-          Set to 'nil' to be prompted less when finding definitions or
-          references.
-     'xref-show-xrefs-function'
-          Determine placement of the window where references are shown.
-     'xref-show-definitions-function'
-          Determine placement of the window where definitions are shown.
-     'xref--transient-buffer-mode-map'
-          keymap used in some xref windows; you may want to disable the
-          <RET> binding there.
-'untabify'
-     Deletes tab characters that have crept into the file.
-'indent-tabs-mode'
-     Don't insert tab characters when indenting.
-'copyright-update'
-     Updates the copyright date in the file header comment, to the
-     current year.
-'electric-pair-mode'
-     Insert a matching right paren when you type a left paren.
-'hippie-expand'
-     Bind 'hippie-expand' to a key; it expands the word before point,
-     using words from current buffer, other buffers, file names, etc;
-     see 'hippie-expand-try-functions-list'.  You can also add
-     'wisi-skel-hippie-try' to that list.  Note that 'wisi-skel-expand'
-     is bound to <C-c C-e> (*note Statement skeletons::).
-'imenu'
-     Navigate to subprograms and types by name, from a minibuffer menu.
-'speedbar'
-     Navigate to subprograms and types by name, from a list in a
-     dedicated window.
-'which-func'
-     Display the current subprogram name in the mode bar.
-
-   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
-just before a buffer is written to disk.  Also, the order is important;
-ada-mode does not set up the Ada-specific features of imenu and speedbar
-unless imenu is loaded first.
-
-     (setq-default indent-tabs-mode nil)
-     (define-key xref--transient-buffer-mode-map (kbd "RET") 'xref-goto-xref)
-     (setq xref-prompt-for-identifier nil) ;; only prompt on C-u
-     (setq xref-show-xrefs-function #'xref--show-defs-buffer-at-bottom)
-     (setq xref-show-definitions-function #'xref--show-defs-buffer-at-bottom)
-
-     (electric-pair-mode 1)
-     (require 'imenu) ;; also enables speedbar
-     (require 'ada-mode)
-     (add-to-list 'hippie-expand-try-functions-list 'wisi-skel-hippie-try)
-     (define-key ada-mode-map "\C-e"     'hippie-expand)
-     (define-key ada-mode-map [down-mouse-3] 'ada-popup-menu)
-     (add-hook 'ada-mode-hook
-        (lambda ()
-         (add-hook 'before-save-hook 'delete-trailing-whitespace nil t)
-         (add-hook 'before-save-hook 'copyright-update nil t)
-         (add-hook 'before-save-hook
-                   (lambda () (untabify (point-min) (point-max)))
-                    nil t)))
-
-
-File: ada-mode.info,  Node: Compiling Executing,  Next: Project files,  Prev: 
Customization,  Up: Top
-
-4 Compiling Executing
-*********************
-
-Ada projects can be compiled, linked, and executed using commands on the
-Ada menu.  All of these commands can be customized via a project file
-(*note Project files::), but the defaults are sufficient for using the
-GNAT compiler for simple projects (single files, or several files in a
-single directory).
-
-   For complex projects, you will want to use 'make' or some other build
-tool; in that case, you may need a wisi project file to tell Emacs about
-the project directory tree and other settings.
-
-* Menu:
-
-* Compile commands::
-* Compiling Examples::
-* Compiler errors::
-
-
-File: ada-mode.info,  Node: Compile commands,  Next: Compiling Examples,  
Prev: Compiling Executing,  Up: Compiling Executing
-
-4.1 Compile commands
-====================
-
-Here are the commands for building an Ada project and running the main
-program; they are all on the 'Ada | Build' menu.
-
-   In multi-file projects, there must be one file that is the main
-program.  That is given by the 'main' project file variable; it defaults
-to the current file if not yet set, but is also set by the "set main and
-build" command.
-
-'Check file'
-     Compiles the current file in syntax check mode, by running
-     'check_cmd' defined in the current project file.  This typically
-     runs faster than full compile mode, speeding up finding and fixing
-     compilation errors.
-
-     This sets 'main' only if it has not been set yet.
-
-'Compile file'
-     Compiles the current file, by running 'comp_cmd' from the current
-     project file.
-
-     This does not set 'main'.
-
-'Set main and Build'
-     Sets 'main' to the current file, then executes the Build command.
-
-'Show main'
-     Displays 'main' in the message buffer.
-
-'Build'
-     Compiles all obsolete units of the current 'main', and links
-     'main', by running 'make_cmd' from the current project.
-
-     This sets 'main' only if it has not been set yet.
-
-'Run'
-     Executes the main program in a shell, displayed in a separate Emacs
-     buffer.  This runs 'run_cmd' from the current project.  The
-     execution buffer allows for interactive input/output.
-
-     To modify the run command, in particular to provide or change the
-     command line arguments, type 'C-u' before invoking the command.
-
-     This command is not available for a cross-compilation toolchain.
-
-   It is important when using these commands to understand how 'main' is
-used and changed.
-
-   Build runs 'gprbuild' on the main unit.  During a typical
-edit/compile session, this is the only command you need to invoke, which
-is why it is bound to 'C-c C-c'.  It will compile all files needed by
-the main unit, and display compilation errors in any of them.
-
-   Note that Build can be invoked from any Ada buffer; typically you
-will be fixing errors in files other than the main, but you don't have
-to switch back to the main to invoke the compiler again.
-
-   Novices and students typically work on single-file Ada projects.  In
-this case, 'C-c C-m' will normally be the only command needed; it will
-build the current file, rather than the last-built main.
-
-   There are two ways to change 'main':
-
-  1. Invoke 'Ada | Set main and Build', which sets 'main' to the current
-     file.
-
-  2. Invoke 'Ada | Project | Load', and load a project file that
-     specifies 'main'
-
-
-File: ada-mode.info,  Node: Compiling Examples,  Next: Compiler errors,  Prev: 
Compile commands,  Up: Compiling Executing
-
-4.2 Compiling Examples
-======================
-
-We present several small projects, and walk thru the process of
-compiling, linking, and running them.
-
-   The first example illustrates more Ada mode features than the others;
-you should work thru that example before doing the others.
-
-   All of these examples assume you are using GNAT.
-
-   The source for these examples is available on the Emacs Ada mode
-website mentioned in *Note Installation::.
-
-* Menu:
-
-* No project files::            Just menus
-* Set compiler options::        A basic Ada mode project file
-* Set source search path::      Source in multiple directories
-* Use wisi project file::
-* Use multiple GNAT project files::
-* Use a Makefile::
-
-
-File: ada-mode.info,  Node: No project files,  Next: Set compiler options,  
Prev: Compiling Examples,  Up: Compiling Examples
-
-4.2.1 No project files
-----------------------
-
-This example uses no project files.
-
-   First, create a directory 'Example_1', containing:
-
-   'hello.adb':
-
-     with Ada.Text_Io;
-     procedure Hello
-     is begin
-        Put_Line("Hello from hello.adb");
-     end Hello;
-
-   Yes, this is missing "use Ada.Text_Io;" - we want to demonstrate
-compiler error handling.
-
-   'hello_2.adb' has no errors:
-
-     with Hello_Pkg;
-     procedure Hello_2
-     is begin
-        Hello_Pkg.Say_Hello;
-     end Hello_2;
-
-   'hello_pkg.ads' has no errors:
-
-     package Hello_Pkg is
-        procedure Say_Hello;
-     end Hello_Pkg;
-
-   'hello_pkg.adb':
-
-     with Ada.Text_Io;
-     package Hello_Pkg is
-        procedure Say_Hello
-        is begin
-           Ada.Text_Io.Put_Line ("Hello from hello_pkg.adb");
-        end Say_Hello;
-     end Hello_Pkg;
-
-   Yes, this is missing the keyword 'body'; another compiler error
-example.  However, note that the indentation engine parser accepts this
-code, making it possible to indent illegal Ada code.
-
-   In buffer 'hello.adb', invoke the menu entry 'Ada | Build | Check
-syntax'.  You should get a '*compilation*' buffer containing something
-like (the directory paths will be different):
-
-     -*- mode: compilation; default-directory: 
"c:/Projects/org.emacs.ada-mode.stephe-1/test/Example_1/" -*-
-     Compilation started at Fri Oct 18 04:23:54
-
-     gprbuild  -u -c -gnatc  
c:/Projects/org.emacs.ada-mode/test/Example_1/hello.adb
-     using project file D:\Apps\GNAT-gpl_2019\share\gpr\_default.gpr
-     Compile
-        [Ada]          hello.adb
-     hello.adb:4:04: "Put_Line" is not visible
-     hello.adb:4:04: non-visible declaration at a-textio.ads:263
-     hello.adb:4:04: non-visible declaration at a-textio.ads:259
-     gprbuild: *** compilation phase failed
-
-     Compilation exited abnormally with code 4 at Fri Oct 18 04:23:54
-
-   The lines with actual errors (starting with 'hello.adb') are
-highlighted, with the file name in red.
-
-   Now invoke 'Ada | Build | Next compilation error'.  Or you can click
-the middle mouse button on the first error line, or use the key binding
-shown on the menu.  In the compilation buffer, a triangle is placed in
-the left fringe on the first error line, and point is put at the place
-of the error in the 'hello.adb' buffer.
-
-   To fix the error, invoke 'Ada | Build | Fix compilation error'; this
-adds "Ada.Text_Io."  to the line:
-
-         Ada.Text_Io.Put_Line ("hello from hello.adb");
-
-   Now invoke 'Ada | Build | Show main'; this displays 'Ada mode main:
-hello'.
-
-   Now (in buffer 'hello.adb'), invoke 'Ada | Build | Build'.  You are
-prompted to save the file (if you haven't already).  Then the
-compilation buffer is displayed again, containing:
-
-     -*- mode: compilation; default-directory: 
"c:/Projects/org.emacs.ada-mode.stephe-1/test/Example_1/" -*-
-     Compilation started at Fri Oct 18 20:39:33
-
-     gprbuild  hello
-     using project file D:\Apps\GNAT-gpl_2019\share\gpr\_default.gpr
-     Compile
-        [Ada]          hello.adb
-     Bind
-        [gprbind]      hello.bexch
-        [Ada]          hello.ali
-     Link
-        [link]         hello.adb
-
-     Compilation finished at Fri Oct 18 20:39:34
-
-   The compilation has succeeded without errors; 'hello.exe' now exists
-in the same directory as 'hello.adb'.
-
-   Now invoke 'Ada | Build | Run'.  The '*compilation*' buffer is
-displayed, containing
-
-     -*- mode: compilation; default-directory: 
"c:/Projects/org.emacs.ada-mode.stephe-1/test/Example_1/" -*-
-     Compilation started at Fri Oct 18 20:41:53
-
-     ./hello
-     Hello from hello.adb
-
-     Compilation finished at Fri Oct 18 20:41:53
-
-   That completes the first part of this example.
-
-   Now we will compile a multi-file project.  Open the file
-'hello_2.adb', invoke 'Ada | Build | Set main and Build'.  This finds an
-error in 'hello_pkg.adb':
-
-     hello_pkg.adb:2:08: keyword "body" expected here [see file name]
-
-   This demonstrates that gprbuild finds the files needed by the main
-program.  However, it cannot find files in a different directory, unless
-you use a GNAT project file to specify the other directories; *note Set
-source search path::.
-
-   Invoke 'Ada | Build | Show main'; this displays 'Ada mode main:
-hello_2'.
-
-   Move to the error with 'C-x `', and fix the error by adding 'body':
-
-     package body Hello_Pkg is
-
-   Now, while still in 'hello_pkg.adb', invoke 'Ada | Build | Build'.
-gprbuild successfully builds 'hello_2'.  This demonstrates that Emacs
-has remembered the main file, in the project variable 'main', and used
-it for the Build command.
-
-   Finally, again while in 'hello_pkg.adb', invoke 'Ada | Build | Run'.
-The '*compilation*' buffer displays 'Hello from hello_pkg.adb'.
-
-   One final point.  If you switch back to buffer 'hello.adb', and
-invoke 'Ada | Build | Run', 'hello_2.exe' will be run.  That is because
-'main' is still set to 'hello_2', as you can see when you invoke 'Ada |
-Build | Show main'.
-
-   There are two ways to change 'main':
-
-  1. Invoke 'Ada | Build | Set main and Build', which sets 'main' to the
-     current file.
-
-  2. Invoke 'Ada | Build | Set Project ...', and select a project file
-     that specifies 'main'.
-
-
-File: ada-mode.info,  Node: Set compiler options,  Next: Set source search 
path,  Prev: No project files,  Up: Compiling Examples
-
-4.2.2 Set compiler options
---------------------------
-
-This example illustrates using a gnat project file to set a compiler
-option.
-
-   If you have files from 'Example_1' open in Emacs, you should close
-them so you don't get confused.  Use menu 'File | Close (current
-buffer)'.
-
-   In directory 'Example_2', create these files:
-
-   'hello.adb':
-
-     with Ada.Text_Io;
-     procedure Hello
-     is begin
-        Put_Line("Hello from hello.adb");
-     end Hello;
-
-   This is the same as 'hello.adb' from 'Example_1'.  It has two errors;
-missing "use Ada.Text_Io;", and no space between 'Put_Line' and its
-argument list.
-
-   'hello.gpr':
-
-     project Hello is
-        package Compiler is
-           for Default_Switches ("Ada") use ("-gnatyt");
-        end Compiler;
-     end Hello;
-
-   This tells the GNAT compiler to check for token spacing; in
-particular, there must be a space preceding a parenthesis.
-
-   In buffer 'hello.adb', invoke 'Ada | Build | Set main and Build'.
-This finds the project file 'hello.gpr', uses it to set the compiler
-options, and builds the project.  You should get a '*compilation*'
-buffer containing something like (the directory paths will be
-different):
-
-     gprbuild -Phello.gpr hello
-     Compile
-        [Ada]          hello.adb
-     hello.adb:4:04: "Put_Line" is not visible
-     hello.adb:4:04: non-visible declaration at a-textio.ads:508
-     hello.adb:4:04: non-visible declaration at a-textio.ads:498
-     hello.adb:4:12: (style) space required
-     gprbuild: *** compilation phase failed
-
-   Compare this to the compiler output in *note No project files::; the
-compiler-provided default gpr file has been replaced by 'hello.gpr', and
-an additional error is reported in 'hello.adb' on line 4.  This shows
-that 'hello.gpr' is being used to set the compiler options.
-
-   Use 'C-x`', 'C-c M-`' to fix the errors, then 'Ada | Build | Build'
-and 'Ada | Build | Run' to build and run.
-
-
-File: ada-mode.info,  Node: Set source search path,  Next: Use wisi project 
file,  Prev: Set compiler options,  Up: Compiling Examples
-
-4.2.3 Set source search path
-----------------------------
-
-In this example, we show how to deal with files in more than one
-directory, setting the source search path in the gpr file.
-
-   Create the directory 'Example_3', containing:
-
-   'hello_pkg.ads':
-
-     package Hello_Pkg is
-        procedure Say_Hello;
-     end Hello_Pkg;
-
-   'hello_pkg.adb':
-
-     with Ada.Text_Io;
-     package Hello_Pkg is
-        procedure Say_Hello
-        is begin
-           Ada.Text_Io.Put_Line ("Hello from hello_pkg.adb");
-        end Say_Hello;
-     end Hello_Pkg;
-
-   These are the same files from example 1; 'hello_pkg.adb' has an error
-on line 2.
-
-   'other.gpr':
-
-     project Other is
-        for Source_Dirs use (".", "Other");
-     end Other;
-
-   In addition, create a directory 'Example_3/Other', containing this
-file:
-
-   'Other/hello_3.adb':
-
-     with Hello_Pkg;
-     with Ada.Text_Io; use Ada.Text_Io;
-     procedure Hello_3
-     is begin
-        Hello_Pkg.Say_Hello;
-        Put_Line ("From hello_3");
-     end Hello_3;
-
-   There are no errors in this file.
-
-   In buffer 'hello_3.adb', invoke 'Ada | Project files | Find and
-select project...', and select 'Example_3/other.gpr'.  This tells Emacs
-Ada mode to stop using the project file from 'Example_2', and use the
-one for 'Example_3'.  Also note that since this project file is not
-named 'hello_3.gpr', it would not be found by default.
-
-   Then, again in 'hello_3.adb', invoke 'Ada | Set main and Build'.  You
-should get a '*compilation*' buffer containing something like (the
-directory paths will be different):
-
-     gprbuild -Pother.gpr hello_3
-     Compile
-        [Ada]          hello_3.adb
-        [Ada]          hello_pkg.adb
-     hello_pkg.adb:2:08: keyword "body" expected here [see file name]
-     gprbuild: "C:\Examples\Example_3\hello_pkg.adb" compilation error
-
-   Move to the error with 'C-x `'.  Ada mode searches the list of
-directories given by 'Source_Dirs' for the file mentioned in the
-compiler error message.
-
-   Use 'C-x`', 'C-c M-`' to fix the errors, then 'Ada | Build | Build'
-and 'Ada | Build | Run' to build and run.
-
-
-File: ada-mode.info,  Node: Use wisi project file,  Next: Use multiple GNAT 
project files,  Prev: Set source search path,  Up: Compiling Examples
-
-4.2.4 Use wisi project file
----------------------------
-
-In this example, we show how to use a wisi project file to set some
-options that cannot be set in a gpr project file.  In addition, we
-change a setting so you are prompted for a project file, rather than
-using a default one.
-
-   Change the setting:
-
-     M-x set-variable ada-build-prompt-prj search-prompt
-
-   Create the directory 'Example_4', containing:
-
-   'hello_pkg.ads':
-
-     package Hello_Pkg is
-        procedure Say_Hello;
-     end Hello_Pkg;
-
-   'hello_pkg.adb':
-
-     with Ada.Text_Io;
-     package body Hello_Pkg is
-        procedure Say_Hello
-        is begin
-           Put_Line ("Hello from hello_pkg.adb");
-        end Say_Hello;
-     end Hello_Pkg;
-
-   These two files are the similar to files from example 1;
-'hello_pkg.adb' has an error on line 5 (missing "Ada.Text_IO.").
-
-   'example_4.prj':
-
-     -- Wisi project file
-
-     gpr_project_path=More
-
-     gpr_file=example_4.gpr
-
-     casing=example_4.casing
-
-   'example_4.prj' is a wisi project file; it specifies the
-'gpr_project_path', telling 'gprbuild' where to search for gpr files,
-and specifies the gpr file to use.  Finally it specifies a casing
-exception file:
-
-   'example_4.casing':
-
-     Text_IO
-
-   The default auto casing rules in ada-mode state that the Ada package
-"Ada.Text_IO" should be capitalized as "Ada.Text_Io", which does not
-match the Ada Reference Manual.  'example_4.casing' specifies that
-instead "Text_IO" should be capitalized as shown.
-
-   You can create a casing exception by editing the file directly, or
-via the 'Ada | Casing' menu.
-
-   'gpr_project_path' and 'casing' are list variables; each occurence in
-a wisi project file adds an entry to the list.
-
-   In addition, create a directory 'Example_4/More', containing these
-files:
-
-   'more/hello_4.adb':
-
-     with Hello_Pkg;
-     with Ada.Text_Io; use Ada.Text_Io;
-     procedure Hello_4
-     is begin
-        Hello_Pkg.Say_Hello;
-        Put_Line ("From hello_4");
-     end Hello_4;
-
-   There are no errors in this file, except for the casing in
-"Ada.Text_Io".
-
-   'More/example_4.gpr':
-
-     project Example_4 is
-        for Source_Dirs use (".", "..");
-
-        package Compiler is
-           for Default_Switches ("Ada") use ("-gnatyknpr");
-        end Compiler;
-     end Example_4;
-
-   The compiler switch checks all casing; we will get errors for
-"Ada.Text_Io".
-
-   Then, in 'hello_4.adb', invoke 'Ada | Set main and Build'.  ada-mode
-looks for a project file 'hello_4.prj' or 'hello_4.gpr'; since neither
-is found, you are prompted to find a project file.  Select
-'Example_4/example_4.prj'; that is parsed and selected, and the build
-continues.
-
-   You should get a '*compilation*' buffer containing something like
-(the directory paths will be different):
-
-     gprbuild -Pexample_4.gpr hello_4
-     Compile
-        [Ada]          hello_pkg.adb
-     hello_pkg.adb:1:16: (style) bad casing of "Text_IO" declared at 
a-textio.ads:57
-     hello_pkg.adb:5:07: "Put_Line" is not visible
-     hello_pkg.adb:5:07: non-visible declaration at a-textio.ads:508
-     hello_pkg.adb:5:07: non-visible declaration at a-textio.ads:498
-     gprbuild: *** compilation phase failed
-
-   When you fix the errors, note that 'C-c M-`' inserts the correct case
-for "Ada.Text_IO", and corrects the case where it is incorrect.  The
-case is also corrected as you type; you can type "ada.text_io."  and the
-case will be corrected when you type each "."  or "_".
-
-
-File: ada-mode.info,  Node: Use multiple GNAT project files,  Next: Use a 
Makefile,  Prev: Use wisi project file,  Up: Compiling Examples
-
-4.2.5 Use multiple GNAT project files
--------------------------------------
-
-In this example, we show how to use multiple GNAT project files,
-specifying the GNAT project search path in an Ada mode project file.
-This also requires explicitly setting 'project-find-functions'.
-
-   If you haven't already, create the directory 'Example_4' as specified
-in *note Use wisi project file::.  If you've already created it and run
-the tutorial, restore the compilation error in hello_pkg.adb; delete
-'Ada.Text_IO.' in front of 'Put_Line'.
-
-   Create the directory 'Example_5', containing:
-
-   'hello_5.adb':
-
-     with Hello_Pkg;
-     with Ada.Text_IO; use Ada.Text_IO;
-     procedure Hello_5
-     is begin
-        Hello_Pkg.Say_Hello;
-        Put_Line ("From hello_5");
-     end Hello_5;
-
-   There are no errors in this file.
-
-   'hello_5.prj':
-
-     gpr_project_path=../Example_4/More
-     gpr_file=hello_5.gpr
-
-     casing=../Example_4/example_4.casing
-
-   'hello_5.gpr':
-
-     with "example_4";
-     project Hello_5 is
-        for Source_Dirs use (".");
-        package Compiler is
-           for Default_Switches ("Ada") use ("-g", "-gnatyknprt");
-        end Compiler;
-     end Hello_5;
-
-   In buffer 'hello_5.adb', invoke 'Ada | Project | Find and select
-project...', and select 'Example_5/hello_5.prj'.  This would also be
-found by default if no previous project file had been selected.  Note
-that if 'example_5.gpr' were named 'hello_5.gpr', the project file
-search would find more than one match, causing an error.
-
-   Then, again in 'hello_5.adb', invoke 'Ada | Build | Set main and
-Build'.  You should get a '*compilation*' buffer containing something
-like (the directory paths will be different):
-
-     -*- mode: compilation; default-directory: 
"c:/Projects/org.emacs.ada-mode/test/Example_5/" -*-
-     Compilation started at Mon Oct 21 11:32:05
-
-     gprbuild -Pexample_5.gpr hello_5
-     Compile
-        [Ada]          hello_5.adb
-        [Ada]          hello_pkg.adb
-     hello_pkg.adb:5:07: "Put_Line" is not visible
-     hello_pkg.adb:5:07: non-visible declaration at a-textio.ads:508
-     hello_pkg.adb:5:07: non-visible declaration at a-textio.ads:498
-     gprbuild: *** compilation phase failed
-
-   Now type 'C-x `'; 'Example_4/hello_pkg.adb' is shown, demonstrating
-that 'hello_5.gpr' and 'hello_4.gpr' are being used to set the
-compilation search path.
-
-   Now, in buffer 'hello_pkg.adb' invoke the menu 'Ada | Navigate | Find
-file in project' (which calls 'ada-find-file') to get back to the
-'hello_5.adb' buffer.  If you have not selected any project files
-previously in this emacs session, this gives an unexpected prompt for a
-"project directory".  Kill that with 'C-g'.  Otherwise, enter 'hel <tab>
-5 <tab>'; it will say "no match".
-
-   The problem here the way Emacs projects work.  To find the current
-project, the functions in 'project-find-functions' are run; one should
-return a project.  The ada-mode build functions add
-'wisi-prj-find-dominating-cached' to 'project-find-functions'; that
-looks in the current directory tree for a project file with the same
-name as one that was previously selected.
-
-   If 'Example_5' is the only project in the current emacs session,
-'wisi-prj-find-dominating-cached' finds no project file (because
-'Example_4' is not a child directory of 'Example_5'), so the default
-strategy of "ask the user" is used, giving the prompt for a directory.
-
-   If 'Example_4' is also a project in the current emacs session,
-'wisi-prj-find-dominating-cached' finds that; since it does not contain
-'hello_5.adb', 'ada-find-file' cannot find it.
-
-   Any time you have a main project that depends on other projects that
-are not in the same directory tree, you will have this problem.
-
-   The fix is to use a different function in 'project-find-functions';
-'wisi-prj-current-cached'.  This uses a global variable to indicate what
-the current project is.  wisi provides four different functions for
-'project-find-functions'.  *Note Selecting projects: (wisi)Selecting
-projects.
-
-   To change 'project-find-functions', execute:
-
-     M-: (remove-hook 'project-find-functions 'wisi-prj-find-dominating-cached)
-     M-: (add-hook 'project-find-functions 'wisi-prj-current-cached)
-
-   Normally, you must set 'project-find-functions' in your '~/.emacs',
-using the 'add-hook' function.  The ada-mode Build menu functions set it
-for you to make things simpler for novices, but they do not change it if
-you have put one of the wisi functions on it.
-
-   Now set the current project; invoke 'Ada | Project | Find and select
-project...', and select 'Example_5/hello_5.prj'.  Then in
-'hello_pkg.adb', invoke 'Ada | Navigate | Find file in project'; now we
-can find 'hello_5.adb'.
-
-
-File: ada-mode.info,  Node: Use a Makefile,  Prev: Use multiple GNAT project 
files,  Up: Compiling Examples
-
-4.2.6 Use a Makefile
---------------------
-
-In this example, we show how to use a Makefile to build an Ada project
-with GNAT, run the result, and clean the build directories.
-
-   Create the directories 'Example_4, Example_5' as specified in *note
-Use wisi project file::, *note Use multiple GNAT project files::.
-
-   In 'Example_5', add the file:
-
-   'Makefile':
-
-     # build and run hello_5 project
-
-     all : build run
-
-     .PHONY : force
-
-     build : force
-             gprbuild -PExample_5.gpr hello_5
-
-     run :
-             ./hello_5
-
-     clean :
-             gnatclean -r -PExample_5
-
-     # Local Variables:
-     # eval:(unless (wisi-prj-find-function-set-p)(add-hook 
'project-find-functions 'wisi-prj-current-cached))
-     # eval:(wisi-prj-dtrt-parse-file "hello_5.prj" (ada-prj-default "hello_5 
# main") "Makefile")
-     # End:
-
-   Tell Emacs to allow 'eval' in 'Local Variables':
-     M-: (setq enable-local-eval t)
-
-   Close and re-open 'Makefile'; the 'Local Variables' section sets the
-project file to 'hello_5.prj' when the 'Makefile' is opened.
-
-   If you have set 'project-find-functions' in your '~/.emacs', you can
-leave out the first 'eval' line.  Note that 'wisi-prj-dtrt-parse-file'
-does the right thing depending on which wisi function is in
-'project-find-functions'.
-
-   In 'Makefile', invoke 'Tools | Compile...', and accept the default
-make command.  This runs the 'all' target, which builds 'hello_5' and
-runs it (you may have to fix source errors first, depending on how fresh
-the Example_4 directory is).
-
-
-File: ada-mode.info,  Node: Compiler errors,  Prev: Compiling Examples,  Up: 
Compiling Executing
-
-4.3 Compiler errors
-===================
-
-The 'Check syntax' and 'Build' commands, or running 'make', place
-compilation errors in a separate buffer named '*compilation*'.
-
-   Each line in this buffer will become active: you can simply click on
-it with the middle button of the mouse, or move point to it and press
-<RET>.  Emacs will then display the relevant source file and put point
-on the line and column where the error was found.
-
-   You can also press the 'C-x `' key ('next-error'), and Emacs will
-jump to the first error.  If you press that key again, it will move you
-to the second error, and so on.
-
-   Some error messages also include references to other files.  These
-references are accessed via 'C-c `'.
-
-
-File: ada-mode.info,  Node: Project files,  Next: Moving Through Ada Code,  
Prev: Compiling Executing,  Up: Top
-
-5 Project files
-***************
-
-Ada mode uses wisi project files; *note Project files: (wisi)wisi.
-
-   A wisi project file specifies what directories hold sources for your
-project, and allows you to customize the compilation commands and other
-things on a per-project basis.
-
-   The default file extension for wisi project files is '*.adp' or
-'*.prj'.  You can use a different extension by adding it to
-'ada-prj-file-extensions', and a different syntax by adding a parser
-function to 'ada-prj-parser-alist'.
-
-   Note that wisi project files are different than GNAT compiler project
-files ('*.gpr').  However, Emacs Ada mode can use a GNAT project file to
-specify the project directories.  If no other customization is needed, a
-GNAT project file can be used without a wisi project file.
-
-   If no wisi project file is specified, some Ada mode functions are not
-available.
-
-* Menu:
-
-* Project file overview::
-* Project file variables::
-
-
-File: ada-mode.info,  Node: Project file overview,  Next: Project file 
variables,  Prev: Project files,  Up: Project files
-
-5.1 Project file overview
-=========================
-
-The current project file is shown by the menu command <Ada | Project
-Files | Show project>.
-
-   To set the project file, use the menu command <Ada | Project Files |
-Find and select Project ...>, or one of the elisp functions described in
-*note Selecting Projects: (wisi)wisi.
-
-   The project file may also be a GNAT project file (with file extension
-is '.gpr').
-
-
-File: ada-mode.info,  Node: Project file variables,  Prev: Project file 
overview,  Up: Project files
-
-5.2 Project file variables
-==========================
-
-Some project variables have defaults that can be changed by setting
-elisp variables; the table below identifies the elisp variable for each
-project variable.  Elisp variables corresponding to project variables
-that are lists are elisp lists.
-
-   wisi defines some project variables, Ada mode defines some, others
-are defined by the compiler and the cross reference tool.
-
-   Here is the list of variables valid defined by wisi and Ada mode.  In
-the default values, the current directory '"."' is the directory
-containing the project file.
-
-'ada_compiler' [default: 'ada-compiler, gnat']
-     Ada compiler for this project.
-
-     Setting this in the project file reinitializes all options for the
-     xref tool, so it must occur before any compiler-specific project
-     variable.
-
-'casing'
-     List of files containing casing exceptions.  *Note Automatic
-     casing: Automatic casing.
-
-'gnat-stub-args'
-     List of strings passed to 'gnat stub' when it is run.
-
-'gnat-stub-cargs'
-     List of strings passed to 'gnat stub' after '-cargs'.
-
-'obj_dir'
-     A list of directories to search for object and cross-reference
-     files.  Only needed if you are not using GPR files.
-
-'src_dir'
-     A list of directories to search for source files.  Added to the
-     source directories from a gpr file (if any).
-
-'xref_tool' [default: 'ada-xref-tool']
-     Cross reference tool for this project.
-
-     Setting this in the project file reinitializes all options for the
-     xref tool, so it must occur in the project file before any other
-     settings that affect the xref tool.
-
-     If 'gpr_query' is found in 'PATH', 'ada-xref-tool' defaults to
-     ''gpr_query'.  Otherwise, it defaults to ''gnat', which uses 'gnat
-     find'.
-
-   The following project file variables are defined by the GNAT
-compiler:
-
-'ada_project_path' [default: ]
-     Same as 'gpr_project_path'; see below.
-
-'gpr_file' [default: ]
-     The GNAT project file for the project.
-
-     If set, the source and project directories specified in the GNAT
-     project file are appended to 'src_dir' and 'gpr_project_path'.
-     This allows specifying Ada source directories with a GNAT project
-     file, and other source directories with the Emacs project file.
-
-'gpr_project_path' [default: ]
-     A list of directories to search for GNAT project files.  The list
-     is passed to tools via the 'GPR_PROJECT_PATH' process environment
-     variable in the process used to run the 'gnat' and 'gpr_query'
-     tools.
-
-     If not set, 'GPR_PROJECT_PATH' in the child process is inherited
-     from the Emacs process.
-
-'runtime' [default: ]
-     If set, the name of the runtime, used as the value of the 'RTS'
-     command line option for tools.
-
-'target' [default: 'nil']
-     If set, the name of the cross-compilation target, prepended to the
-     'gnat' executable name.
-
-   The following project variables are used by the 'Ada | Build' menu
-commands:
-
-'check_cmd' [default: 'ada-build-check-cmd']
-     Compiler commannd to syntax check a single file.
-
-'main' [default: basename of current file name]
-     File name of executable to build.
-
-'make_cmd' [default: 'ada-build-make-cmd']
-     Command to compile and link the application.
-
-'run_cmd' [default: 'ada-build-run-cmd']
-     Command to run the application.
-
-
-File: ada-mode.info,  Node: Moving Through Ada Code,  Next: Identifier 
completion,  Prev: Project files,  Up: Top
-
-6 Moving Through Ada Code
-*************************
-
-There are several commands to navigate through Ada code.  All these
-functions are available through the Ada menu and keybindings.
-
-   Some of these commands rely on cross reference facilities provided by
-the compiler; the standard Emacs Ada mode only supports the GNAT
-compiler, but others can be added (*note Other cross-reference::).
-
-'C-c C-d'
-     Move from any use of an identifier to its declaration, for from a
-     declaration to its body (if there is one).
-
-     This runs 'xref-find-definitions', which has a default global
-     binding of <M-.>
-
-'C-c M-d'
-     Move from a child type declaration to the parent type declaration;
-     display a list of references if there is more than one parent.
-
-'C-c C-n'
-     Move to the next keyword in the current statement.
-
-     For example, if point is on 'if', move to 'then'.
-
-     This runs 'forward-sexp', which has a default global binding of
-     'C-M-f'.
-
-'C-c C-p'
-     Move to the previous keyword in the current statement.
-
-     For example, if point is on 'then', move to 'if'.
-
-     This runs 'backward-sexp', which has a default global binding of
-     'C-M-b'.
-
-'C-c C-o'
-     Switch between corresponding spec and body.  There are several
-     special cases:
-
-        * If the region is active, it is assumed to contain an Ada
-          package name; position point on the corresponding package
-          declaration.
-
-        * If point is in the start line of a top level child package
-          declaration (but not package body), or a child subprogram spec
-          or body, position point on the corresponding parent package
-          declaration.
-
-        * If point is in the start line of a top level separate body,
-          position point on the corresponding separate stub declaration.
-
-        * If point is in a subprogram declaration or body, position
-          point on the corresponding body or declaration in the other
-          file.
-
-        * If point is on a 'with' clause, position point on the
-          corresponding declaration.
-
-'C-c C-r'
-     Show all references to the identifier surrounding point.  Use 'C-x
-     `' ('next-error') to visit each reference (as for compilation
-     errors).
-
-'C-c C-x'
-     Show all declarations that override the primitive procedure at
-     point.  Use 'C-x `' ('next-error') to visit each reference (as for
-     compilation errors).
-
-'C-c M-x'
-     Show the declaration that the declaration at point overrides.
-
-'C-u SPACE'
-     Jump back to the previous location.
-
-'Ada | Misc | Refresh cross reference cache'
-     Cross reference information is loaded from the compiler output when
-     the first cross reference command is issued (or when the project
-     file is parsed, if useing cached project files).  If the code is
-     recompiled after that, the cross reference information is reloaded
-     by invoking this menu command.
-
-
-File: ada-mode.info,  Node: Identifier completion,  Next: Indentation,  Prev: 
Moving Through Ada Code,  Up: Top
-
-7 Identifier completion
-***********************
-
-Emacs provides two general ways of completing identifiers while typing:
-'M-/' (bound to 'dabbrev-expand'), and 'M-tab' (bound to
-'complete-symbol'.
-
-   This is an easy way to type faster: you just have to type the first
-few letters of an identifier, and then loop through all the possible
-completions.
-
-   'complete-symbol' completes on all the symbols defined in the current
-project, as returned by 'gpr_query'.  For a procedure declared as:
-
-     package Package_Name is
-        procedure Procedure_Name (args);
-
-   the completion string looks like:
-
-     Procedure_Name(args)<Package_Name<line>>
-
-   so for example you can type "iterate<wisitok" to complete on
-WisiToken iterators, or "add(Data" to complete on all subprograms whose
-name starts with "add" and whose first argument starts with "Data".
-
-   If you have bound 'hippie-expand', that also uses 'dabbrev-expand'.
-
-   'dabbrev-expand' completes on all words in all open Ada files for
-possible completions, using simple Emacs syntax-class parsing.
-
-   For instance, if the words 'my_identifier' and 'my_subprogram' are
-the only words starting with 'my' in any of the open Ada files, then you
-will have this scenario:
-
-     You type:  myM-/
-     Emacs inserts:  'my_identifier'
-     If you press M-/ once again, Emacs replaces 'my_identifier' with
-     'my_subprogram'.
-     Pressing M-/ once more will bring you back to 'my_identifier'.
-
-   This is a very fast way to do completion, and the casing of words
-will also be respected.
-
-   Another place where identifier completion is used in the
-'xref-find-definitions' (<C-u M-.>) and 'wisi-goto-spec/body' (<C-u C-c
-C-d>) commands; these complete on all symbols in the project (provided
-by 'gpr_query').  With two 'C-u', the completion is limited to symbols
-defined in the current file.
-
-   Note that in Ada, for subprograms that have a specification in the
-'.ads' file and a body in the '.adb' file, <C-u C-u C-c C-d> returns the
-spec location only, so it will not find the function if invoked in the
-'.adb' file.
-
-
-File: ada-mode.info,  Node: Indentation,  Next: Statement skeletons,  Prev: 
Identifier completion,  Up: Top
-
-8 Indentation
-*************
-
-Ada mode comes with a full set of rules for automatic indentation.  You
-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.
-
-'ada-indent-comment-col-0' (default value: nil)
-     If non-nil, comments currently starting in column 0 are left in
-     column 0.  Otherwise, they are indented with previous comments or
-     code.
-
-'ada-indent-comment-gnat' (default value: nil)
-     If non-nil, comments are indented to meet the GNAT style check; one
-     of:
-        * multiple of 'ada-indent'
-        * next non-blank line
-        * previous non-blank line
-
-     Otherwise, they are indented with previous comments or code.
-
-'ada-indent-label' (default value: -3)
-     Number of columns to indent a label.
-
-'ada-indent-record-rel-type' (default value: 3)
-     Indentation for 'record' relative to 'type' or 'use'.
-
-'ada-indent-renames' (default value: 2)
-     Indentation for 'renames' relative to the matching subprogram
-     keyword.
-
-     If the subprogram has parameters then if 'ada-indent-renames' is
-     zero or less the indentation is abs 'ada-indent-renames' relative
-     to the open parenthesis; if 'ada-indent-renames' is one or more the
-     indentation is relative to the line containing the keyword.
-
-     If the subprogram has no parameters then 'ada-indent-broken' the
-     indentation is relative to the indentation of the line containing
-     the keyword.
-
-'ada-indent-return' (default value: 0)
-     Indentation for 'return' relative to the matching 'function'.
-
-     If the function has parameters, then if 'ada-indent-return' is zero
-     or less the indentation is abs 'ada-indent-return' relative to the
-     open parenthesis; if 'ada-indent-return' is one or more,
-     indentation is relative to line containing 'function'.
-
-     If the function has no parameters, 'ada-indent-broken' is used
-     relative to line containing 'function'.
-
-'ada-indent-use' (default value: ada-indent-broken)
-     Indentation for the lines in a 'use' statement.
-
-'ada-indent-when' (default value: 3)
-     Indentation for 'when' relative to 'exception', 'case', or 'or' in
-     'select'.
-
-'ada-indent-with' (default value: ada-indent-broken)
-     Indentation for the lines in a 'with' context clause.
-
-   The indentation variables are buffer local; the global value may be
-overridden in an elisp function on 'ada-mode-hook', or in a file local
-variable section.
-
-   The following keys indent portions of the text:
-
-'RET'
-     Insert and indent a new line.
-
-'TAB'
-     Indent the current line, or the current region.
-
-'C-c TAB'
-     Indent the current statement or declaration.
-
-'C-c S-TAB'
-     Indent the statement or declaration containing the current
-     statement or declaration.
-
-   The indentation algorithm relies on a grammar parser to identify the
-syntactic role for keywords and other words in the code.
-
-   In rare cases, the parser gets confused; it can be reset by invoking
-menu <Ada | Misc | Restart parser>.  Please report such cases as a bug.
-
-
-File: ada-mode.info,  Node: Statement skeletons,  Next: Aligning code,  Prev: 
Indentation,  Up: Top
-
-9 Statement skeletons
-*********************
-
-'C-c C-e' expands the previous one or two words into a statement
-skeleton.  For example, 'i f C-c C-e' expands to:
-
-     if  then
-     elsif  then
-     else
-     end if;
-
-   For named statements (packages, loops, etc), the name is taken from
-the word before point, and the name of the statement from the word
-before that.
-
-   Some expansions prompt for more information, such as whether a spec
-or body is desired.  For example, 'package A_Package C-c C-e' first
-prompts for "body" or "spec".  If "spec" is selected, the following code
-is inserted:
-
-     package A_Package is
-     private
-     end A_Package;
-
-   Named blocks work similarly: 'declare A_Block C-c C-e' expands
-(without prompting) to:
-
-     A_Block:
-        declare
-        begin
-        exception
-        end A_Block;
-
-   Note that the order of the keyword 'declare' and the name 'A_Block'
-are reversed in the expansion; this may take some getting used to.
-Alternately, if no name is present in the buffer, you are prompted for a
-name: 'declare C-c C-e' first prompts for a name, then expands to the
-above.
-
-   The variable 'ada-skel-initial-string' defines what to insert in a
-newly created empty buffer.  It defaults to '{header}', which is a
-placeholder defined by 'ada-skel-header', which inserts a typical header
-with a copyright license (choice of GPL or restricted).  Users will
-typically want to override the definition of 'ada-skel-initial-string'
-and/or 'ada-skel-header', or provide more choices of copyright license.
-
-
-File: ada-mode.info,  Node: Aligning code,  Next: Automatic casing,  Prev: 
Statement skeletons,  Up: Top
-
-10 Aligning code
-****************
-
-Aligning code adds space in each line so that similar parts of
-successive lines are aligned vertically.  For example, a sequence of
-declarations:
-
-     A : Integer;
-     Another : Float := 1.0;
-     More : Integer := 2;
-
-   changes to this when aligned:
-
-     A       : Integer;
-     Another : Float   := 1.0;
-     More    : Integer := 2;
-
-   Alignment is invoked by 'C-c C-a', which aligns the sequence of
-statements surrounding point, or within the selected region.
-
-   Parameter lists are also aligned:
-
-        procedure Foo
-          (A : in Integer;
-           Another : out Float := 1.0;
-           More : in out Integer := 2);
-
-   is aligned to:
-
-        procedure Foo
-          (A       : in     Integer;
-           Another :    out Float   := 1.0;
-           More    : in out Integer := 2);
-
-
-File: ada-mode.info,  Node: Automatic casing,  Next: Comment Handling,  Prev: 
Aligning code,  Up: Top
-
-11 Automatic casing
-*******************
-
-Casing of identifiers, attributes and keywords is automatically
-performed while typing when the variable 'ada-auto-case' is non-nil (the
-default).  Every time you type a word separator, the previous word is
-automatically cased.
-
-   You can customize the automatic casing with the following variables:
-
-'ada-case-keyword'
-     Value must be one of:
-     'downcase-word'
-          Ada keywords will be lowercase.
-
-     'upcase-word'
-          Ada keywords will be uppercase.
-
-'ada-case-strict'
-     If non-nil, all identifiers are forced to 'Mixed_Case'; first
-     letter, and letter following "_" are uppercase; rest are lowercase.
-
-     If nil, the mixed case characters in identifiers are forced to
-     upper case, but the other characters are not modified.  That allows
-     typing all uppercase identifiers without defining a casing
-     exception.
-
-   You can define exceptions to these rules, in files specified by the
-'casing' project variable; *note Casing exception files: (wisi)Casing
-exception files.
-
-   There are two ways to add new items to a casing exception file: you
-can simply edit it as you would edit any text file, or you can position
-point on the word you want to add, and select menu 'Ada | Casing |
-Create full exception' or 'Ada | Casing | Create partial exception'.
-The word will be added to the current list of exceptions and to the
-file.
-
-   It is sometimes useful to have multiple exception files.  For
-example, one could be the standard Ada acronyms, the second some company
-specific exceptions, and the last one some project specific exceptions.
-When you create a new exception, you are prompted for the file to save
-it in.
-
-   Other keys and menu entries are defined:
-
-'C-c C-w'
-     Adjust case of the word at point.  With prefix arg, adjust case
-     even if in a comment or string.  Normally, comments and strings are
-     not affected by case adjust.
-
-'Ada | Casing | Adjust case region'
-     Adjust case in the active region.
-
-'Ada | Casing | Adjust case buffer'
-     Adjust case in the active buffer.
-
-
-File: ada-mode.info,  Node: Comment Handling,  Next: Key summary,  Prev: 
Automatic casing,  Up: Top
-
-12 Comment Handling
-*******************
-
-By default, comment lines get indented like Ada code.  There are a few
-additional functions to handle comments:
-
-'M-;'
-     If the region is active, comment or uncomment it.
-
-     If the current line is empty, start a comment.
-
-     Otherwise, add a comment at the end of the line, in a column given
-     by 'comment-column'.
-
-'M-q'
-     Fill the current comment paragraph.
-
-
-File: ada-mode.info,  Node: Key summary,  Next: Developer overview,  Prev: 
Comment Handling,  Up: Top
-
-13 Key summary
-**************
-
-This table summarizes the keys described in this manual.  Other keys are
-bound by Ada mode; see <C-h b> for a complete list.  The Ada menu also
-displays keys bound to menu operations.
-
-'M-/'
-     *Note Identifier completion::.  Complete the word before point;
-     repeat to cycle thru possible completions.
-
-'M-;'
-     *Note Comment Handling::.  If the region is active, comment or
-     uncomment it.
-
-'M-q'
-     *Note Comment Handling::.  Fill the current comment paragraph.
-
-'RET'
-     *Note Indentation::.  Insert and indent a new line.
-
-'TAB'
-     *Note Indentation::.  Indent the current line, or the current
-     region.
-
-'C-c TAB'
-     *Note Indentation::.  Indent the current statement or declaration.
-
-'C-c S-TAB'
-     *Note Indentation::.  Indent the containing statement or
-     declaration.
-
-'C-c `'
-     *Note Compiler errors::.  Move to the location of the secondary
-     reference in the current compilation error.
-
-'C-c C-a'
-     *Note Aligning code::.  Align code.
-
-'C-c C-c'
-     *Note Compile commands::.  Build the current main program.
-
-'C-c C-d'
-     *Note Moving Through Ada Code::.  Move from any use of an
-     identifier to its declaration, for from a declaration to its body.
-
-'C-c M-d'
-     *Note Moving Through Ada Code::.  Move from a child type
-     declaration to the parent type declaration.
-
-'C-c C-e'
-     *Note Statement skeletons::.  Expand previous one or two words into
-     a statement or declaration skeleton.
-
-'C-c C-c'
-     *Note Compile commands::.  Build the current file.
-
-'C-c C-n'
-     *Note Moving Through Ada Code::.  Move to the next keyword in the
-     current statement.
-
-'C-c C-o'
-     *Note Moving Through Ada Code::.  Switch between corresponding spec
-     and body, or find other spec.
-
-'C-c C-p'
-     *Note Moving Through Ada Code::.  Move to the previous keyword in
-     the current statement.
-
-'C-c C-r'
-     *Note Moving Through Ada Code::.  Show all references to the
-     identifier surrounding point.
-
-'C-c C-w'
-     *Note Automatic casing::.  Adjust case of the word at point.  With
-     prefix arg, adjust case even if in comment or string.
-
-'C-c C-x'
-     *Note Moving Through Ada Code::.  Show all declarations that
-     override the primitive procedure at point.
-
-'C-c C-y'
-     *Note Automatic casing::.  Create case exception.
-
-'C-c `'
-     *Note Compiler errors::.  Move to the location of the next
-     secondary compilation error.
-
-'C-x `'
-     *Note Compiler errors::.  Move to the location of the next
-     compilation error or show result.
-
-'M-q'
-     *Note Comment Handling::.  Fill the current comment paragraph.
-
-
-File: ada-mode.info,  Node: Developer overview,  Next: GNU Free Documentation 
License,  Prev: Key summary,  Up: Top
-
-14 Developer overview
-*********************
-
-If you'd like to contribute to Ada mode, or just understand the sources,
-here's an overview.
-
-* Menu:
-
-* Directory structure::
-* ELPA::
-* Savannah::
-* ada-france::
-
-
-File: ada-mode.info,  Node: Directory structure,  Next: ELPA,  Up: Developer 
overview
-
-14.1 Directory structure
-========================
-
-'org.emacs.ada-mode'
-     Main source.
-
-     File extensions:
-     '*.el'
-          Elisp files; main code.
-
-     '*.elc'
-          Byte-compiled elisp files, not in the distribution.  Generated
-          by the Makefile target 'byte-compile', or by the Emacs package
-          installer.
-
-     '*.ad?'
-          Ada code for the external process parser, some generated by
-          the WisiToken tool 'wisitoken-bnf-generate.exe'.  The
-          generated code is in the tarball distribution and the monotone
-          repository so users and Elisp developers don't have to install
-          WisiToken.
-
-     '*.parse_table'
-          Diagnostic output from 'wisitoken-bnf-generate.exe', useful
-          for tracing parses while debugging a grammar issue.  Not in
-          the tarball distribution or the monotone repository.
-
-     '*.wy'
-          Grammar files, specifying the language to be parsed.  The
-          syntax for these grammar files is similar to that for bison
-          and wisent, but not the same; see the WisiToken documentation
-          for more info.
-
-     '*.texi'
-          Texinfo source for the user guides.
-
-     '*.html'
-          Generated user guide in HTML format.
-
-     '*.info'
-          Generated user guide in Emacs info format.
-
-'build'
-     Makefile for building the external process executable, gpr-query,
-     and the user guides; for running tests; and for publishing to the
-     web page or Gnu ELPA. The main targets are:
-
-     'elisp'
-          Builds ada-mode in place, runs all tests.
-
-     'update-elisp'
-          Builds ada-mode in place.
-
-     'install'
-          Installs executables in the GNAT executable directory.
-
-     'pub'
-          Builds the ELPA packages.
-
-'test'
-     All tests for Ada mode, gpr mode, parser.
-
-     Each test is run in a separate invocation of Emacs, so it is
-     completely independent of all other tests.
-
-     The tests are driven by the elisp code in
-     'wisi-run-indent-test.el'.
-
-     In general, the Ada mode tests open the file, execute test actions,
-     re-indent, and re-captialize the entire file.  The result is diffed
-     with the original, and must match.
-
-     The test actions are defined by comments with the prefix
-     '--EMACSCMD:'; they are elisp forms that invoke Ada mode functions.
-     This is used to test navigation features and other parser effects.
-
-'test/Example_*'
-     Starting files for the examples in this user guide.
-
-'test/gpr'
-     Tests for gpr mode.
-
-'test/subdir'
-     More tests; allows testing path search features.
-
-
-File: ada-mode.info,  Node: ELPA,  Next: Savannah,  Prev: Directory structure, 
 Up: Developer overview
-
-14.2 ELPA
-=========
-
-Ada mode is published via the Gnu ELPA archive.  To test a new version
-of Ada mode, we use a local Gnu ELPA archive.  That requires fetching
-Gnu ELPA via git:
-
-     cd /Projects
-     git clone git://git.savannah.gnu.org/emacs/elpa.git
-
-   If you have an Emacs Savannah developer account, you can use:
-
-     cd /Projects
-     git clone <login>@git.savannah.gnu.org/emacs/elpa.git
-
-   'build/Makefile' contains targets for copying Ada mode source to the
-elpa workspace, and for building the elpa archive there.
-
-
-File: ada-mode.info,  Node: Savannah,  Next: ada-france,  Prev: ELPA,  Up: 
Developer overview
-
-14.3 Savannah
-=============
-
-The ada-mode web page, mailing list, and tarball download are hosted on
-savannah.non-gnu.org, project Emacs Ada mode
-(<https://savannah.nongnu.org/projects/ada-mode/>).  See the project
-admin page there for more information.
-
-
-File: ada-mode.info,  Node: ada-france,  Prev: Savannah,  Up: Developer 
overview
-
-14.4 ada-france
-===============
-
-The source code for ada-mode is maintained in a monotone repository in
-the ada-france server <mtn://www.ada-france.org>.
-
-
-File: ada-mode.info,  Node: GNU Free Documentation License,  Prev: Developer 
overview,  Up: Top
-
-Appendix A GNU Free Documentation License
-*****************************************
-
-                     Version 1.3, 3 November 2008
-
-     Copyright (C) 2000, 2001, 2002, 2007, 2008, 2009 Free Software 
Foundation, Inc.
-     <http://fsf.org/>
-
-     Everyone is permitted to copy and distribute verbatim copies
-     of this license document, but changing it is not allowed.
-
-  0. PREAMBLE
-
-     The purpose of this License is to make a manual, textbook, or other
-     functional and useful document "free" in the sense of freedom: to
-     assure everyone the effective freedom to copy and redistribute it,
-     with or without modifying it, either commercially or
-     noncommercially.  Secondarily, this License preserves for the
-     author and publisher a way to get credit for their work, while not
-     being considered responsible for modifications made by others.
-
-     This License is a kind of "copyleft", which means that derivative
-     works of the document must themselves be free in the same sense.
-     It complements the GNU General Public License, which is a copyleft
-     license designed for free software.
-
-     We have designed this License in order to use it for manuals for
-     free software, because free software needs free documentation: a
-     free program should come with manuals providing the same freedoms
-     that the software does.  But this License is not limited to
-     software manuals; it can be used for any textual work, regardless
-     of subject matter or whether it is published as a printed book.  We
-     recommend this License principally for works whose purpose is
-     instruction or reference.
-
-  1. APPLICABILITY AND DEFINITIONS
-
-     This License applies to any manual or other work, in any medium,
-     that contains a notice placed by the copyright holder saying it can
-     be distributed under the terms of this License.  Such a notice
-     grants a world-wide, royalty-free license, unlimited in duration,
-     to use that work under the conditions stated herein.  The
-     "Document", below, refers to any such manual or work.  Any member
-     of the public is a licensee, and is addressed as "you".  You accept
-     the license if you copy, modify or distribute the work in a way
-     requiring permission under copyright law.
-
-     A "Modified Version" of the Document means any work containing the
-     Document or a portion of it, either copied verbatim, or with
-     modifications and/or translated into another language.
-
-     A "Secondary Section" is a named appendix or a front-matter section
-     of the Document that deals exclusively with the relationship of the
-     publishers or authors of the Document to the Document's overall
-     subject (or to related matters) and contains nothing that could
-     fall directly within that overall subject.  (Thus, if the Document
-     is in part a textbook of mathematics, a Secondary Section may not
-     explain any mathematics.)  The relationship could be a matter of
-     historical connection with the subject or with related matters, or
-     of legal, commercial, philosophical, ethical or political position
-     regarding them.
-
-     The "Invariant Sections" are certain Secondary Sections whose
-     titles are designated, as being those of Invariant Sections, in the
-     notice that says that the Document is released under this License.
-     If a section does not fit the above definition of Secondary then it
-     is not allowed to be designated as Invariant.  The Document may
-     contain zero Invariant Sections.  If the Document does not identify
-     any Invariant Sections then there are none.
-
-     The "Cover Texts" are certain short passages of text that are
-     listed, as Front-Cover Texts or Back-Cover Texts, in the notice
-     that says that the Document is released under this License.  A
-     Front-Cover Text may be at most 5 words, and a Back-Cover Text may
-     be at most 25 words.
-
-     A "Transparent" copy of the Document means a machine-readable copy,
-     represented in a format whose specification is available to the
-     general public, that is suitable for revising the document
-     straightforwardly with generic text editors or (for images composed
-     of pixels) generic paint programs or (for drawings) some widely
-     available drawing editor, and that is suitable for input to text
-     formatters or for automatic translation to a variety of formats
-     suitable for input to text formatters.  A copy made in an otherwise
-     Transparent file format whose markup, or absence of markup, has
-     been arranged to thwart or discourage subsequent modification by
-     readers is not Transparent.  An image format is not Transparent if
-     used for any substantial amount of text.  A copy that is not
-     "Transparent" is called "Opaque".
-
-     Examples of suitable formats for Transparent copies include plain
-     ASCII without markup, Texinfo input format, LaTeX input format,
-     SGML or XML using a publicly available DTD, and standard-conforming
-     simple HTML, PostScript or PDF designed for human modification.
-     Examples of transparent image formats include PNG, XCF and JPG.
-     Opaque formats include proprietary formats that can be read and
-     edited only by proprietary word processors, SGML or XML for which
-     the DTD and/or processing tools are not generally available, and
-     the machine-generated HTML, PostScript or PDF produced by some word
-     processors for output purposes only.
-
-     The "Title Page" means, for a printed book, the title page itself,
-     plus such following pages as are needed to hold, legibly, the
-     material this License requires to appear in the title page.  For
-     works in formats which do not have any title page as such, "Title
-     Page" means the text near the most prominent appearance of the
-     work's title, preceding the beginning of the body of the text.
-
-     The "publisher" means any person or entity that distributes copies
-     of the Document to the public.
-
-     A section "Entitled XYZ" means a named subunit of the Document
-     whose title either is precisely XYZ or contains XYZ in parentheses
-     following text that translates XYZ in another language.  (Here XYZ
-     stands for a specific section name mentioned below, such as
-     "Acknowledgements", "Dedications", "Endorsements", or "History".)
-     To "Preserve the Title" of such a section when you modify the
-     Document means that it remains a section "Entitled XYZ" according
-     to this definition.
-
-     The Document may include Warranty Disclaimers next to the notice
-     which states that this License applies to the Document.  These
-     Warranty Disclaimers are considered to be included by reference in
-     this License, but only as regards disclaiming warranties: any other
-     implication that these Warranty Disclaimers may have is void and
-     has no effect on the meaning of this License.
-
-  2. VERBATIM COPYING
-
-     You may copy and distribute the Document in any medium, either
-     commercially or noncommercially, provided that this License, the
-     copyright notices, and the license notice saying this License
-     applies to the Document are reproduced in all copies, and that you
-     add no other conditions whatsoever to those of this License.  You
-     may not use technical measures to obstruct or control the reading
-     or further copying of the copies you make or distribute.  However,
-     you may accept compensation in exchange for copies.  If you
-     distribute a large enough number of copies you must also follow the
-     conditions in section 3.
-
-     You may also lend copies, under the same conditions stated above,
-     and you may publicly display copies.
-
-  3. COPYING IN QUANTITY
-
-     If you publish printed copies (or copies in media that commonly
-     have printed covers) of the Document, numbering more than 100, and
-     the Document's license notice requires Cover Texts, you must
-     enclose the copies in covers that carry, clearly and legibly, all
-     these Cover Texts: Front-Cover Texts on the front cover, and
-     Back-Cover Texts on the back cover.  Both covers must also clearly
-     and legibly identify you as the publisher of these copies.  The
-     front cover must present the full title with all words of the title
-     equally prominent and visible.  You may add other material on the
-     covers in addition.  Copying with changes limited to the covers, as
-     long as they preserve the title of the Document and satisfy these
-     conditions, can be treated as verbatim copying in other respects.
-
-     If the required texts for either cover are too voluminous to fit
-     legibly, you should put the first ones listed (as many as fit
-     reasonably) on the actual cover, and continue the rest onto
-     adjacent pages.
-
-     If you publish or distribute Opaque copies of the Document
-     numbering more than 100, you must either include a machine-readable
-     Transparent copy along with each Opaque copy, or state in or with
-     each Opaque copy a computer-network location from which the general
-     network-using public has access to download using public-standard
-     network protocols a complete Transparent copy of the Document, free
-     of added material.  If you use the latter option, you must take
-     reasonably prudent steps, when you begin distribution of Opaque
-     copies in quantity, to ensure that this Transparent copy will
-     remain thus accessible at the stated location until at least one
-     year after the last time you distribute an Opaque copy (directly or
-     through your agents or retailers) of that edition to the public.
-
-     It is requested, but not required, that you contact the authors of
-     the Document well before redistributing any large number of copies,
-     to give them a chance to provide you with an updated version of the
-     Document.
-
-  4. MODIFICATIONS
-
-     You may copy and distribute a Modified Version of the Document
-     under the conditions of sections 2 and 3 above, provided that you
-     release the Modified Version under precisely this License, with the
-     Modified Version filling the role of the Document, thus licensing
-     distribution and modification of the Modified Version to whoever
-     possesses a copy of it.  In addition, you must do these things in
-     the Modified Version:
-
-       A. Use in the Title Page (and on the covers, if any) a title
-          distinct from that of the Document, and from those of previous
-          versions (which should, if there were any, be listed in the
-          History section of the Document).  You may use the same title
-          as a previous version if the original publisher of that
-          version gives permission.
-
-       B. List on the Title Page, as authors, one or more persons or
-          entities responsible for authorship of the modifications in
-          the Modified Version, together with at least five of the
-          principal authors of the Document (all of its principal
-          authors, if it has fewer than five), unless they release you
-          from this requirement.
-
-       C. State on the Title page the name of the publisher of the
-          Modified Version, as the publisher.
-
-       D. Preserve all the copyright notices of the Document.
-
-       E. Add an appropriate copyright notice for your modifications
-          adjacent to the other copyright notices.
-
-       F. Include, immediately after the copyright notices, a license
-          notice giving the public permission to use the Modified
-          Version under the terms of this License, in the form shown in
-          the Addendum below.
-
-       G. Preserve in that license notice the full lists of Invariant
-          Sections and required Cover Texts given in the Document's
-          license notice.
-
-       H. Include an unaltered copy of this License.
-
-       I. Preserve the section Entitled "History", Preserve its Title,
-          and add to it an item stating at least the title, year, new
-          authors, and publisher of the Modified Version as given on the
-          Title Page.  If there is no section Entitled "History" in the
-          Document, create one stating the title, year, authors, and
-          publisher of the Document as given on its Title Page, then add
-          an item describing the Modified Version as stated in the
-          previous sentence.
-
-       J. Preserve the network location, if any, given in the Document
-          for public access to a Transparent copy of the Document, and
-          likewise the network locations given in the Document for
-          previous versions it was based on.  These may be placed in the
-          "History" section.  You may omit a network location for a work
-          that was published at least four years before the Document
-          itself, or if the original publisher of the version it refers
-          to gives permission.
-
-       K. For any section Entitled "Acknowledgements" or "Dedications",
-          Preserve the Title of the section, and preserve in the section
-          all the substance and tone of each of the contributor
-          acknowledgements and/or dedications given therein.
-
-       L. Preserve all the Invariant Sections of the Document, unaltered
-          in their text and in their titles.  Section numbers or the
-          equivalent are not considered part of the section titles.
-
-       M. Delete any section Entitled "Endorsements".  Such a section
-          may not be included in the Modified Version.
-
-       N. Do not retitle any existing section to be Entitled
-          "Endorsements" or to conflict in title with any Invariant
-          Section.
-
-       O. Preserve any Warranty Disclaimers.
-
-     If the Modified Version includes new front-matter sections or
-     appendices that qualify as Secondary Sections and contain no
-     material copied from the Document, you may at your option designate
-     some or all of these sections as invariant.  To do this, add their
-     titles to the list of Invariant Sections in the Modified Version's
-     license notice.  These titles must be distinct from any other
-     section titles.
-
-     You may add a section Entitled "Endorsements", provided it contains
-     nothing but endorsements of your Modified Version by various
-     parties--for example, statements of peer review or that the text
-     has been approved by an organization as the authoritative
-     definition of a standard.
-
-     You may add a passage of up to five words as a Front-Cover Text,
-     and a passage of up to 25 words as a Back-Cover Text, to the end of
-     the list of Cover Texts in the Modified Version.  Only one passage
-     of Front-Cover Text and one of Back-Cover Text may be added by (or
-     through arrangements made by) any one entity.  If the Document
-     already includes a cover text for the same cover, previously added
-     by you or by arrangement made by the same entity you are acting on
-     behalf of, you may not add another; but you may replace the old
-     one, on explicit permission from the previous publisher that added
-     the old one.
-
-     The author(s) and publisher(s) of the Document do not by this
-     License give permission to use their names for publicity for or to
-     assert or imply endorsement of any Modified Version.
-
-  5. COMBINING DOCUMENTS
-
-     You may combine the Document with other documents released under
-     this License, under the terms defined in section 4 above for
-     modified versions, provided that you include in the combination all
-     of the Invariant Sections of all of the original documents,
-     unmodified, and list them all as Invariant Sections of your
-     combined work in its license notice, and that you preserve all
-     their Warranty Disclaimers.
-
-     The combined work need only contain one copy of this License, and
-     multiple identical Invariant Sections may be replaced with a single
-     copy.  If there are multiple Invariant Sections with the same name
-     but different contents, make the title of each such section unique
-     by adding at the end of it, in parentheses, the name of the
-     original author or publisher of that section if known, or else a
-     unique number.  Make the same adjustment to the section titles in
-     the list of Invariant Sections in the license notice of the
-     combined work.
-
-     In the combination, you must combine any sections Entitled
-     "History" in the various original documents, forming one section
-     Entitled "History"; likewise combine any sections Entitled
-     "Acknowledgements", and any sections Entitled "Dedications".  You
-     must delete all sections Entitled "Endorsements."
-
-  6. COLLECTIONS OF DOCUMENTS
-
-     You may make a collection consisting of the Document and other
-     documents released under this License, and replace the individual
-     copies of this License in the various documents with a single copy
-     that is included in the collection, provided that you follow the
-     rules of this License for verbatim copying of each of the documents
-     in all other respects.
-
-     You may extract a single document from such a collection, and
-     distribute it individually under this License, provided you insert
-     a copy of this License into the extracted document, and follow this
-     License in all other respects regarding verbatim copying of that
-     document.
-
-  7. AGGREGATION WITH INDEPENDENT WORKS
-
-     A compilation of the Document or its derivatives with other
-     separate and independent documents or works, in or on a volume of a
-     storage or distribution medium, is called an "aggregate" if the
-     copyright resulting from the compilation is not used to limit the
-     legal rights of the compilation's users beyond what the individual
-     works permit.  When the Document is included in an aggregate, this
-     License does not apply to the other works in the aggregate which
-     are not themselves derivative works of the Document.
-
-     If the Cover Text requirement of section 3 is applicable to these
-     copies of the Document, then if the Document is less than one half
-     of the entire aggregate, the Document's Cover Texts may be placed
-     on covers that bracket the Document within the aggregate, or the
-     electronic equivalent of covers if the Document is in electronic
-     form.  Otherwise they must appear on printed covers that bracket
-     the whole aggregate.
-
-  8. TRANSLATION
-
-     Translation is considered a kind of modification, so you may
-     distribute translations of the Document under the terms of section
-     4.  Replacing Invariant Sections with translations requires special
-     permission from their copyright holders, but you may include
-     translations of some or all Invariant Sections in addition to the
-     original versions of these Invariant Sections.  You may include a
-     translation of this License, and all the license notices in the
-     Document, and any Warranty Disclaimers, provided that you also
-     include the original English version of this License and the
-     original versions of those notices and disclaimers.  In case of a
-     disagreement between the translation and the original version of
-     this License or a notice or disclaimer, the original version will
-     prevail.
-
-     If a section in the Document is Entitled "Acknowledgements",
-     "Dedications", or "History", the requirement (section 4) to
-     Preserve its Title (section 1) will typically require changing the
-     actual title.
-
-  9. TERMINATION
-
-     You may not copy, modify, sublicense, or distribute the Document
-     except as expressly provided under this License.  Any attempt
-     otherwise to copy, modify, sublicense, or distribute it is void,
-     and will automatically terminate your rights under this License.
-
-     However, if you cease all violation of this License, then your
-     license from a particular copyright holder is reinstated (a)
-     provisionally, unless and until the copyright holder explicitly and
-     finally terminates your license, and (b) permanently, if the
-     copyright holder fails to notify you of the violation by some
-     reasonable means prior to 60 days after the cessation.
-
-     Moreover, your license from a particular copyright holder is
-     reinstated permanently if the copyright holder notifies you of the
-     violation by some reasonable means, this is the first time you have
-     received notice of violation of this License (for any work) from
-     that copyright holder, and you cure the violation prior to 30 days
-     after your receipt of the notice.
-
-     Termination of your rights under this section does not terminate
-     the licenses of parties who have received copies or rights from you
-     under this License.  If your rights have been terminated and not
-     permanently reinstated, receipt of a copy of some or all of the
-     same material does not give you any rights to use it.
-
-  10. FUTURE REVISIONS OF THIS LICENSE
-
-     The Free Software Foundation may publish new, revised versions of
-     the GNU Free Documentation License from time to time.  Such new
-     versions will be similar in spirit to the present version, but may
-     differ in detail to address new problems or concerns.  See
-     <http://www.gnu.org/copyleft/>.
-
-     Each version of the License is given a distinguishing version
-     number.  If the Document specifies that a particular numbered
-     version of this License "or any later version" applies to it, you
-     have the option of following the terms and conditions either of
-     that specified version or of any later version that has been
-     published (not as a draft) by the Free Software Foundation.  If the
-     Document does not specify a version number of this License, you may
-     choose any version ever published (not as a draft) by the Free
-     Software Foundation.  If the Document specifies that a proxy can
-     decide which future versions of this License can be used, that
-     proxy's public statement of acceptance of a version permanently
-     authorizes you to choose that version for the Document.
-
-  11. RELICENSING
-
-     "Massive Multiauthor Collaboration Site" (or "MMC Site") means any
-     World Wide Web server that publishes copyrightable works and also
-     provides prominent facilities for anybody to edit those works.  A
-     public wiki that anybody can edit is an example of such a server.
-     A "Massive Multiauthor Collaboration" (or "MMC") contained in the
-     site means any set of copyrightable works thus published on the MMC
-     site.
-
-     "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
-     license published by Creative Commons Corporation, a not-for-profit
-     corporation with a principal place of business in San Francisco,
-     California, as well as future copyleft versions of that license
-     published by that same organization.
-
-     "Incorporate" means to publish or republish a Document, in whole or
-     in part, as part of another Document.
-
-     An MMC is "eligible for relicensing" if it is licensed under this
-     License, and if all works that were first published under this
-     License somewhere other than this MMC, and subsequently
-     incorporated in whole or in part into the MMC, (1) had no cover
-     texts or invariant sections, and (2) were thus incorporated prior
-     to November 1, 2008.
-
-     The operator of an MMC Site may republish an MMC contained in the
-     site under CC-BY-SA on the same site at any time before August 1,
-     2009, provided the MMC is eligible for relicensing.
-
-ADDENDUM: How to use this License for your documents
-====================================================
-
-To use this License in a document you have written, include a copy of
-the License in the document and put the following copyright and license
-notices just after the title page:
-
-       Copyright (C)  YEAR  YOUR NAME.
-       Permission is granted to copy, distribute and/or modify this document
-       under the terms of the GNU Free Documentation License, Version 1.3
-       or any later version published by the Free Software Foundation;
-       with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
-       Texts.  A copy of the license is included in the section entitled ``GNU
-       Free Documentation License''.
-
-   If you have Invariant Sections, Front-Cover Texts and Back-Cover
-Texts, replace the "with...Texts."  line with this:
-
-         with the Invariant Sections being LIST THEIR TITLES, with
-         the Front-Cover Texts being LIST, and with the Back-Cover Texts
-         being LIST.
-
-   If you have Invariant Sections without Cover Texts, or some other
-combination of the three, merge those two alternatives to suit the
-situation.
-
-   If your document contains nontrivial examples of program code, we
-recommend releasing these examples in parallel under your choice of free
-software license, such as the GNU General Public License, to permit
-their use in free software.
-
-
-
-Tag Table:
-Node: Top931
-Node: Overview2711
-Node: Why not LSP?3948
-Node: Installation4704
-Node: Ada Reference Manual5670
-Node: Ada executables5931
-Node: Building GNATCOLL8285
-Node: Building the executables9180
-Node: Customization9998
-Node: Slow response10498
-Node: Non-standard file names12224
-Node: Other compiler14103
-Node: Other cross-reference14678
-Node: Other customization15401
-Node: Compiling Executing19392
-Node: Compile commands20115
-Node: Compiling Examples22807
-Node: No project files23639
-Node: Set compiler options28955
-Node: Set source search path31008
-Node: Use wisi project file33245
-Node: Use multiple GNAT project files36852
-Node: Use a Makefile41697
-Node: Compiler errors43348
-Node: Project files44165
-Node: Project file overview45217
-Node: Project file variables45759
-Node: Moving Through Ada Code49199
-Node: Identifier completion52231
-Node: Indentation54420
-Node: Statement skeletons57949
-Node: Aligning code59592
-Node: Automatic casing60537
-Node: Comment Handling62724
-Node: Key summary63243
-Node: Developer overview65973
-Node: Directory structure66302
-Node: ELPA68989
-Node: Savannah69626
-Node: ada-france69978
-Node: GNU Free Documentation License70217
-
-End Tag Table
-
-
-Local Variables:
-coding: utf-8
-End:
diff --git a/packages/ada-mode/ada-mode.texi b/packages/ada-mode/ada-mode.texi
deleted file mode 100644
index 5c39cb8..0000000
--- a/packages/ada-mode/ada-mode.texi
+++ /dev/null
@@ -1,2202 +0,0 @@
-\input texinfo  @c -*-texinfo-*-
-@settitle Ada Mode
-
-@copying
-Copyright @copyright{} 1999 - 2020  Free Software Foundation, Inc.
-
-@quotation
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.3 or
-any later version published by the Free Software Foundation; with no
-Invariant Sections, with the Front-Cover texts being ``A GNU Manual'',
-and with the Back-Cover Texts as in (a) below.  A copy of the license
-is included in the section entitled ``GNU Free Documentation License''.
-
-(a) The FSF's Back-Cover Text is: ``You have the freedom to copy and
-modify this GNU manual.  Buying copies from the FSF supports it in
-developing GNU and promoting software freedom.''
-@end quotation
-@end copying
-
-@dircategory Emacs
-@direntry
-* Ada mode: (ada-mode).         Emacs mode for editing and navigating Ada code.
-@end direntry
-
-@titlepage
-@sp 10
-@title Ada Mode Version 7.1.3
-@page
-@vskip 0pt plus 1filll
-@insertcopying
-@end titlepage
-
-@contents
-
-@ifnottex
-@node Top, Overview, (dir), (dir)
-@top Top
-
-Ada Mode Version 7.1.3
-@end ifnottex
-
-@menu
-* Overview::
-* Installation::                Installing Ada mode on your system
-* Customization::               Setting up Ada mode to your taste
-* Compiling Executing::         Working with your application within Emacs
-* Project files::               Describing the organization of your project
-* Moving Through Ada Code::     Moving easily through Ada sources
-* Identifier completion::       Finishing words automatically
-* Indentation::                 Indenting your code automatically as you type
-* Statement skeletons::         Some code is written for you
-* Aligning code::               Making it pretty
-* Automatic casing::            Adjusting the case of words automatically
-* Comment Handling::            Reformatting comments easily
-* Key summary::
-* Developer overview::
-* GNU Free Documentation License::
-
-@detailmenu
- --- The Detailed Node Listing ---
-
-Overview
-
-* Why not LSP?::
-
-Installation
-
-* Ada Reference Manual::
-* Ada executables::
-
-Ada executables
-
-* Building GNATCOLL::
-* Building the executables::
-
-Customizing Ada mode
-
-* Slow response::
-* Non-standard file names::
-* Other compiler::
-* Other cross-reference::
-* Other customization::
-
-Compiling Executing
-
-* Compile commands::
-* Compiling Examples::
-* Compiler errors::
-
-Compiling Examples
-
-* No project files::            Just menus
-* Set compiler options::        A basic Ada mode project file
-* Set source search path::      Source in multiple directories
-* Use wisi project file::
-* Use multiple GNAT project files::
-* Use a Makefile::
-
-Project files
-
-* Project file overview::
-* Project file variables::
-
-Developer overview
-
-* Directory structure::
-* ELPA::
-* Savannah::
-* ada-france::
-
-@end detailmenu
-@end menu
-
-@node Overview, Installation, Top, Top
-@chapter Overview
-
-The Emacs mode for programming in Ada helps the user in reading
-existing code and facilitates developing new code.
-
-Cross-reference information output by the compiler is used to provide
-powerful code navigation (jump to definition, find all uses, etc).
-
-When you open a file with a file extension of @file{.ads} or
-@file{.adb}, Emacs will automatically load and activate Ada
-mode.
-
-Ada mode works without any customization, if you are using the GNAT
-compiler (@url{https://libre.adacore.com/}) and the GNAT default
-naming convention.
-
-You must customize a few things if you are using a different file
-naming convention or compiler; @xref{Non-standard file names},
-@xref{Other compiler}.
-
-In addition, you may want to customize the indentation,
-capitalization, and other things; @xref{Other customization}.
-
-Finally, for large Ada projects, you will want to set up an Emacs Ada
-mode project file for each project; @xref{Project files}. Note that
-these are different from the GNAT project files used by the GNAT
-tools.
-
-@xref{Debuggers,,Debuggers,emacs,Emacs User Guide}, for general
-information on debugging.
-
-@menu
-* Why not LSP?::
-@end menu
-
-@node Why not LSP?
-@section Why not LSP?
-The Language Server Protocol (LSP, @url{https://langserver.org})
-supports an external language parser, as Ada mode does, and it is
-supported by the GNU ELPA package eglot. Ada mode does not use LSP mostly for
-historical reasons; the Ada mode parser was first developed before LSP
-was started. In addition, LSP does not support some of the navigation
-information provided by the Ada mode parser (although that could be
-provided as a custom command).
-
-We may investigate supporting an LSP parser in the future. In
-particular, the AdaCore Gnat Studio editor uses an LSP parser for
-several functions; Emacs Ada mode could use that as a backend if it
-supports LSP.
-
-@node Installation, Customization, Overview, Top
-@chapter Installation
-
-Ada mode requires Emacs 25.0 or greater. Compiling the Ada code for
-the external process parser requires GNAT GPL 2017 or later; tested
-with GNAT Community Edition 2019 and GNAT Pro 19.
-
-Ada mode is distributed in the Gnu ELPA package archive; it can be
-installed via @code{M-x list-packages} (@pxref{Packages,,,emacs,Emacs
-User Guide}). Note that it requires the @code{wisi} and
-@code{uniquify-files} packages as dependencies.
-
-In Emacs < 27 you must first enable packages in your
-@file{~/.emacs}, @emph{after} customizing
-@code{Info-default-directory-list} (if you do that):
-
-@example
-(package-initialize)
-@end example
-
-To see what version of Ada mode you have installed, invoke @kbd{M-x
-ada-mode-version}.
-
-You must also install the associated Ada executables (for the language
-parser). You may want to install the Ada Reference Manual.
-
-@menu
-* Ada Reference Manual::
-* Ada executables::
-@end menu
-
-@node Ada Reference Manual
-@section Ada Reference Manual
-The ELPA package ada-ref-man includes the Ada Reference Manual and
-Annotated Ada Reference Manual in info format.
-
-@node Ada executables
-@section Ada executables
-
-Ada mode requires the external parser, which must be compiled.
-
-Ada mode has support for an external cross reference tool
-@file{gpr_query}, which uses compiler-generated information. In the
-case of Ada, the necessary @file{.ali} files are automatically
-generated by the standard compilation process. For other languages,
-e.g. C, C++, @file{.gli} files can be generated using the compiler
-switch @code{-fdump-xref}. @code{-fdump-xref} is an AdaCore extension,
-not available in FSF GCC.
-
-@file{gpr_query} is an Ada program, which is distributed as source and
-must be built. Its source code is in the @code{ada-mode} Gnu ELPA package.
-
-@file{gpr_query} is similar to the AdaCore utility @code{gnatxref},
-but supports additional queries.
-
-Both the parser and @file{gpr_query} require the @code{GNATCOLL}
-library provided by AdaCore, distributed with GNAT GPL 2017 or later,
-and also available at Github
-(@url{https://github.com/AdaCore/gnatcoll}). The notes below assume
-that the compiler is installed at @file{$prefix},
-e.g. @file{/usr/local/gnat-2019}, and that @file{$prefix/bin} is first
-on the @code{PATH}. If you are running Windows, use mingw64
-@code{bash} to run these commands.
-
-On linux, some versions of the @code{GNATCOLL.iconv} package (used by
-@code{gpr_query}, but not the parser) explicitly
-require the @file{libiconv.so} library. GNAT provides the
-@file{libiconv.so} library in @file{<gnat>/lib64/libiconv.so}. On
-Debian, that directory is not in the standard load path, and iconv is
-provided by glibc, so @file{libiconv.so} is not found on the standard
-load path. So you must set @var{LD_LIBRARY_PATH}, but only when
-running @code{gpr-query}:
-
-@example
-(setq gpr-query-env '("LD_LIBRARY_PATH=/Projects/gnat/pro_19.2/lib64")
-@end example
-
-In general, @file{gpr_query} should be compiled with the compiler
-version that is used to generate the user project @file{.ali} files;
-the @file{ali} file format can change with each compiler
-version. @file{gpr_query} creates a database of cross reference
-information; that database must be deleted if the compiler version
-changes, to force a complete rebuild.
-
-The default binary gnatcoll distributed with GNAT GPL 2019
-does not include the xref package, which is required by
-@file{gpr_query}. So we must build gnatcoll xref from sources.
-
-@menu
-* Building GNATCOLL::
-* Building the executables::
-@end menu
-
-@node Building GNATCOLL
-@subsection Building GNATCOLL
-
-Download gnatcoll-db from
-@url{https://github.com/AdaCore/gnatcoll-db}; select the latest
-release branch (or the one that matches your compiler), click on the
-``clone or download'' button, select ``Download ZIP''.
-
-Similarly, download gnatcoll-bindings from
-@url{https://github.com/AdaCore/gnatcoll-bindings/tree/20.2} (for 
gnatcoll-iconv).
-
-Then unpack, build, and install the required components:
-
-@example
-tar xf ~/Downloads/gnatcoll-bindings-20.2.zip
-cd gnatcoll-bindings-20.2
-cd iconv
-./setup.py build
-./setup.py install
-
-tar xf ~/Downloads/gnatcoll-db-20.2.zip
-cd gnatcoll-db-20.2
-make -C sql
-make -C sql install
-make -C sqlite
-make -C sqlite install
-make -C xref
-make -C xref install
-@end example
-
-@c To build gnatcoll-core with debug, edit the corresponding gpr file
-@c to delete @code{-gnatwe} (there are lots of warnings about license
-@c incompatibility, and a few other things). Then _do not_ build or
-@c install; just setup to create the .gpr files. Installing causes
-@c lots of spurious warnings about files need to be
-@c recompiled. Uninstall core, sql, sqlite, xref; add the build
-@c directories to GPR_PROJECT_PATH, add @code{BUILD=DEBUG} to the
-@c command line, edit the .gpr files to set OS. Sigh; that still
-@c doesn't work.
-
-@node Building the executables
-@subsection Building the executables
-
-@file{gpr_query} requires the @code{pthread} library. On Windows, this
-is available in Mingw64 as package
-@code{mingw64/mingw-w64-x86_64-winpthreads-git}.
-
-To build and install @file{gpr_query} and the parser, assuming the
-@code{ada-mode-6.0.xx} GNU ELPA package is installed:
-
-@example
-cd ~/.emacs.d/elpa/ada-mode-6.0.xx
-./build.sh
-./install.sh
-@end example
-
-By default, @file{install.sh} installs the executables in the same
-directory as the GNAT executable (using @file{gprinstall}). If you
-don't have write privileges there, or if you want to install somewhere
-else, use @code{install.sh --prefix=<dir>}.
-
-@code{ada-mode} will use @file{gpr_query} and the parser if they are
-found in @code{PATH}.
-
-@node Customization, Compiling Executing, Installation, Top
-@chapter Customizing Ada mode
-
-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
-* Slow response::
-* Non-standard file names::
-* Other compiler::
-* Other cross-reference::
-* Other customization::
-@end menu
-
-@node Slow response
-@section Slow response
-
-In large files, parsing takes a noticable amount of time, so it gets
-in the way of interactive typing due to immediate fontification
-triggering a parse.
-
-There are three ways to deal with this:
-
-@enumerate
-@item Set @code{wisi-partial-parse-threshold}
-In your @file{~./emacs}:
-
-@example
-(setq wisi-partial-parse-threshold 100001)
-@end example
-
-The default value (100001) may already be appropriate; it depends on
-how fast your machine is, and what your tolerance for slow response
-is.
-
-Files larger than @code{wisi-partial-parse-threshold} (in characters)
-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.
-
-With this setting, indentation may not be correct; the Ada menu entry
-``Edit | Indent containing statement'' will indent correctly.
-
-@item Delay fontification by setting @code{jit-lock-defer-time} in your
-@file{~./emacs}:
-
-@example
-(setq jit-lock-defer-time 1.5)
-@end example
-
-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.
-
-@item Turn off parsing for fontification by setting
-@code{wisi-disable-face} in your @file{~./emacs}
-
-@example
-(setq wisi-disable-face t)
-@end example
-
-This turns of fontification for type, package, and function names;
-only Ada reserved words are fontified.
-@end enumerate
-
-@node Non-standard file names, Other compiler, Customization, Customization
-@section Non-standard file names
-
-By default, Ada mode is configured to use the GNAT file naming
-convention, where file names are a simple modification of the Ada
-names, and the extension for specs and bodies are
-@samp{.ads} and @samp{.adb}, respectively.
-
-Emacs uses the file extension to enable Ada mode; Ada mode uses the
-file extentions to allow moving from a package body to the
-corresponding spec and back.
-
-Emacs and Ada mode support ways to use alternative file extensions for
-specs and bodies. Note that you must also tell the compiler about
-these extensions in a GNAT project file Naming package; doing that is
-beyond the scope of this manual.
-
-For instance, if your spec and bodies files are called
-@file{@var{unit}_s.ada} and @file{@var{unit}_b.ada}, respectively, you
-can add the following to your @file{.emacs} file:
-
-@example
-;; Tell Ada mode about spec and body extensions
-(ada-add-extensions "_s.ada" "_b.ada")
-
-;; Tell Emacs to use Ada mode for those extensions
-(add-to-list 'auto-mode-alist '("\\.ada\\'" . ada-mode))
-@end example
-
-You can define additional extensions:
-
-@example
-(ada-add-extensions ".ads" "_b.ada")
-(ada-add-extensions ".ads" ".body")
-@end example
-
-This means that whenever Ada mode looks for the body for a file
-whose extension is @file{.ads}, it will take the first available file
-that ends with either @file{.adb}, @file{_b.ada} or
-@file{.body}.
-
-Simililarly, if Ada mode is looking for a spec, it will look for
-@file{.ads} or @file{_s.ada}.
-
-If the filename excluding the extension is not derived from the Ada
-name following the GNAT convention, you need to provide an alternate
-function for @code{ada-file-name-from-ada-name}. Doing that is beyond
-the scope of this manual; see the current definitions in
-@file{ada-mode.el} and @file{ada-gnat-xref.el} for examples.
-
-@node Other compiler, Other cross-reference, Non-standard file names, 
Customization
-@section Other compiler
-The wisi project variable @code{ada_compoiler} (default elisp variable
-@code{ada-compiler}) (default @code{'gnat}) controls dispatching in
-compiler-specific functions for corresponding Ada mode operations.
-
-To use a compiler other than GNAT, you must write Emacs lisp code that
-provides the interface to the compiler, and set @code{ada-compiler} and
-the indirection variables.
-
-See @file{ada-compiler-gnat.el} for an example.
-
-@node Other cross-reference, Other customization, Other compiler, Customization
-@section Other cross-reference
-The wisi project variable @code{xref_tool} (default elisp variable
-@code{ada-xref-tool}) controls dispatching in
-the cross-reference-tool-specific functions for corresponding Ada mode
-operations.
-
-If @file{gpr_query} is found in @code{PATH}, the default
-cross-reference tool is @file{gpr_query}; otherwise it is
-@file{gnatxref}.
-
-To use a cross reference tool other than the above, you must write
-Emacs lisp code that provides the interface to the tool, and set
-@code{ada-xref-tool} and the indirection variables.
-
-See @file{ada-gnat-xref.el} and @file{gpr-query.el} for examples.
-
-@node Other customization,  , Other cross-reference, Customization
-@section Other customization
-
-All user-settable Ada mode variables can be set via the menu @samp{Ada
-| Customize}; some can also be set in wisi project files
-(@pxref{Project files}).
-
-To modify a specific variable, you can directly call the function
-@code{customize-variable}; just type @kbd{M-x customize-variable
-@key{RET} @var{variable-name} @key{RET}}.
-
-Alternately, you can specify variable settings in the Emacs
-configuration file, @file{~/.emacs}. This file is coded in Emacs lisp,
-and the syntax to set a variable is the following:
-
-@example
-(setq variable-name value)
-@end example
-
-Some general Emacs settings that are useful for Ada files:
-
-@table @code
-@item context menu
-By default, the context menu is bound to @key{C-down-mouse-3},
-i.e. control-right-click. @key{down-mouse-3} is already bound in the
-global map; you can override that global binding in the
-@code{ada-mode-hook} (see below for code).
-@item other-frame-window-mode
-Ada mode does not provide any @code{other-frame} or
-@code{other-window} variants of user operations. Instead, it is
-recommended to use the Gnu ELPA package @code{other-frame-window}.
-@item delete-trailing-whitespace
-Deletes space, tab at end of line and blank lines at end of buffer.
-@item xref configuration
-@table @code
-@item xref-prompt-for-identifier
-Set to @code{nil} to be prompted less when finding definitions or
-references.
-@item xref-show-xrefs-function
-Determine placement of the window where references are shown.
-@item xref-show-definitions-function
-Determine placement of the window where definitions are shown.
-@item xref--transient-buffer-mode-map
-keymap used in some xref windows; you may want to disable the
-@key{RET} binding there.
-@end table
-@item untabify
-Deletes tab characters that have crept into the file.
-@item indent-tabs-mode
-Don't insert tab characters when indenting.
-@item copyright-update
-Updates the copyright date in the file header comment, to the current
-year.
-@item electric-pair-mode
-Insert a matching right paren when you type a left paren.
-@item hippie-expand
-Bind @code{hippie-expand} to a key; it expands the word before point,
-using words from current buffer, other buffers, file names, etc; see
-@code{hippie-expand-try-functions-list}. You can also add
-@code{wisi-skel-hippie-try} to that list. Note that
-@code{wisi-skel-expand} is bound to @key{C-c C-e} (@pxref{Statement
-skeletons}).
-@item imenu
-Navigate to subprograms and types by name, from a minibuffer menu.
-@item speedbar
-Navigate to subprograms and types by name, from a list in a dedicated window.
-@item which-func
-Display the current subprogram name in the mode bar.
-@end table
-
-The above can all be set by the following code in your
-@file{~/.emacs}. Note that some are functions are added to
-@code{before-save-hook}; they run just before a buffer is written to
-disk. Also, the order is important; ada-mode does not set up the
-Ada-specific features of imenu and speedbar unless imenu is loaded
-first.
-
-@example
-(setq-default indent-tabs-mode nil)
-(define-key xref--transient-buffer-mode-map (kbd "RET") 'xref-goto-xref)
-(setq xref-prompt-for-identifier nil) ;; only prompt on C-u
-(setq xref-show-xrefs-function #'xref--show-defs-buffer-at-bottom)
-(setq xref-show-definitions-function #'xref--show-defs-buffer-at-bottom)
-
-(electric-pair-mode 1)
-(require 'imenu) ;; also enables speedbar
-(require 'ada-mode)
-(add-to-list 'hippie-expand-try-functions-list 'wisi-skel-hippie-try)
-(define-key ada-mode-map "\C-e"     'hippie-expand)
-(define-key ada-mode-map [down-mouse-3] 'ada-popup-menu)
-(add-hook 'ada-mode-hook
-   (lambda ()
-    (add-hook 'before-save-hook 'delete-trailing-whitespace nil t)
-    (add-hook 'before-save-hook 'copyright-update nil t)
-    (add-hook 'before-save-hook
-              (lambda () (untabify (point-min) (point-max)))
-               nil t)))
-@end example
-
-@node Compiling Executing, Project files, Customization, Top
-@chapter Compiling Executing
-
-Ada projects can be compiled, linked, and executed using commands on
-the Ada menu. All of these commands can be customized via a project
-file (@pxref{Project files}), but the defaults are sufficient for using
-the GNAT compiler for simple projects (single files, or several files
-in a single directory).
-
-For complex projects, you will want to use @code{make} or some other
-build tool; in that case, you may need a wisi project file to tell
-Emacs about the project directory tree and other settings.
-
-@menu
-* Compile commands::
-* Compiling Examples::
-* Compiler errors::
-@end menu
-
-@node Compile commands, Compiling Examples, Compiling Executing, Compiling 
Executing
-@section Compile commands
-
-Here are the commands for building an Ada project and running the main
-program; they are all on the @code{Ada | Build} menu.
-
-In multi-file projects, there must be one file that is the main
-program. That is given by the @code{main} project file variable;
-it defaults to the current file if not yet set, but is also set by the
-``set main and build'' command.
-
-@table @code
-
-@item Check file
-Compiles the current file in syntax check mode, by running
-@code{check_cmd} defined in the current project file. This typically
-runs faster than full compile mode, speeding up finding and fixing
-compilation errors.
-
-This sets @code{main} only if it has not been set yet.
-
-@item Compile file
-Compiles the current file, by running @code{comp_cmd} from the current
-project file.
-
-This does not set @code{main}.
-
-@item Set main and Build
-Sets @code{main} to the current file, then executes the Build
-command.
-
-@item Show main
-Displays @code{main} in the message buffer.
-
-@item Build
-Compiles all obsolete units of the current @code{main}, and links
-@code{main}, by running @code{make_cmd} from the current project.
-
-This sets @code{main} only if it has not been set yet.
-
-@item Run
-Executes the main program in a shell, displayed in a separate Emacs
-buffer. This runs @code{run_cmd} from the current project. The
-execution buffer allows for interactive input/output.
-
-To modify the run command, in particular to provide or change the
-command line arguments, type @kbd{C-u} before invoking the command.
-
-This command is not available for a cross-compilation toolchain.
-
-@end table
-It is important when using these commands to understand how
-@code{main} is used and changed.
-
-Build runs 'gprbuild' on the main unit. During a typical edit/compile
-session, this is the only command you need to invoke, which is why it
-is bound to @kbd{C-c C-c}. It will compile all files needed by the
-main unit, and display compilation errors in any of them.
-
-Note that Build can be invoked from any Ada buffer; typically you will
-be fixing errors in files other than the main, but you don't have to
-switch back to the main to invoke the compiler again.
-
-Novices and students typically work on single-file Ada projects. In
-this case, @kbd{C-c C-m} will normally be the only command needed; it
-will build the current file, rather than the last-built main.
-
-There are two ways to change @code{main}:
-
-@enumerate
-@item
-Invoke @samp{Ada | Set main and Build}, which sets @code{main} to
-the current file.
-
-@item
-Invoke @samp{Ada | Project | Load}, and load a project file that specifies 
@code{main}
-
-@end enumerate
-
-@node Compiling Examples, Compiler errors, Compile commands, Compiling 
Executing
-@section Compiling Examples
-
-We present several small projects, and walk thru the process of
-compiling, linking, and running them.
-
-The first example illustrates more Ada mode features than the others;
-you should work thru that example before doing the others.
-
-All of these examples assume you are using GNAT.
-
-The source for these examples is available on the Emacs Ada mode
-website mentioned in @xref{Installation}.
-
-@menu
-* No project files::            Just menus
-* Set compiler options::        A basic Ada mode project file
-* Set source search path::      Source in multiple directories
-* Use wisi project file::
-* Use multiple GNAT project files::
-* Use a Makefile::
-@end menu
-
-@node No project files, Set compiler options, Compiling Examples, Compiling 
Examples
-@subsection No project files
-This example uses no project files.
-
-First, create a directory @file{Example_1}, containing:
-
-@file{hello.adb}:
-
-@example
-with Ada.Text_Io;
-procedure Hello
-is begin
-   Put_Line("Hello from hello.adb");
-end Hello;
-@end example
-
-Yes, this is missing ``use Ada.Text_Io;'' - we want to demonstrate
-compiler error handling.
-
-@file{hello_2.adb} has no errors:
-
-@example
-with Hello_Pkg;
-procedure Hello_2
-is begin
-   Hello_Pkg.Say_Hello;
-end Hello_2;
-@end example
-
-@file{hello_pkg.ads} has no errors:
-
-@example
-package Hello_Pkg is
-   procedure Say_Hello;
-end Hello_Pkg;
-@end example
-
-@file{hello_pkg.adb}:
-
-@example
-with Ada.Text_Io;
-package Hello_Pkg is
-   procedure Say_Hello
-   is begin
-      Ada.Text_Io.Put_Line ("Hello from hello_pkg.adb");
-   end Say_Hello;
-end Hello_Pkg;
-@end example
-
-Yes, this is missing the keyword @code{body}; another compiler error
-example. However, note that the indentation engine parser accepts this
-code, making it possible to indent illegal Ada code.
-
-In buffer @file{hello.adb}, invoke the menu entry @samp{Ada | Build |
-Check syntax}. You should get a @code{*compilation*} buffer containing
-something like (the directory paths will be different):
-
-@example
--*- mode: compilation; default-directory: 
"c:/Projects/org.emacs.ada-mode.stephe-1/test/Example_1/" -*-
-Compilation started at Fri Oct 18 04:23:54
-
-gprbuild  -u -c -gnatc  c:/Projects/org.emacs.ada-mode/test/Example_1/hello.adb
-using project file D:\Apps\GNAT-gpl_2019\share\gpr\_default.gpr
-Compile
-   [Ada]          hello.adb
-hello.adb:4:04: "Put_Line" is not visible
-hello.adb:4:04: non-visible declaration at a-textio.ads:263
-hello.adb:4:04: non-visible declaration at a-textio.ads:259
-gprbuild: *** compilation phase failed
-
-Compilation exited abnormally with code 4 at Fri Oct 18 04:23:54
-@end example
-
-The lines with actual errors (starting with @file{hello.adb}) are
-highlighted, with the file name in red.
-
-Now invoke @samp{Ada | Build | Next compilation error}.  Or you can
-click the middle mouse button on the first error line, or use the key
-binding shown on the menu.  In the compilation buffer, a triangle is
-placed in the left fringe on the first error line, and point is put at
-the place of the error in the @file{hello.adb} buffer.
-
-To fix the error, invoke @samp{Ada | Build | Fix compilation error};
-this adds ``Ada.Text_Io.'' to the line:
-
-@example
-    Ada.Text_Io.Put_Line ("hello from hello.adb");
-@end example
-
-Now invoke @samp{Ada | Build | Show main}; this displays @samp{Ada mode main: 
hello}.
-
-Now (in buffer @file{hello.adb}), invoke @samp{Ada | Build | Build}. You are
-prompted to save the file (if you haven't already). Then the
-compilation buffer is displayed again, containing:
-
-@example
--*- mode: compilation; default-directory: 
"c:/Projects/org.emacs.ada-mode.stephe-1/test/Example_1/" -*-
-Compilation started at Fri Oct 18 20:39:33
-
-gprbuild  hello
-using project file D:\Apps\GNAT-gpl_2019\share\gpr\_default.gpr
-Compile
-   [Ada]          hello.adb
-Bind
-   [gprbind]      hello.bexch
-   [Ada]          hello.ali
-Link
-   [link]         hello.adb
-
-Compilation finished at Fri Oct 18 20:39:34
-@end example
-
-The compilation has succeeded without errors; @file{hello.exe} now
-exists in the same directory as @file{hello.adb}.
-
-Now invoke @samp{Ada | Build | Run}. The @file{*compilation*} buffer
-is displayed, containing
-
-@example
--*- mode: compilation; default-directory: 
"c:/Projects/org.emacs.ada-mode.stephe-1/test/Example_1/" -*-
-Compilation started at Fri Oct 18 20:41:53
-
-./hello
-Hello from hello.adb
-
-Compilation finished at Fri Oct 18 20:41:53
-@end example
-
-That completes the first part of this example.
-
-Now we will compile a multi-file project. Open the file
-@file{hello_2.adb}, invoke @samp{Ada | Build | Set main and
-Build}. This finds an error in @file{hello_pkg.adb}:
-
-@example
-hello_pkg.adb:2:08: keyword "body" expected here [see file name]
-@end example
-
-This demonstrates that gprbuild finds the files needed by the main
-program. However, it cannot find files in a different directory,
-unless you use a GNAT project file to specify the other directories;
-@ref{Set source search path}.
-
-Invoke @samp{Ada | Build | Show main}; this displays @file{Ada mode
-main: hello_2}.
-
-Move to the error with @kbd{C-x `}, and fix the error by adding @code{body}:
-
-@example
-package body Hello_Pkg is
-@end example
-
-Now, while still in @file{hello_pkg.adb}, invoke @samp{Ada | Build |
-Build}.  gprbuild successfully builds @file{hello_2}. This
-demonstrates that Emacs has remembered the main file, in the project
-variable @code{main}, and used it for the Build command.
-
-Finally, again while in @file{hello_pkg.adb}, invoke @samp{Ada | Build
-| Run}.  The @code{*compilation*} buffer displays @code{Hello from
-hello_pkg.adb}.
-
-One final point. If you switch back to buffer @file{hello.adb}, and
-invoke @samp{Ada | Build | Run}, @file{hello_2.exe} will be run. That
-is because @code{main} is still set to @code{hello_2}, as you can see
-when you invoke @samp{Ada | Build | Show main}.
-
-There are two ways to change @code{main}:
-
-@enumerate
-@item
-Invoke @samp{Ada | Build | Set main and Build}, which sets @code{main} to
-the current file.
-
-@item
-Invoke @samp{Ada | Build | Set Project ...}, and select a project file that
-specifies @code{main}.
-
-@end enumerate
-
-@node Set compiler options, Set source search path, No project files, 
Compiling Examples
-@subsection Set compiler options
-
-This example illustrates using a gnat project file to set a
-compiler option.
-
-If you have files from @file{Example_1} open in Emacs, you should
-close them so you don't get confused. Use menu @samp{File | Close
-(current buffer)}.
-
-In directory @file{Example_2}, create these files:
-
-@file{hello.adb}:
-
-@example
-with Ada.Text_Io;
-procedure Hello
-is begin
-   Put_Line("Hello from hello.adb");
-end Hello;
-@end example
-
-This is the same as @file{hello.adb} from @file{Example_1}. It has two
-errors; missing ``use Ada.Text_Io;'', and no space between
-@code{Put_Line} and its argument list.
-
-@file{hello.gpr}:
-
-@example
-project Hello is
-   package Compiler is
-      for Default_Switches ("Ada") use ("-gnatyt");
-   end Compiler;
-end Hello;
-@end example
-
-This tells the GNAT compiler to check for token spacing; in
-particular, there must be a space preceding a parenthesis.
-
-In buffer @file{hello.adb}, invoke @samp{Ada | Build | Set main and
-Build}. This finds the project file @file{hello.gpr}, uses it to set
-the compiler options, and builds the project. You should get a
-@code{*compilation*} buffer containing something like (the directory
-paths will be different):
-
-@example
-gprbuild -Phello.gpr hello
-Compile
-   [Ada]          hello.adb
-hello.adb:4:04: "Put_Line" is not visible
-hello.adb:4:04: non-visible declaration at a-textio.ads:508
-hello.adb:4:04: non-visible declaration at a-textio.ads:498
-hello.adb:4:12: (style) space required
-gprbuild: *** compilation phase failed
-@end example
-
-Compare this to the compiler output in @ref{No project files}; the
-compiler-provided default gpr file has been replaced by
-@code{hello.gpr}, and an additional error is reported in
-@file{hello.adb} on line 4. This shows that @file{hello.gpr} is being
-used to set the compiler options.
-
-Use @kbd{C-x`}, @kbd{C-c M-`} to fix the errors, then @samp{Ada |
-Build | Build} and @samp{Ada | Build | Run} to build and run.
-
-@node Set source search path
-@subsection Set source search path
-
-In this example, we show how to deal with files in more than one
-directory, setting the source search path in the gpr file.
-
-Create the directory @file{Example_3}, containing:
-
-@file{hello_pkg.ads}:
-
-@example
-package Hello_Pkg is
-   procedure Say_Hello;
-end Hello_Pkg;
-@end example
-
-@file{hello_pkg.adb}:
-
-@example
-with Ada.Text_Io;
-package Hello_Pkg is
-   procedure Say_Hello
-   is begin
-      Ada.Text_Io.Put_Line ("Hello from hello_pkg.adb");
-   end Say_Hello;
-end Hello_Pkg;
-@end example
-
-These are the same files from example 1; @file{hello_pkg.adb} has an
-error on line 2.
-
-@file{other.gpr}:
-
-@example
-project Other is
-   for Source_Dirs use (".", "Other");
-end Other;
-@end example
-
-In addition, create a directory @file{Example_3/Other}, containing this file:
-
-@file{Other/hello_3.adb}:
-
-@example
-with Hello_Pkg;
-with Ada.Text_Io; use Ada.Text_Io;
-procedure Hello_3
-is begin
-   Hello_Pkg.Say_Hello;
-   Put_Line ("From hello_3");
-end Hello_3;
-@end example
-
-There are no errors in this file.
-
-In buffer @file{hello_3.adb}, invoke @samp{Ada | Project files | Find and
-select project...}, and select @file{Example_3/other.gpr}. This
-tells Emacs Ada mode to stop using the project file from
-@file{Example_2}, and use the one for @file{Example_3}. Also note that
-since this project file is not named @file{hello_3.gpr}, it would not
-be found by default.
-
-Then, again in @file{hello_3.adb}, invoke @samp{Ada | Set main and
-Build}. You should get a @code{*compilation*} buffer containing
-something like (the directory paths will be different):
-
-@example
-gprbuild -Pother.gpr hello_3
-Compile
-   [Ada]          hello_3.adb
-   [Ada]          hello_pkg.adb
-hello_pkg.adb:2:08: keyword "body" expected here [see file name]
-gprbuild: "C:\Examples\Example_3\hello_pkg.adb" compilation error
-@end example
-
-Move to the error with @kbd{C-x `}. Ada mode searches the list of
-directories given by @code{Source_Dirs} for the file mentioned in the
-compiler error message.
-
-Use @kbd{C-x`}, @kbd{C-c M-`} to fix the errors, then @samp{Ada |
-Build | Build} and @samp{Ada | Build | Run} to build and run.
-
-@node Use wisi project file, Use multiple GNAT project files, Set source 
search path, Compiling Examples
-@subsection Use wisi project file
-
-In this example, we show how to use a wisi project file to set some
-options that cannot be set in a gpr project file. In addition, we
-change a setting so you are prompted for a project file, rather than
-using a default one.
-
-Change the setting:
-
-@example
-M-x set-variable ada-build-prompt-prj search-prompt
-@end example
-
-Create the directory @file{Example_4}, containing:
-
-@file{hello_pkg.ads}:
-
-@example
-package Hello_Pkg is
-   procedure Say_Hello;
-end Hello_Pkg;
-@end example
-
-@file{hello_pkg.adb}:
-
-@example
-with Ada.Text_Io;
-package body Hello_Pkg is
-   procedure Say_Hello
-   is begin
-      Put_Line ("Hello from hello_pkg.adb");
-   end Say_Hello;
-end Hello_Pkg;
-@end example
-
-These two files are the similar to files from example 1;
-@file{hello_pkg.adb} has an error on line 5 (missing
-``Ada.Text_IO.'').
-
-@file{example_4.prj}:
-
-@example
--- Wisi project file
-
-gpr_project_path=More
-
-gpr_file=example_4.gpr
-
-casing=example_4.casing
-@end example
-
-@file{example_4.prj} is a wisi project file; it specifies the
-@code{gpr_project_path}, telling @code{gprbuild} where to search for
-gpr files, and specifies the gpr file to use. Finally it specifies a
-casing exception file:
-
-@file{example_4.casing}:
-
-@example
-Text_IO
-@end example
-
-The default auto casing rules in ada-mode state that the Ada package
-``Ada.Text_IO'' should be capitalized as ``Ada.Text_Io'', which does
-not match the Ada Reference Manual.  @file{example_4.casing} specifies
-that instead ``Text_IO'' should be capitalized as shown.
-
-You can create a casing exception by editing the file directly, or via
-the @code{Ada | Casing} menu.
-
-@code{gpr_project_path} and @code{casing} are list variables; each
-occurence in a wisi project file adds an entry to the list.
-
-In addition, create a directory @file{Example_4/More},
-containing these files:
-
-@file{more/hello_4.adb}:
-
-@example
-with Hello_Pkg;
-with Ada.Text_Io; use Ada.Text_Io;
-procedure Hello_4
-is begin
-   Hello_Pkg.Say_Hello;
-   Put_Line ("From hello_4");
-end Hello_4;
-@end example
-
-There are no errors in this file, except for the casing in ``Ada.Text_Io''.
-
-@file{More/example_4.gpr}:
-
-@example
-project Example_4 is
-   for Source_Dirs use (".", "..");
-
-   package Compiler is
-      for Default_Switches ("Ada") use ("-gnatyknpr");
-   end Compiler;
-end Example_4;
-@end example
-
-The compiler switch checks all casing; we will get errors for ``Ada.Text_Io''.
-
-Then, in @file{hello_4.adb}, invoke @samp{Ada | Set main and
-Build}. ada-mode looks for a project file @file{hello_4.prj} or
-@file{hello_4.gpr}; since neither is found, you are prompted to find a
-project file.  Select @file{Example_4/example_4.prj}; that is parsed
-and selected, and the build continues.
-
-You should get a @code{*compilation*} buffer containing
-something like (the directory paths will be different):
-
-@example
-gprbuild -Pexample_4.gpr hello_4
-Compile
-   [Ada]          hello_pkg.adb
-hello_pkg.adb:1:16: (style) bad casing of "Text_IO" declared at a-textio.ads:57
-hello_pkg.adb:5:07: "Put_Line" is not visible
-hello_pkg.adb:5:07: non-visible declaration at a-textio.ads:508
-hello_pkg.adb:5:07: non-visible declaration at a-textio.ads:498
-gprbuild: *** compilation phase failed
-@end example
-
-When you fix the errors, note that @kbd{C-c M-`} inserts the correct
-case for ``Ada.Text_IO'', and corrects the case where it is
-incorrect. The case is also corrected as you type; you can type
-``ada.text_io.'' and the case will be corrected when you type each
-``.'' or ``_''.
-
-@node Use multiple GNAT project files
-@subsection Use multiple GNAT project files
-
-In this example, we show how to use multiple GNAT project files,
-specifying the GNAT project search path in an Ada mode project
-file. This also requires explicitly setting
-@code{project-find-functions}.
-
-If you haven't already, create the directory @file{Example_4} as
-specified in @ref{Use wisi project file}. If you've already created it
-and run the tutorial, restore the compilation error in hello_pkg.adb;
-delete @code{Ada.Text_IO.} in front of @code{Put_Line}.
-
-Create the directory @file{Example_5}, containing:
-
-@file{hello_5.adb}:
-
-@example
-with Hello_Pkg;
-with Ada.Text_IO; use Ada.Text_IO;
-procedure Hello_5
-is begin
-   Hello_Pkg.Say_Hello;
-   Put_Line ("From hello_5");
-end Hello_5;
-@end example
-
-There are no errors in this file.
-
-@file{hello_5.prj}:
-
-@example
-gpr_project_path=../Example_4/More
-gpr_file=hello_5.gpr
-
-casing=../Example_4/example_4.casing
-@end example
-
-@file{hello_5.gpr}:
-
-@example
-with "example_4";
-project Hello_5 is
-   for Source_Dirs use (".");
-   package Compiler is
-      for Default_Switches ("Ada") use ("-g", "-gnatyknprt");
-   end Compiler;
-end Hello_5;
-@end example
-
-In buffer @file{hello_5.adb}, invoke @samp{Ada | Project | Find and
-select project...}, and select @file{Example_5/hello_5.prj}. This
-would also be found by default if no previous project file had been
-selected. Note that if @file{example_5.gpr} were named
-@file{hello_5.gpr}, the project file search would find more than one
-match, causing an error.
-
-Then, again in @file{hello_5.adb}, invoke @samp{Ada | Build | Set main
-and Build}. You should get a @code{*compilation*} buffer containing
-something like (the directory paths will be different):
-
-@example
--*- mode: compilation; default-directory: 
"c:/Projects/org.emacs.ada-mode/test/Example_5/" -*-
-Compilation started at Mon Oct 21 11:32:05
-
-gprbuild -Pexample_5.gpr hello_5
-Compile
-   [Ada]          hello_5.adb
-   [Ada]          hello_pkg.adb
-hello_pkg.adb:5:07: "Put_Line" is not visible
-hello_pkg.adb:5:07: non-visible declaration at a-textio.ads:508
-hello_pkg.adb:5:07: non-visible declaration at a-textio.ads:498
-gprbuild: *** compilation phase failed
-@end example
-
-Now type @kbd{C-x `}; @file{Example_4/hello_pkg.adb} is shown,
-demonstrating that @file{hello_5.gpr} and @file{hello_4.gpr} are being
-used to set the compilation search path.
-
-Now, in buffer @file{hello_pkg.adb} invoke the menu @code{Ada |
-Navigate | Find file in project} (which calls
-@code{ada-find-file}) to get back to the @file{hello_5.adb}
-buffer. If you have not selected any project files previously in this
-emacs session, this gives an unexpected prompt for a ``project
-directory''. Kill that with @kbd{C-g}. Otherwise, enter @kbd{hel <tab>
-5 <tab>}; it will say ``no match''.
-
-The problem here the way Emacs projects work. To find the current
-project, the functions in @code{project-find-functions} are run; one
-should return a project. The ada-mode build functions add
-@code{wisi-prj-find-dominating-cached} to
-@code{project-find-functions}; that looks in the current directory
-tree for a project file with the same name as one that was previously
-selected.
-
-If @file{Example_5} is the only project in the current emacs session,
-@code{wisi-prj-find-dominating-cached} finds no project file (because
-@file{Example_4} is not a child directory of @file{Example_5}), so the
-default strategy of ``ask the user'' is used, giving the prompt for a
-directory.
-
-If @file{Example_4} is also a project in the current emacs session,
-@code{wisi-prj-find-dominating-cached} finds that; since it does not
-contain @file{hello_5.adb}, @code{ada-find-file} cannot find it.
-
-Any time you have a main project that depends on other projects that
-are not in the same directory tree, you will have this problem.
-
-The fix is to use a different function in
-@code{project-find-functions}; @code{wisi-prj-current-cached}. This
-uses a global variable to indicate what the current project is. wisi
-provides four different functions for
-@code{project-find-functions}. @xref{Selecting projects, Selecting
-projects, Selecting projects, wisi}.
-
-To change @code{project-find-functions}, execute:
-
-@example
-M-: (remove-hook 'project-find-functions 'wisi-prj-find-dominating-cached)
-M-: (add-hook 'project-find-functions 'wisi-prj-current-cached)
-@end example
-
-Normally, you must set @code{project-find-functions} in your
-@file{~/.emacs}, using the @code{add-hook} function. The ada-mode
-Build menu functions set it for you to make things simpler for
-novices, but they do not change it if you have put one of the wisi
-functions on it.
-
-Now set the current project; invoke @samp{Ada | Project | Find and
-select project...}, and select @file{Example_5/hello_5.prj}. Then in
-@file{hello_pkg.adb}, invoke @code{Ada |
-Navigate | Find file in project}; now we can find @file{hello_5.adb}.
-
-@node Use a Makefile,  , Use multiple GNAT project files, Compiling Examples
-@subsection Use a Makefile
-
-In this example, we show how to use a Makefile to build an Ada project
-with GNAT, run the result, and clean the build directories.
-
-Create the directories @file{Example_4, Example_5} as specified in
-@ref{Use wisi project file}, @ref{Use multiple GNAT project files}.
-
-In @file{Example_5}, add the file:
-
-@file{Makefile}:
-
-@example
-# build and run hello_5 project
-
-all : build run
-
-.PHONY : force
-
-build : force
-        gprbuild -PExample_5.gpr hello_5
-
-run :
-        ./hello_5
-
-clean :
-        gnatclean -r -PExample_5
-
-# Local Variables:
-# eval:(unless (wisi-prj-find-function-set-p)(add-hook 'project-find-functions 
'wisi-prj-current-cached))
-# eval:(wisi-prj-dtrt-parse-file "hello_5.prj" (ada-prj-default "hello_5 # 
main") "Makefile")
-# End:
-@end example
-
-Tell Emacs to allow @code{eval} in @code{Local Variables}:
-@example
-M-: (setq enable-local-eval t)
-@end example
-
-Close and re-open @file{Makefile}; the @samp{Local Variables} section
-sets the project file to @file{hello_5.prj} when the @file{Makefile}
-is opened.
-
-If you have set @code{project-find-functions} in your @file{~/.emacs},
-you can leave out the first @code{eval} line. Note that
-@code{wisi-prj-dtrt-parse-file} does the right thing depending on
-which wisi function is in @code{project-find-functions}.
-
-In @file{Makefile}, invoke @samp{Tools | Compile...}, and accept the
-default make command. This runs the @samp{all} target, which builds
-@file{hello_5} and runs it (you may have to fix source errors first,
-depending on how fresh the Example_4 directory is).
-
-@node Compiler errors,  , Compiling Examples, Compiling Executing
-@section Compiler errors
-
-The @code{Check syntax} and @code{Build} commands, or running
-@code{make}, place compilation errors in a separate buffer named
-@code{*compilation*}.
-
-Each line in this buffer will become active: you can simply click on
-it with the middle button of the mouse, or move point to it and press
-@key{RET}. Emacs will then display the relevant source file and put
-point on the line and column where the error was found.
-
-You can also press the @kbd{C-x `} key (@code{next-error}), and Emacs
-will jump to the first error. If you press that key again, it will
-move you to the second error, and so on.
-
-Some error messages also include references to other files. These
-references are accessed via @kbd{C-c `}.
-
-@node Project files, Moving Through Ada Code, Compiling Executing, Top
-@chapter Project files
-
-Ada mode uses wisi project files; @ref{wisi, Project files, Project files, 
wisi}.
-
-A wisi project file specifies what directories hold sources for your
-project, and allows you to customize the compilation commands and
-other things on a per-project basis.
-
-The default file extension for wisi project files is @file{*.adp}
-or @file{*.prj}. You can use a different extension by adding it to
-@code{ada-prj-file-extensions}, and a different syntax by adding a
-parser function to @code{ada-prj-parser-alist}.
-
-Note that wisi project files are different than GNAT
-compiler project files (@samp{*.gpr}). However, Emacs Ada mode can use a
-GNAT project file to specify the project directories. If no
-other customization is needed, a GNAT project file can be used without
-a wisi project file.
-
-If no wisi project file is specified, some Ada mode functions are not
-available.
-
-@menu
-* Project file overview::
-* Project file variables::
-@end menu
-
-@node Project file overview, Project file variables, Project files, Project 
files
-@section Project file overview
-
-The current project file is shown by the menu command
-@key{Ada | Project Files | Show project}.
-
-To set the project file, use the menu command @key{Ada | Project Files | Find 
and
-select Project ...}, or one of the elisp functions described in
-@ref{wisi, Selecting Projects, Selecting Projects, wisi}.
-
-The project file may also be a GNAT project file (with file extension
-is @code{.gpr}).
-
-@node Project file variables,  , Project file overview, Project files
-@section Project file variables
-
-Some project variables have defaults that can be changed by setting
-elisp variables; the table below identifies the elisp variable for each
-project variable. Elisp variables corresponding to project variables
-that are lists are elisp lists.
-
-wisi defines some project variables, Ada mode defines some, others are
-defined by the compiler and the cross reference tool.
-
-Here is the list of variables valid defined by wisi and Ada mode. In
-the default values, the current directory @code{"."} is the directory
-containing the project file.
-
-@table @asis
-@c These are the names that appear in the .prj file.
-@c
-@c defined in wisi-prj.el and ada-mode.el wisi-prj-parse-one.
-@c defaults defined in ada-mode.el ada-prj-default
-
-@item @code{ada_compiler}   [default: @code{ada-compiler, gnat}]
-Ada compiler for this project.
-
-Setting this in the project file reinitializes all options for the
-xref tool, so it must occur before any compiler-specific project
-variable.
-
-@item @code{casing}
-List of files containing casing exceptions. @xref{Automatic casing,
-Automatic casing, wisi.info}.
-
-@item @code{gnat-stub-args}
-List of strings passed to @code{gnat stub} when it is run.
-
-@item @code{gnat-stub-cargs}
-List of strings passed to @code{gnat stub} after @code{-cargs}.
-
-@item @code{obj_dir}
-A list of directories to search for object and cross-reference
-files. Only needed if you are not using GPR files.
-
-@item @code{src_dir}
-A list of directories to search for source files. Added to the source
-directories from a gpr file (if any).
-
-@item @code{xref_tool}      [default: @code{ada-xref-tool}]
-Cross reference tool for this project.
-
-Setting this in the project file reinitializes all options for the
-xref tool, so it must occur in the project file before any other
-settings that affect the xref tool.
-
-If @file{gpr_query} is found in @code{PATH}, @code{ada-xref-tool}
-defaults to @code{'gpr_query}. Otherwise, it defaults to @code{'gnat},
-which uses @code{gnat find}.
-
-@end table
-
-The following project file variables are defined by the GNAT compiler:
-
-@table @asis
-@c defined in gnat-core.el wisi-compiler-parse-one.
-@item @code{ada_project_path}   [default: ]
-Same as @code{gpr_project_path}; see below.
-
-@item @code{gpr_file}   [default: ]
-The GNAT project file for the project.
-
-If set, the source and project directories specified in the GNAT
-project file are appended to @code{src_dir} and
-@code{gpr_project_path}. This allows specifying Ada source directories
-with a GNAT project file, and other source directories with the Emacs
-project file.
-
-@item @code{gpr_project_path}   [default: ]
-A list of directories to
-search for GNAT project files. The list is passed to tools via the
-@code{GPR_PROJECT_PATH} process environment variable in the process
-used to run the @code{gnat} and @code{gpr_query} tools.
-
-If not set, @code{GPR_PROJECT_PATH} in the child process is inherited
-from the Emacs process.
-
-@item @code{runtime} [default: ]
-@c slot gnat-compiler-runtime
-If set, the name of the runtime, used as the value of the @code{RTS}
-command line option for tools.
-
-@item @code{target} [default: @code{nil}]
-@c slot gnat-compiler-target
-If set, the name of the cross-compilation target, prepended to the
-@code{gnat} executable name.
-
-@end table
-
-The following project variables are used by the @code{Ada | Build}
-menu commands:
-
-@table @asis
-@item @code{check_cmd} [default: @code{ada-build-check-cmd}]
-Compiler commannd to syntax check a single file.
-
-@item @code{main} [default: basename of current file name]
-File name of executable to build.
-
-@item @code{make_cmd} [default: @code{ada-build-make-cmd}]
-Command to compile and link the application.
-
-@item @code{run_cmd} [default: @code{ada-build-run-cmd}]
-Command to run the application.
-
-@end table
-
-@node Moving Through Ada Code, Identifier completion, Project files, Top
-@chapter Moving Through Ada Code
-
-There are several commands to navigate through Ada code. All
-these functions are available through the Ada menu and keybindings.
-
-Some of these commands rely on cross reference facilities provided by
-the compiler; the standard Emacs Ada mode only supports the GNAT
-compiler, but others can be added (@pxref{Other cross-reference}).
-
-@table @kbd
-@item C-c C-d
-Move from any use of an identifier to its declaration, for from a declaration 
to
-its body (if there is one).
-
-This runs @code{xref-find-definitions}, which has a default global
-binding of @key{M-.}
-
-@item C-c M-d
-Move from a child type declaration to the parent type declaration;
-display a list of references if there is more than one parent.
-
-@item C-c C-n
-Move to the next keyword in the current statement.
-
-For example, if point is on @samp{if}, move to @samp{then}.
-
-This runs @code{forward-sexp}, which has a default global binding of
-@kbd{C-M-f}.
-
-@item C-c C-p
-Move to the previous keyword in the current statement.
-
-For example, if point is on @samp{then}, move to @samp{if}.
-
-This runs @code{backward-sexp}, which has a default global binding of
-@kbd{C-M-b}.
-
-@item C-c C-o
-Switch between corresponding spec and body. There are several special
-cases:
-
-@itemize @bullet
-@item
-If the region is active, it is assumed to contain an Ada package
-name; position point on the corresponding package declaration.
-
-@item
-If point is in the start line of a top level child package
-declaration (but not package body), or a child subprogram spec or
-body, position point on the corresponding parent package
-declaration.
-
-@item
-If point is in the start line of a top level separate body,
-position point on the corresponding separate stub declaration.
-
-@item
-If point is in a subprogram declaration or body, position point on the
-corresponding body or declaration in the other file.
-
-@item
-If point is on a @code{with} clause, position point on the
-corresponding declaration.
-
-@end itemize
-
-@item C-c C-r
-Show all references to the identifier surrounding point. Use
-@kbd{C-x `} (@code{next-error}) to visit each reference (as for
-compilation errors).
-
-@item C-c C-x
-Show all declarations that override the primitive procedure at
-point. Use @kbd{C-x `} (@code{next-error}) to visit each reference (as
-for compilation errors).
-
-@item C-c M-x
-Show the declaration that the declaration at point overrides.
-
-@item C-u SPACE
-Jump back to the previous location.
-
-@item Ada | Misc | Refresh cross reference cache
-Cross reference information is loaded from the compiler output when
-the first cross reference command is issued (or when the project file
-is parsed, if useing cached project files). If the code is recompiled
-after that, the cross reference information is reloaded by invoking
-this menu command.
-
-@end table
-
-@node Identifier completion, Indentation, Moving Through Ada Code, Top
-@chapter Identifier completion
-
-Emacs provides two general ways of completing identifiers while typing: 
@kbd{M-/}
-(bound to @code{dabbrev-expand}), and @kbd{M-tab} (bound to
-@code{complete-symbol}.
-
-This is an easy way to type faster: you just have to type the first
-few letters of an identifier, and then loop through all the possible
-completions.
-
-@code{complete-symbol} completes on all the symbols defined in the
-current project, as returned by @code{gpr_query}. For a
-procedure declared as:
-
-@example
-package Package_Name is
-   procedure Procedure_Name (args);
-@end example
-
-the completion string looks like:
-
-@example
-Procedure_Name(args)<Package_Name<line>>
-@end example
-
-so for example you can type "iterate<wisitok" to complete on WisiToken
-iterators, or "add(Data" to complete on all subprograms whose name
-starts with "add" and whose first argument starts with "Data".
-
-If you have bound @code{hippie-expand}, that also uses
-@code{dabbrev-expand}.
-
-@code{dabbrev-expand} completes on all words in all open Ada files for
-possible completions, using simple Emacs syntax-class parsing.
-
-For instance, if the words @samp{my_identifier} and @samp{my_subprogram}
-are the only words starting with @samp{my} in any of the open Ada files,
-then you will have this scenario:
-
-@example
-You type:  my@kbd{M-/}
-Emacs inserts:  @samp{my_identifier}
-If you press @kbd{M-/} once again, Emacs replaces @samp{my_identifier} with
-@samp{my_subprogram}.
-Pressing @kbd{M-/} once more will bring you back to @samp{my_identifier}.
-@end example
-
-This is a very fast way to do completion, and the casing of words will
-also be respected.
-
-Another place where identifier completion is used in the
-@code{xref-find-definitions} (@key{C-u M-.}) and
-@code{wisi-goto-spec/body} (@key{C-u C-c C-d}) commands; these complete
-on all symbols in the project (provided by @code{gpr_query}). With two
-@kbd{C-u}, the completion is limited to symbols defined in the current
-file.
-
-Note that in Ada, for subprograms that have a specification in the
-@file{.ads} file and a body in the @file{.adb} file,
-@key{C-u C-u C-c C-d} returns the spec location only, so it will not
-find the function if invoked in the @file{.adb} file.
-
-@node Indentation, Statement skeletons, Identifier completion, Top
-@chapter Indentation
-
-Ada mode comes with a full set of rules for automatic indentation. You
-can also configure the indentation, via the following variables:
-
-@table @asis
-@item @code{ada-indent}                  (default value: 3)
-Number of columns for default indentation.
-
-@item @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.
-
-@item @code{ada-indent-comment-col-0}  (default value: nil)
-If non-nil, comments currently starting in column 0 are left in column
-0.  Otherwise, they are indented with previous comments or code.
-
-@item @code{ada-indent-comment-gnat}  (default value: nil)
-If non-nil, comments are indented to meet the GNAT style check; one
-of:
-   @itemize
-   @item
-   multiple of @code{ada-indent}
-   @item
-   next non-blank line
-   @item
-   previous non-blank line
-   @end itemize
-
-Otherwise, they are indented with previous comments or code.
-
-@c @item @code{ada-indent-hanging-rel-exp} still experimental
-
-@item @code{ada-indent-label}            (default value: -3)
-Number of columns to indent a label.
-
-@item @code{ada-indent-record-rel-type}  (default value: 3)
-Indentation for @code{record} relative to @code{type} or @code{use}.
-
-@item @code{ada-indent-renames}           (default value: 2)
-Indentation for @code{renames} relative to the matching subprogram keyword.
-
-If the subprogram has parameters then if @code{ada-indent-renames} is
-zero or less the indentation is abs @code{ada-indent-renames} relative
-to the open parenthesis; if @code{ada-indent-renames} is one or more
-the indentation is relative to the line containing the keyword.
-
-If the subprogram has no parameters then @code{ada-indent-broken} the
-indentation is relative to the indentation of the line containing
-the keyword.
-
-@item @code{ada-indent-return}           (default value: 0)
-Indentation for @code{return} relative to the matching
- @code{function}.
-
-If the function has parameters, then if @code{ada-indent-return} is
-zero or less the indentation is abs @code{ada-indent-return} relative
-to the open parenthesis; if @code{ada-indent-return} is one or more,
-indentation is relative to line containing @code{function}.
-
-If the function has no parameters, @code{ada-indent-broken} is used
-relative to line containing @code{function}.
-
-@item @code{ada-indent-use}  (default value: ada-indent-broken)
-Indentation for the lines in a @code{use} statement.
-
-@item @code{ada-indent-when}             (default value: 3)
-Indentation for @code{when} relative to @code{exception}, @code{case},
-or @code{or} in @code{select}.
-
-@item @code{ada-indent-with}             (default value: ada-indent-broken)
-Indentation for the lines in a @code{with} context clause.
-
-@end table
-
-The indentation variables are buffer local; the global value may be
-overridden in an elisp function on @code{ada-mode-hook}, or in a file
-local variable section.
-
-The following keys indent portions of the text:
-@table @kbd
-
-@item RET
-Insert and indent a new line.
-
-@item TAB
-Indent the current line, or the current region.
-
-@item C-c TAB
-Indent the current statement or declaration.
-
-@item C-c S-TAB
-Indent the statement or declaration containing the current statement
-or declaration.
-
-@end table
-
-The indentation algorithm relies on a grammar parser to identify the
-syntactic role for keywords and other words in the code.
-
-In rare cases, the parser gets confused; it can be reset by invoking
-menu @key{Ada | Misc | Restart parser}. Please report such cases as a
-bug.
-
-@node Statement skeletons, Aligning code, Indentation, Top
-@chapter Statement skeletons
-
-@kbd{C-c C-e} expands the previous one or two words into a statement
-skeleton. For example, @kbd{i f C-c C-e} expands to:
-
-@example
-if  then
-elsif  then
-else
-end if;
-@end example
-
-For named statements (packages, loops, etc), the name is taken from
-the word before point, and the name of the statement from the word
-before that.
-
-Some expansions prompt for more information, such as
-whether a spec or body is desired. For example, @kbd{package A_Package
-C-c C-e} first prompts for ``body'' or ``spec''. If ``spec'' is
-selected, the following code is inserted:
-
-@example
-package A_Package is
-private
-end A_Package;
-@end example
-
-Named blocks work similarly: @kbd{declare A_Block C-c C-e} expands
-(without prompting) to:
-
-@example
-A_Block:
-   declare
-   begin
-   exception
-   end A_Block;
-@end example
-
-Note that the order of the keyword @code{declare} and the name
-@code{A_Block} are reversed in the expansion; this may take some
-getting used to. Alternately, if no name is present in the buffer, you
-are prompted for a name: @kbd{declare C-c C-e} first prompts for a
-name, then expands to the above.
-
-The variable @code{ada-skel-initial-string} defines what to insert in
-a newly created empty buffer. It defaults to @code{@{header@}}, which
-is a placeholder defined by @code{ada-skel-header}, which inserts a
-typical header with a copyright license (choice of GPL or
-restricted). Users will typically want to override the definition of
-@code{ada-skel-initial-string} and/or @code{ada-skel-header}, or
-provide more choices of copyright license.
-
-@node Aligning code, Automatic casing, Statement skeletons, Top
-@chapter Aligning code
-
-Aligning code adds space in each line so that similar parts of
-successive lines are aligned vertically. For example, a sequence of
-declarations:
-
-@example
-A : Integer;
-Another : Float := 1.0;
-More : Integer := 2;
-@end example
-
-changes to this when aligned:
-
-@example
-A       : Integer;
-Another : Float   := 1.0;
-More    : Integer := 2;
-@end example
-
-Alignment is invoked by @kbd{C-c C-a}, which aligns the sequence of
-statements surrounding point, or within the selected region.
-
-Parameter lists are also aligned:
-
-@example
-   procedure Foo
-     (A : in Integer;
-      Another : out Float := 1.0;
-      More : in out Integer := 2);
-@end example
-
-is aligned to:
-
-@example
-   procedure Foo
-     (A       : in     Integer;
-      Another :    out Float   := 1.0;
-      More    : in out Integer := 2);
-@end example
-
-@node Automatic casing, Comment Handling, Aligning code, Top
-@chapter Automatic casing
-
-Casing of identifiers, attributes and keywords is automatically
-performed while typing when the variable @code{ada-auto-case} is
-non-nil (the default). Every time you type a word separator, the
-previous word is automatically cased.
-
-You can customize the automatic casing with the following variables:
-
-@table @code
-@item ada-case-keyword
-Value must be one of:
-@table @code
-@item downcase-word
-Ada keywords will be lowercase.
-
-@item upcase-word
-Ada keywords will be uppercase.
-@end table
-
-@item ada-case-strict
-If non-nil, all identifiers are forced to @code{Mixed_Case}; first
-letter, and letter following ``_'' are uppercase; rest are
-lowercase.
-
-If nil, the mixed case characters in identifiers are forced to upper
-case, but the other characters are not modified. That allows typing
-all uppercase identifiers without defining a casing exception.
-@end table
-
-You can define exceptions to these rules, in files specified by the
-@code{casing} project variable; @ref{Casing exception files, Casing
-exception files, Casing exception files, wisi}.
-
-There are two ways to add new items to a casing exception file: you
-can simply edit it as you would edit any text file, or you can
-position point on the word you want to add, and select menu @samp{Ada
-| Casing | Create full exception} or @samp{Ada | Casing | Create
-partial exception}.  The word will be added to the current list of
-exceptions and to the file.
-
-It is sometimes useful to have multiple exception files. For
-example, one could be the standard Ada acronyms, the second some
-company specific exceptions, and the last one some project specific
-exceptions. When you create a new exception, you are prompted for the
-file to save it in.
-
-Other keys and menu entries are defined:
-
-@table @kbd
-@item C-c C-w
-Adjust case of the word at point. With prefix arg, adjust case even if
-in a comment or string. Normally, comments and strings are not
-affected by case adjust.
-
-@item Ada | Casing | Adjust case region
-Adjust case in the active region.
-
-@item Ada | Casing | Adjust case buffer
-Adjust case in the active buffer.
-
-@end table
-
-@node Comment Handling, Key summary, Automatic casing, Top
-@chapter Comment Handling
-
-By default, comment lines get indented like Ada code. There are a few
-additional functions to handle comments:
-
-@table @kbd
-@item M-;
-If the region is active, comment or uncomment it.
-
-If the current line is empty, start a comment.
-
-Otherwise, add a comment at the end of the line, in a column given by
-@code{comment-column}.
-
-@item M-q
-Fill the current comment paragraph.
-@end table
-
-@node Key summary, Developer overview, Comment Handling, Top
-@chapter Key summary
-@c search for @kbd and @key. Alphabetical by key sequence
-
-This table summarizes the keys described in this manual. Other keys
-are bound by Ada mode; see @key{C-h b} for a complete list. The
-Ada menu also displays keys bound to menu operations.
-
-@table @kbd
-@item M-/
-@xref{Identifier completion}.
-Complete the word before point; repeat to cycle thru possible
-completions.
-
-@item M-;
-@xref{Comment Handling}.
-If the region is active, comment or uncomment it.
-
-@item M-q
-@xref{Comment Handling}.
-Fill the current comment paragraph.
-
-@item RET
-@xref{Indentation}.
-Insert and indent a new line.
-
-@item TAB
-@xref{Indentation}.
-Indent the current line, or the current region.
-
-@item C-c TAB
-@xref{Indentation}.
-Indent the current statement or declaration.
-
-@item C-c S-TAB
-@xref{Indentation}.
-Indent the containing statement or declaration.
-
-@item C-c `
-@xref{Compiler errors}.
-Move to the location of the secondary reference in the current compilation 
error.
-
-@item C-c C-a
-@xref{Aligning code}.
-Align code.
-
-@item C-c C-c
-@xref{Compile commands}.
-Build the current main program.
-
-@item C-c C-d
-@xref{Moving Through Ada Code}.
-Move from any use of an identifier to its declaration, for from a declaration 
to its body.
-
-@item C-c M-d
-@xref{Moving Through Ada Code}.
-Move from a child type declaration to the parent type declaration.
-
-@item C-c C-e
-@xref{Statement skeletons}.
-Expand previous one or two words into a statement or declaration
-skeleton.
-
-@item C-c C-c
-@xref{Compile commands}.
-Build the current file.
-
-@item C-c C-n
-@xref{Moving Through Ada Code}.
-Move to the next keyword in the current statement.
-
-@item C-c C-o
-@xref{Moving Through Ada Code}.
-Switch between corresponding spec and body, or find other spec.
-
-@item C-c C-p
-@xref{Moving Through Ada Code}.
-Move to the previous keyword in the current statement.
-
-@item C-c C-r
-@xref{Moving Through Ada Code}.
-Show all references to the identifier surrounding point.
-
-@item C-c C-w
-@xref{Automatic casing}.
-Adjust case of the word at point. With prefix arg, adjust case even if
-in comment or string.
-
-@item C-c C-x
-@xref{Moving Through Ada Code}.
-Show all declarations that override the primitive procedure at
-point.
-
-@item C-c C-y
-@xref{Automatic casing}.
-Create case exception.
-
-@item C-c `
-@xref{Compiler errors}.
-Move to the location of the next secondary compilation error.
-
-@item C-x `
-@xref{Compiler errors}.
-Move to the location of the next compilation error or show result.
-
-@item M-q
-@xref{Comment Handling}.
-Fill the current comment paragraph.
-
-@end table
-
-@node Developer overview, GNU Free Documentation License, Key summary, Top
-@chapter Developer overview
-If you'd like to contribute to Ada mode, or just understand the
-sources, here's an overview.
-
-@menu
-* Directory structure::
-* ELPA::
-* Savannah::
-* ada-france::
-@end menu
-
-@node Directory structure
-@section Directory structure
-@table @file
-@item org.emacs.ada-mode
-Main source.
-
-File extensions:
-@table @file
-@item *.el
-Elisp files; main code.
-
-@item *.elc
-Byte-compiled elisp files, not in the distribution. Generated by the
-Makefile target @code{byte-compile}, or by the Emacs package installer.
-
-@item *.ad?
-Ada code for the external process parser, some generated by the
-WisiToken tool @file{wisitoken-bnf-generate.exe}. The generated code
-is in the tarball distribution and the monotone repository so users
-and Elisp developers don't have to install WisiToken.
-
-@item *.parse_table
-Diagnostic output from @file{wisitoken-bnf-generate.exe}, useful for tracing
-parses while debugging a grammar issue. Not in the tarball
-distribution or the monotone repository.
-
-@item *.wy
-Grammar files, specifying the language to be parsed. The syntax for
-these grammar files is similar to that for bison and wisent, but not
-the same; see the WisiToken documentation for more info.
-
-@item *.texi
-Texinfo source for the user guides.
-
-@item *.html
-Generated user guide in HTML format.
-
-@item *.info
-Generated user guide in Emacs info format.
-
-@end table
-
-@item build
-Makefile for building the external process executable, gpr-query, and
-the user guides; for running tests; and for publishing to the web page or
-Gnu ELPA. The main targets are:
-
-@table @code
-@item elisp
-Builds ada-mode in place, runs all tests.
-
-@item update-elisp
-Builds ada-mode in place.
-
-@item install
-Installs executables in the GNAT executable directory.
-
-@item pub
-Builds the ELPA packages.
-@end table
-
-@item test
-All tests for Ada mode, gpr mode, parser.
-
-Each test is run in a separate invocation of Emacs, so it is
-completely independent of all other tests.
-
-The tests are driven by the elisp code in @file{wisi-run-indent-test.el}.
-
-In general, the Ada mode tests open the file, execute test actions,
-re-indent, and re-captialize the entire file. The result is diffed
-with the original, and must match.
-
-The test actions are defined by comments with the prefix
-@code{--EMACSCMD:}; they are elisp forms that invoke Ada mode
-functions. This is used to test navigation features and other parser
-effects.
-
-@item test/Example_*
-Starting files for the examples in this user guide.
-
-@item test/gpr
-Tests for gpr mode.
-
-@item test/subdir
-More tests; allows testing path search features.
-
-@end table
-
-@node ELPA
-@section ELPA
-Ada mode is published via the Gnu ELPA archive. To test a new version
-of Ada mode, we use a local Gnu ELPA archive. That requires fetching
-Gnu ELPA via git:
-
-@example
-cd /Projects
-git clone git://git.savannah.gnu.org/emacs/elpa.git
-@end example
-
-If you have an Emacs Savannah developer account, you can use:
-
-@example
-cd /Projects
-git clone <login>@@git.savannah.gnu.org/emacs/elpa.git
-@end example
-
-@file{build/Makefile} contains targets for copying Ada mode source to
-the elpa workspace, and for building the elpa archive there.
-
-@node Savannah
-@section Savannah
-
-The ada-mode web page, mailing list, and tarball download are hosted
-on savannah.non-gnu.org, project Emacs Ada mode
-(@url{https://savannah.nongnu.org/projects/ada-mode/}). See the
-project admin page there for more information.
-
-@node ada-france
-@section ada-france
-
-The source code for ada-mode is maintained in a monotone repository in
-the ada-france server @url{mtn://www.ada-france.org}.
-
-@node GNU Free Documentation License
-@appendix GNU Free Documentation License
-@include doclicense.texi
-
-@bye
diff --git a/packages/ada-mode/ada-prj.el b/packages/ada-mode/ada-prj.el
deleted file mode 100644
index 141d25e..0000000
--- a/packages/ada-mode/ada-prj.el
+++ /dev/null
@@ -1,9 +0,0 @@
-;; dummy file to hide obsolete bundled version
-;;
-;; Copyright (C) 2020  Free Software Foundation, Inc.
-;;
-;; Keep this file until drop support for Emacs 26; core ada-mode deleted in 
Emacs 27.
-
-(require 'ada-mode)
-(provide 'ada-prj)
-(message "'ada-prj' is obsolete; use 'ada-mode' instead")
diff --git a/packages/ada-mode/ada-process.el b/packages/ada-mode/ada-process.el
deleted file mode 100644
index 8de15cd..0000000
--- a/packages/ada-mode/ada-process.el
+++ /dev/null
@@ -1,479 +0,0 @@
-;;; 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 - 2020 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
-;;  published by the Free Software Foundation; either version 3, or (at
-;;  your option) any later version.
-;;
-;;  This software 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 'wisi-process-parse)
-
-(defconst ada-process-token-table
-  [WHITESPACE
-   NEW_LINE
-   COMMENT
-   ABS
-   ACCEPT
-   ABORT
-   ABSTRACT
-   ACCESS
-   ALIASED
-   ALL
-   AND
-   ARRAY
-   AT
-   BEGIN
-   BODY
-   CASE
-   CONSTANT
-   DECLARE
-   DELAY
-   DELTA
-   DIGITS
-   DO
-   ELSE
-   ELSIF
-   END
-   ENTRY
-   EXCEPTION
-   EXIT
-   FOR
-   FUNCTION
-   GENERIC
-   GOTO
-   IF
-   IN
-   INTERFACE
-   IS
-   LIMITED
-   LOOP
-   MOD
-   NEW
-   NOT
-   NULL
-   OF
-   OR
-   OTHERS
-   OUT
-   OVERRIDING
-   PACKAGE
-   PRAGMA
-   PRIVATE
-   PROCEDURE
-   PROTECTED
-   RAISE
-   RANGE
-   RECORD
-   REM
-   RENAMES
-   REQUEUE
-   RETURN
-   REVERSE
-   SEPARATE
-   SELECT
-   SOME
-   SUBTYPE
-   SYNCHRONIZED
-   TAGGED
-   TASK
-   TERMINATE
-   THEN
-   TYPE
-   UNTIL
-   USE
-   WHEN
-   WHILE
-   WITH
-   XOR
-   LEFT_PAREN
-   LEFT_SQUARE_BRACKET
-   RIGHT_PAREN
-   RIGHT_SQUARE_BRACKET
-   AMPERSAND
-   AT_SIGN
-   BAR
-   BOX
-   COLON
-   COLON_EQUAL
-   COMMA
-   DOT
-   DOT_DOT
-   EQUAL
-   EQUAL_GREATER
-   GREATER
-   GREATER_EQUAL
-   GREATER_GREATER
-   LESS
-   LESS_EQUAL
-   LESS_LESS
-   MINUS
-   PLUS
-   SEMICOLON
-   SLASH
-   SLASH_EQUAL
-   STAR
-   STAR_STAR
-   TICK_1
-   TICK_2
-   NUMERIC_LITERAL
-   IDENTIFIER
-   STRING_LITERAL
-   CHARACTER_LITERAL
-   Wisi_EOI
-   wisitoken_accept
-   abstract_limited_synchronized_opt
-   abstract_limited_opt
-   abstract_tagged_limited_opt
-   abstract_subprogram_declaration
-   accept_statement
-   access_definition
-   actual_parameter_part
-   actual_parameter_part_opt
-   aggregate
-   aliased_opt
-   and_interface_list_opt
-   array_type_definition
-   aspect_clause
-   aspect_specification_opt
-   assignment_statement
-   association_opt
-   association_list
-   asynchronous_select
-   at_clause
-   attribute_reference
-   attribute_designator
-   binary_adding_operator
-   block_label
-   block_label_opt
-   block_statement
-   body_g
-   body_stub
-   case_expression
-   case_expression_alternative
-   case_expression_alternative_list
-   case_statement
-   case_statement_alternative
-   case_statement_alternative_list
-   compilation_unit
-   compilation
-   component_clause
-   component_clause_list
-   component_declaration
-   component_definition
-   component_item
-   component_list
-   component_list_opt
-   compound_statement
-   conditional_entry_call
-   conditional_quantified_expression
-   constant_opt
-   constraint
-   constraint_opt
-   declaration
-   declarations
-   declarative_part_opt
-   delay_alternative
-   delay_statement
-   derived_type_definition
-   direct_name
-   direct_name_opt
-   discrete_choice
-   discrete_choice_list
-   discrete_subtype_definition
-   discrete_subtype_definition_list
-   discriminant_part_opt
-   discriminant_specification_opt
-   discriminant_specification_list
-   elsif_expression_item
-   elsif_expression_list
-   elsif_statement_item
-   elsif_statement_list
-   entry_body
-   entry_body_formal_part
-   entry_call_alternative
-   entry_declaration
-   enumeration_literal
-   enumeration_literal_list
-   enumeration_representation_clause
-   enumeration_type_definition
-   exception_choice
-   exception_choice_list
-   exception_declaration
-   exception_handler
-   exception_handler_list
-   exception_handler_list_opt
-   exit_statement
-   expression
-   expression_opt
-   expression_function_declaration
-   extended_return_object_declaration
-   extended_return_object_declaration_opt
-   extended_return_statement
-   factor
-   formal_object_declaration
-   formal_part
-   formal_subprogram_declaration
-   formal_type_declaration
-   formal_type_definition
-   formal_derived_type_definition
-   formal_package_declaration
-   formal_package_actual_part
-   full_type_declaration
-   function_specification
-   general_access_modifier_opt
-   generic_declaration
-   generic_formal_part
-   generic_formal_parameter_declarations
-   generic_formal_parameter_declaration
-   generic_instantiation
-   generic_package_declaration
-   generic_renaming_declaration
-   generic_subprogram_declaration
-   goto_label
-   handled_sequence_of_statements
-   identifier_list
-   identifier_opt
-   if_expression
-   if_statement
-   incomplete_type_declaration
-   index_constraint
-   index_subtype_definition
-   index_subtype_definition_list
-   interface_list
-   interface_type_definition
-   iteration_scheme
-   iterator_specification
-   iterator_specification_opt
-   loop_statement
-   membership_choice_list
-   membership_choice
-   mod_clause_opt
-   mode_opt
-   multiplying_operator
-   name_list
-   name
-   name_opt
-   null_exclusion_opt
-   null_exclusion_opt_name_type
-   null_procedure_declaration
-   object_declaration
-   object_renaming_declaration
-   overriding_indicator_opt
-   package_body
-   package_body_stub
-   package_declaration
-   package_renaming_declaration
-   package_specification
-   parameter_and_result_profile
-   parameter_profile_opt
-   parameter_specification
-   parameter_specification_list
-   paren_expression
-   pragma_g
-   primary
-   private_extension_declaration
-   private_type_declaration
-   procedure_call_statement
-   procedure_specification
-   proper_body
-   protected_body
-   protected_body_stub
-   protected_definition
-   protected_operation_item
-   protected_operation_item_list
-   protected_operation_item_list_opt
-   protected_opt
-   protected_type_declaration
-   qualified_expression
-   quantified_expression
-   quantifier
-   raise_expression
-   raise_statement
-   range_g
-   range_list
-   real_range_specification_opt
-   record_definition
-   record_representation_clause
-   relation_and_list
-   relation_and_then_list
-   relation_or_list
-   relation_or_else_list
-   relation_xor_list
-   relation
-   relational_operator
-   renaming_declaration
-   requeue_statement
-   result_profile
-   return_subtype_indication
-   selected_component
-   selective_accept
-   select_alternative
-   select_alternative_list
-   select_alternative_list_opt
-   select_statement
-   sequence_of_statements
-   sequence_of_statements_opt
-   simple_expression
-   simple_return_statement
-   simple_statement
-   single_protected_declaration
-   single_task_declaration
-   statement
-   subprogram_body
-   subprogram_body_stub
-   subprogram_declaration
-   subprogram_default
-   subprogram_renaming_declaration
-   subprogram_specification
-   subtype_declaration
-   subtype_indication
-   subunit
-   task_body
-   task_body_stub
-   task_definition
-   task_type_declaration
-   term
-   term_list
-   tick
-   timed_entry_call
-   triggering_alternative
-   type_declaration
-   type_definition
-   variant_part
-   variant_list
-   variant
-   unary_adding_operator
-   use_clause
-   with_clause
-   ])
-
-(defconst ada-process-face-table
-  [
-   font-lock-constant-face
-   font-lock-function-name-face
-   font-lock-type-face
-   nil
-   ])
-
-(defconst ada-process-repair-image
-  '(
-   (ABS . "abs")
-   (ACCEPT . "accept")
-   (ABORT . "abort")
-   (ABSTRACT . "abstract")
-   (ACCESS . "access")
-   (ALIASED . "aliased")
-   (ALL . "all")
-   (AND . "and")
-   (ARRAY . "array")
-   (AT . "at")
-   (BEGIN . "begin")
-   (BODY . "body")
-   (CASE . "case")
-   (CONSTANT . "constant")
-   (DECLARE . "declare")
-   (DELAY . "delay")
-   (DELTA . "delta")
-   (DIGITS . "digits")
-   (DO . "do")
-   (ELSE . "else")
-   (ELSIF . "elsif")
-   (END . "end")
-   (ENTRY . "entry")
-   (EXCEPTION . "exception")
-   (EXIT . "exit")
-   (FOR . "for")
-   (FUNCTION . "function")
-   (GENERIC . "generic")
-   (GOTO . "goto")
-   (IF . "if")
-   (IN . "in")
-   (INTERFACE . "interface")
-   (IS . "is")
-   (LIMITED . "limited")
-   (LOOP . "loop")
-   (MOD . "mod")
-   (NEW . "new")
-   (NOT . "not")
-   (NULL . "null")
-   (OF . "of")
-   (OR . "or")
-   (OTHERS . "others")
-   (OUT . "out")
-   (OVERRIDING . "overriding")
-   (PACKAGE . "package")
-   (PRAGMA . "pragma")
-   (PRIVATE . "private")
-   (PROCEDURE . "procedure")
-   (PROTECTED . "protected")
-   (RAISE . "raise")
-   (RANGE . "range")
-   (RECORD . "record")
-   (REM . "rem")
-   (RENAMES . "renames")
-   (REQUEUE . "requeue")
-   (RETURN . "return")
-   (REVERSE . "reverse")
-   (SEPARATE . "separate")
-   (SELECT . "select")
-   (SOME . "some")
-   (SUBTYPE . "subtype")
-   (SYNCHRONIZED . "synchronized")
-   (TAGGED . "tagged")
-   (TASK . "task")
-   (TERMINATE . "terminate")
-   (THEN . "then")
-   (TYPE . "type")
-   (UNTIL . "until")
-   (USE . "use")
-   (WHEN . "when")
-   (WHILE . "while")
-   (WITH . "with")
-   (XOR . "xor")
-   (LEFT_PAREN . "(")
-   (LEFT_SQUARE_BRACKET . "[")
-   (RIGHT_PAREN . ")")
-   (RIGHT_SQUARE_BRACKET . "]")
-   (AMPERSAND . "&")
-   (AT_SIGN . "@")
-   (BAR . "|")
-   (BOX . "<>")
-   (COLON . ":")
-   (COLON_EQUAL . ":=")
-   (COMMA . ",")
-   (DOT . ".")
-   (DOT_DOT . "..")
-   (EQUAL . "=")
-   (EQUAL_GREATER . "=>")
-   (GREATER . ">")
-   (GREATER_EQUAL . ">=")
-   (GREATER_GREATER . ">>")
-   (LESS . "<")
-   (LESS_EQUAL . "<=")
-   (LESS_LESS . "<<")
-   (MINUS . "-")
-   (PLUS . "+")
-   (SEMICOLON . ";")
-   (SLASH . "/")
-   (SLASH_EQUAL . "/=")
-   (STAR . "*")
-   (STAR_STAR . "**")
-   (TICK_1 . "'")
-   (TICK_2 . "'")
-   (NUMERIC_LITERAL . "1234567890")
-   (IDENTIFIER . "A_Bogus_Identifier")
-   (STRING_LITERAL . "\"\"")
-   (CHARACTER_LITERAL . "' '")
-   ))
-
-(provide 'ada-process)
diff --git a/packages/ada-mode/ada-skel.el b/packages/ada-mode/ada-skel.el
deleted file mode 100644
index 537a159..0000000
--- a/packages/ada-mode/ada-skel.el
+++ /dev/null
@@ -1,364 +0,0 @@
-;;; ada-skel.el --- Extension to Ada mode for inserting statement skeletons  
-*- lexical-binding:t -*-
-
-;; Copyright (C) 1987, 1993, 1994, 1996-2020  Free Software Foundation, Inc.
-
-;; Authors: Stephen Leake <stephen_leake@stephe-leake.org>
-
-;; 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/>.
-
-;;; Design:
-;;
-;; The primary user command is `wisi-skel-expand', which inserts the
-;; skeleton associated with the previous word (possibly skipping a
-;; name).
-;;
-;; We don't define skeletons that prompt for most of the content; it
-;; is easier just to type in the buffer.
-;;
-;; These skeletons are not intended to teach a novice the language,
-;; just to make it easier to write code that the wisi parser
-;; handles without error, and handle repeated names nicely.
-
-;;; History:
-
-;; Created May 1987.
-;; Original version from V. Bowman as in ada.el of Emacs-18
-;; (borrowed heavily from Mick Jordan's Modula-2 package for GNU,
-;; as modified by Peter Robinson, Michael Schmidt, and Tom Perrine.)
-;;
-;; Sep 1993. Daniel Pfeiffer <pfeiffer@cict.fr> (DP)
-;; Introduced statement.el for smaller code and user configurability.
-;;
-;; Nov 1993. Rolf Ebert <ebert@enpc.fr> (RE) Moved the
-;; skeleton generation into this separate file. The code still is
-;; essentially written by DP
-;;
-;; Adapted Jun 1994. Markus Heritsch
-;; <Markus.Heritsch@studbox.uni-stuttgart.de> (MH)
-;; added menu bar support for templates
-;;
-;; 1994/12/02  Christian Egli <cegli@hcsd.hac.com>
-;; General cleanup and bug fixes.
-;;
-;; 1995/12/20  John Hutchison <hutchiso@epi.syr.ge.com>
-;; made it work with skeleton.el from Emacs-19.30. Several
-;; enhancements and bug fixes.
-;;
-;; Sep 2013 Stephen Leake renamed to ada-skel (to match skeleton.el),
-;; complete re-write: added ada-skel-alist (to get some of the
-;; functionality of the sadly missed Else package). Simplified
-;; skeletons; just make it easier to work with the ada-wisi parser,
-;; don't try to teach syntax.
-
-(require 'skeleton)
-(require 'wisi-skel)
-
-;;;;; user variables, example skeletons intended to be overwritten
-
-(defcustom ada-skel-initial-string
-  "{header}
---  Emacs note: Type C-c C-e with point after the above placeholder
---
---  This text was inserted by ada-skel-initial-string;
---  M-x customize-variable <RET> ada-skel-initial-string <RET>
---  (info \"(ada-mode)Statement skeletons\")"
-  "String to insert in empty buffer.
-This could end in a token recognized by `ada-skel-expand'."
-  :type 'string
-  :group 'ada
-  :safe #'stringp)
-
-(define-skeleton ada-skel-user-restricted
-  "Example copyright/license skeleton, with automatic year and owner."
-  ()
-  "--  Copyright (C) " (format-time-string "%Y ") user-full-name " All Rights 
Reserved.\n"
-  "\n"
-  "pragma License (Restricted);\n"
-)
-
-(define-skeleton ada-skel-gpl
-  "Example copyright/license skeleton, with automatic year and owner, GPLv3."
-  ()
-  "--  Copyright (C) " (format-time-string "%Y ") user-full-name " All Rights 
Reserved.\n"
-  "--\n"
-  "--  This library is free software;  you can redistribute it and/or modify 
it\n"
-  "--  under terms of the  GNU General Public License  as published by the 
Free\n"
-  "--  Software  Foundation;  either version 3,  or (at your  option) any 
later\n"
-  "--  version. This library is distributed in the hope that it will be 
useful,\n"
-  "--  but WITHOUT ANY WARRANTY;  without even the implied warranty of 
MERCHAN-\n"
-  "--  TABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
-  "\n"
-  "pragma License (GPL);\n"
-  )
-
-(define-skeleton ada-skel-modified-gpl
-  "Modified GPLv3 copyright/license skeleton, with automatic year and owner."
-  ()
-  "--  Copyright (C) " (format-time-string "%Y ") user-full-name " All Rights 
Reserved.\n"
-  "--\n"
-  "--  This library is free software;  you can redistribute it and/or modify 
it\n"
-  "--  under terms of the  GNU General Public License  as published by the 
Free\n"
-  "--  Software  Foundation;  either version 3,  or (at your  option) any 
later\n"
-  "--  version. This library is distributed in the hope that it will be 
useful,\n"
-  "--  but WITHOUT ANY WARRANTY;  without even the implied warranty of 
MERCHAN-\n"
-  "--  TABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
-  "\n"
-  "--  As a special exception under Section 7 of GPL version 3, you are 
granted\n"
-  "--  additional permissions described in the GCC Runtime Library 
Exception,\n"
-  "--  version 3.1, as published by the Free Software Foundation.\n"
-  "\n"
-  "pragma License (Modified_GPL);\n"
-)
-
-;;;;; Ada skeletons (alphabetical)
-
-(define-skeleton ada-skel-accept
-  "Insert accept statement with name from `str'."
-  ()
-  "accept " str " do\n"
-  "end " str ";\n")
-
-(define-skeleton ada-skel-case
-  "Insert case statement."
-  ()
-  "case " str " is\n"
-  "when " _ "=>\n"
-  "end case;\n")
-
-(define-skeleton ada-skel-declare
-  "Insert a block statement with an optional name (from `str')."
-  ()
-  str & ":\n"
-  "declare\n"
-  _
-  "begin\n"
-  "exception\n"
-  "end " str | -1 ";\n")
-
-(define-skeleton ada-skel-entry
-  "Insert entry statement with name from `str'."
-  ()
-  "entry " str " when " _ "\n"
-  "is\n"
-  "begin\n"
-  "end " str ";\n")
-
-(define-skeleton ada-skel-for
-  "Insert a for loop statement with an optional name (from `str')."
-  ()
-  str & " :\n"
-  "for " _ " loop\n"
-  "end loop " str | -1 ";\n")
-
-(define-skeleton ada-skel-function-body
-  "Insert a function body with name from `str'."
-  ()
-  "function " str " return \n"
-  "is\n"
-  "begin\n"
-  _
-  "end " str ";\n")
-
-(define-skeleton ada-skel-function-spec
-  "Insert a function type specification with name from `str'."
-  ()
-  "function " str " return ;\n")
-
-(define-skeleton ada-skel-header
-  "Insert a file header comment, with automatic copyright year and prompt for 
copyright owner/license.
-Each user will probably want to override this."
-  ()
-  "--  Abstract :\n"
-  "--\n"
-  "--  " _ "\n"
-  "--\n"
-  "{copyright_license}\n"
-  )
-
-(define-skeleton ada-skel-if
-  "Insert an if statement."
-  ()
-  "if " _ " then\n"
-  "elsif  then\n"
-  "else\n"
-  "end if;\n")
-
-(define-skeleton ada-skel-loop
-  "Insert a loop statement with an optional name (from `str')."
-  ()
-  str & " :\n"
-  "loop\n"
-  "exit " str | -1 " when " _ ";\n"
-  "end loop " str | -1 ";\n")
-
-(define-skeleton ada-skel-package-body
-  "Insert a package body with name from `str'."
-  ()
-  "package body " str " is\n"
-  _
-  "begin\n"
-  "end " str ";\n")
-
-(define-skeleton ada-skel-package-spec
-  "Insert a package specification with name from `str'.
-See `ada-find-other-file' to create library level package body from spec."
-  ()
-  "package " str " is\n"
-  _
-  "private\n"
-  "end " str ";\n")
-
-(define-skeleton ada-skel-procedure-body
-  "Insert a procedure body with name from `str'."
-  ()
-  "procedure " str "\n"
-  "is\n"
-  "begin\n"
-  _
-  "end " str ";\n")
-
-(define-skeleton ada-skel-procedure-spec
-  "Insert a procedure type specification with name from `str'."
-  ()
-  "procedure " str ";\n")
-
-(define-skeleton ada-skel-protected-body
-  "Insert a protected body with name from `str'."
-  ()
-  "protected body " str " is\n"
-  _
-  "end " str ";\n")
-
-(define-skeleton ada-skel-protected-spec
-  "Insert a protected type specification with name from `str'."
-  ()
-  "protected type " str " is\n"
-  _
-  "private\n"
-  "end " str ";\n")
-
-(define-skeleton ada-skel-record
-  "Insert a record type declaration with a type name from `str'."
-  ()
-  "type " str " is record\n"
-  _
-  "end record;\n")
-
-(define-skeleton ada-skel-return
-  "Insert an extended return statement."
-  ()
-  "return " _ " do\n"
-  "end return;\n")
-
-(define-skeleton ada-skel-select
-  "Insert a select statement."
-  ()
-  "select\n"
-  _
-  "else\n"
-  "end select;\n")
-
-(define-skeleton ada-skel-separate
-  "Insert a subunit body."
-  ()
-  "separate (" _ ")\n"
-  "{proper_body}\n")
-
-(define-skeleton ada-skel-task-body
-  "Insert a task body with name from `str'."
-  ()
-  "task body " str "\n"
-  "is\n"
-  _
-  "begin\n"
-  "end " str ";\n")
-
-(define-skeleton ada-skel-task-spec
-  "Insert a task specification with name from `str'."
-  ()
-  "task type " str " is\n"
-  _
-  "end " str ";\n")
-
-(define-skeleton ada-skel-while
-  "Insert a while loop statement with an optional name (from `str')."
-  ()
-  str & ":\n"
-  "while " _ " loop\n"
-  "end loop " str | -1 ";\n")
-
-(define-skeleton ada-skel-with-use
-  "Insert with and use context clauses with name from `str'."
-  ()
-  "with " str "; use " str ";\n")
-
-;;;;; token alist
-
-(defconst ada-skel-token-alist
-  '(("accept" . ada-skel-accept)
-    ("begin" . ada-skel-declare) ;; easy enough to delete the declare
-    ("case" . ada-skel-case)
-    ("copyright_license"
-     ("GPL" . ada-skel-gpl)
-     ("Modified GPL" . ada-skel-modified-gpl)
-     ("restricted" . ada-skel-user-restricted))
-    ("declare" . ada-skel-declare)
-    ("entry" . ada-skel-entry)
-    ("for" . ada-skel-for)
-    ("function"
-     ("body" . ada-skel-function-body)
-     ("spec" . ada-skel-function-spec))
-    ("header" . ada-skel-header)
-    ("if" . ada-skel-if)
-    ("loop" . ada-skel-loop)
-    ("package"
-     ("body" . ada-skel-package-body)
-     ("spec" . ada-skel-package-spec))
-    ("procedure"
-     ("body" . ada-skel-procedure-body)
-     ("spec" . ada-skel-procedure-spec))
-    ("proper_body"
-     ("function" . ada-skel-function-body)
-     ("procedure" . ada-skel-procedure-body)
-     ("task" . ada-skel-task-body)
-     ("protected" . ada-skel-protected-body))
-    ("protected"
-     ("body" . ada-skel-protected-body)
-     ("spec" . ada-skel-protected-spec))
-    ("record" . ada-skel-record)
-    ("return" . ada-skel-return)
-    ("select" . ada-skel-select)
-    ("separate" . ada-skel-separate)
-    ("task"
-     ("body" . ada-skel-task-body)
-     ("spec" . ada-skel-task-spec))
-    ("while" . ada-skel-while)
-    ("with" . ada-skel-with-use))
-  "Ada tokens for `wisi-skel-token-alist', used by `wisi-skel-expand'.")
-
-(defun ada-skel-setup ()
-  "Setup a buffer for ada-skel."
-  (setq wisi-skel-token-alist ada-skel-token-alist)
-  (add-hook 'skeleton-end-hook 'wisi-indent-statement nil t)
-  (when (and ada-skel-initial-string
-            (= (buffer-size) 0))
-    (insert ada-skel-initial-string))
-  )
-
-(add-hook 'ada-mode-hook #'ada-skel-setup)
-
-(provide 'ada-skel)
-;;; ada-skel.el ends here
diff --git a/packages/ada-mode/ada-stmt.el b/packages/ada-mode/ada-stmt.el
deleted file mode 100644
index 27e1b40..0000000
--- a/packages/ada-mode/ada-stmt.el
+++ /dev/null
@@ -1,9 +0,0 @@
-;; dummy file to hide obsolete bundled version
-;;
-;; Copyright (C) 2020  Free Software Foundation, Inc.
-;;
-;; Keep this file until drop support for Emacs 26; core ada-mode deleted in 
Emacs 27.
-
-(require 'ada-mode)
-(provide 'ada-stmt)
-(message "'ada-stmt' is obsolete; use 'ada-mode' instead")
diff --git a/packages/ada-mode/ada-xref.el b/packages/ada-mode/ada-xref.el
deleted file mode 100644
index 3f795f1..0000000
--- a/packages/ada-mode/ada-xref.el
+++ /dev/null
@@ -1,10 +0,0 @@
-;;; ada-xref.el --- Dummy file to hide obsolete bundled version  -*- 
lexical-binding:t -*-
-;;
-;; Copyright (C) 2020  Free Software Foundation, Inc.
-;; see xref-ada.el for Emacs 25 xref minor mode for ada-mode
-;;
-;; Keep this file until drop support for Emacs 26; core ada-mode deleted in 
Emacs 27.
-
-(require 'ada-mode)
-(provide 'ada-xref)
-(message "'ada-xref' is obsolete; use 'ada-mode' instead")
diff --git a/packages/ada-mode/ada.wy b/packages/ada-mode/ada.wy
deleted file mode 100644
index dce4b69..0000000
--- a/packages/ada-mode/ada.wy
+++ /dev/null
@@ -1,2652 +0,0 @@
-;;; WisiToken grammar for Ada
-;;
-;; Author: Stephen Leake <stephe-leake@stephe-leake.org>
-;; Maintainer: Stephen Leake <stephe-leake@stephe-leake.org>
-;; Created: Sept 2012
-;; Keywords: syntax
-;;
-;; Copied from Ada Language Reference Manual Annex P:
-;;
-;; (info "(aarm2012)Annex P" "*info Annex P*")
-;; 
file:///C:/Projects/arm_info/org.adaic.arm_form/build/html/aarm2012/AA-P.html
-;; https://www.adaic.org/ada-resources/standards/ Ada 2012 annex P
-;;
-;; but listed in alphabetical order. Repeating and optional constructs
-;; are implemented with extra productions. Most names are simplified
-;; to just "name", many productions are modified to reduce conflicts.
-;;
-;; The EBNF in LRM Annex P is not LALR(1), so we use a generalized
-;; LR parser.
-;;
-;; Annex P overloads several keywords as grammar elements; 'body',
-;; 'pragma', some others. That matters in the generated Ada code. We
-;; resolve this by appending _g to the grammar element name.
-;;
-;; To tolerate some invalid syntax during editing, we relax the
-;; grammar, mainly by allowing many items to be empty.
-
-%code copyright_license %{
-;;  Copyright (C) 2013 - 2020 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
-;;  published by the Free Software Foundation; either version 3, or (at
-;;  your option) any later version.
-;;
-;;  This software 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/>.
-}%
-
-%code actions spec post %{
-   Partial_Parse_Active    : Boolean := False;
-   Partial_Parse_Byte_Goal : WisiToken.Buffer_Pos := WisiToken.Buffer_Pos'Last;
-}%
-
-%generate LALR Ada_Emacs re2c Process
-%generate LR1 Ada_Emacs text_rep re2c Process
-
-%case_insensitive
-%start compilation
-
-%keyword ABS "abs"
-%keyword ACCEPT "accept"
-%keyword ABORT "abort"
-%keyword ABSTRACT "abstract"
-%keyword ACCESS "access"
-%keyword ALIASED "aliased"
-%keyword ALL "all"
-%keyword AND "and"
-%keyword ARRAY "array"
-%keyword AT "at"
-%keyword BEGIN "begin"
-%keyword BODY "body"
-%keyword CASE "case"
-%keyword CONSTANT "constant"
-%keyword DECLARE "declare"
-%keyword DELAY "delay"
-%keyword DELTA "delta"
-%keyword DIGITS "digits"
-%keyword DO "do"
-%keyword ELSE "else"
-%keyword ELSIF "elsif"
-%keyword END "end"
-%keyword ENTRY "entry"
-%keyword EXCEPTION "exception"
-%keyword EXIT "exit"
-%keyword FOR "for"
-%keyword FUNCTION "function"
-%keyword GENERIC "generic"
-%keyword GOTO "goto"
-%keyword IF "if"
-%keyword IN "in"
-%keyword INTERFACE "interface"
-%keyword IS "is"
-%keyword LIMITED "limited"
-%keyword LOOP "loop"
-%keyword MOD "mod"
-%keyword NEW "new"
-%keyword NOT "not"
-%keyword NULL "null"
-%keyword OF "of"
-%keyword OR "or"
-%keyword OTHERS "others"
-%keyword OUT "out"
-%keyword OVERRIDING "overriding"
-%keyword PACKAGE "package"
-%keyword PRAGMA "pragma"
-%keyword PRIVATE "private"
-%keyword PROCEDURE "procedure"
-%keyword PROTECTED "protected"
-%keyword RAISE "raise"
-%keyword RANGE "range"
-%keyword RECORD "record"
-%keyword REM "rem"
-%keyword RENAMES "renames"
-%keyword REQUEUE "requeue"
-%keyword RETURN "return"
-%keyword REVERSE "reverse"
-%keyword SEPARATE "separate"
-%keyword SELECT "select"
-%keyword SOME "some"
-%keyword SUBTYPE "subtype"
-%keyword SYNCHRONIZED "synchronized"
-%keyword TAGGED "tagged"
-%keyword TASK "task"
-%keyword TERMINATE "terminate"
-%keyword THEN "then"
-%keyword TYPE "type"
-%keyword UNTIL "until"
-%keyword USE "use"
-%keyword WHEN "when"
-%keyword WHILE "while"
-%keyword WITH "with"
-%keyword XOR "xor"
-
-%token <left-paren>  LEFT_PAREN  "("
-%token <right-paren> RIGHT_PAREN ")"
-%token <left-paren>  LEFT_SQUARE_BRACKET  "["
-%token <right-paren> RIGHT_SQUARE_BRACKET "]"
-
-%token <punctuation> AMPERSAND "&"
-%token <punctuation> AT_SIGN "@"
-%token <punctuation> BAR "|"
-%token <punctuation> BOX "<>"
-%token <punctuation> COLON ":"
-%token <punctuation> COLON_EQUAL ":="
-%token <punctuation> COMMA ","
-%token <punctuation> DOT "."
-%token <punctuation> DOT_DOT ".."
-%token <punctuation> EQUAL "="
-%token <punctuation> EQUAL_GREATER "=>"
-%token <punctuation> GREATER ">"
-%token <punctuation> GREATER_EQUAL ">="
-%token <punctuation> GREATER_GREATER ">>"
-%token <punctuation> LESS "<"
-%token <punctuation> LESS_EQUAL "<="
-%token <punctuation> LESS_LESS "<<"
-%token <punctuation> MINUS "-"
-%token <punctuation> PLUS "+"
-%token <punctuation> SEMICOLON ";"
-%token <punctuation> SLASH "/"
-%token <punctuation> SLASH_EQUAL "/="
-%token <punctuation> STAR "*"
-%token <punctuation> STAR_STAR "**"
-
-;; Support GNAT character coding in names and character and string
-;; literals (see test/non_ascii.ads)
-%re2c_regexp GNAT_Char_Coding %[ ("[\""[0-9A-Fa-f]+"\"]") ]%
-
-;; re2c lookahead regular expression; this is not a character literal.
-;; re2c does not allow combining | with /, so we need three tokens for
-;; this (sigh).
-%token <punctuation> TICK_1 "'"
-
-%token <regexp> TICK_2
-    %[ "'" / "('"([\x20-\U0010FFFF]|GNAT_Char_Coding)"'" ]%
-  "'"
-
-;; This regexp allows a lot of things that are not Ada numeric
-;; literals, but it's faster than a strictly conforming regexp. For
-;; non-based literals, force a trailing integer so (1..Length) is
-;; parsed correctly.
-%token <regexp> NUMERIC_LITERAL
-    %[ ([0-9])|([0-9][0-9eE._-]*[0-9])|([0-9]+"#"[0-9a-fA-F._-]+"#") ]%
-  "1234567890"
-
-;; non_grammar are not seen by the elisp lexer, but are needed by the re2c 
lexer
-%non_grammar <non-reporting> WHITESPACE %[ [ \t]+ ]%
-
-;; handle DOS or Unix newline
-%non_grammar <new-line> NEW_LINE %[ [\x0a]|[\x0d][\x0a] ]%
-
-;; Treat Ada comments, gnatprep preprocessor lines, and skeleton
-;; placeholders as comments. Also terminate placeholder on newline,
-;; EOF, to handle missing }. x04 is EOF.
-%non_grammar <comment> COMMENT %[ 
(("--"|"#if"|"#elsif"|"#else"|"#end")[^\n\x04]*)|("{"[^}\n\x04]*) ]%
-
-;; '$' for gnatprep symbols.
-%token <symbol> IDENTIFIER
-    %[ 
([$a-zA-Z\x80-\U0010FFFF]|GNAT_Char_Coding)([0-9a-zA-Z_\x80-\U0010FFFF]|GNAT_Char_Coding)*
 ]%
-  "A_Bogus_Identifier"
-
-%token <string-double> STRING_LITERAL
-    %[ (["]([\x20-\x21\x23-\U0010FFFF]|GNAT_Char_Coding)*["])+ ]%
-  '""'
-
-%token <string-single> CHARACTER_LITERAL
-    %[ "'"([\x20-\U0010FFFF]|GNAT_Char_Coding)"'" ]%
-  "' '"
-
-%elisp_face font-lock-constant-face
-%elisp_face font-lock-function-name-face
-%elisp_face font-lock-type-face
-%elisp_face nil
-
-%elisp_indent ada-indent-aggregate Ada_Indent_Aggregate
-%elisp_indent ada-indent-renames Ada_Indent_Renames_0
-%elisp_indent ada-indent-return Ada_Indent_Return_0
-%elisp_indent ada-indent-record Ada_Indent_Record_0
-%elisp_indent "ada-indent-record*" Ada_Indent_Record_1
-
-;; Set McKenzie error recovery costs.
-;;
-;; We assume the user is typing new code more often than deleting or
-;; changing old. Minimal_Complete reduces cost for insert, so the
-;; default cost for insert, delete is the same. Often insert requires
-;; push_back first, to get the parser in the right state, so push_back
-;; is cheaper.
-;;
-;; We need a balance between Minimal_Complete and other solutions; if
-;; Minimal_Complete is too cheap, it will complete the entire
-;; compilation_Unit before the error point, when doing something else
-;; at some point is better (see test/ada_mode-recover_29.adb, _15,
-;; _24). On the other hand, doing lots of Minimal_Complete is very
-;; common when writing new code (see test/ada_mode-recover_10.adb,
-;; _error_during_resume_01). So we reduce the cost of inserting 'end
-;; ;'.
-;;
-;; test/ada_mode-recover_change_name.adb needs 'ignore check fail' cost 2
-;;
-;; Default cost for insert, delete, push back/undo_reduce, ignore check fail.
-%mckenzie_cost_default 4 4 2 2
-%mckenzie_minimal_complete_cost_delta -3
-
-;; END is cheaper, because it always requires at least one other
-;; keyword to follow.
-%mckenzie_cost_insert END 3
-
-;; This cost is applied once, independent of token count.
-%mckenzie_cost_matching_begin 3
-
-;; Prefer doing more work at the current error point over moving
-;; forward to a new one; there is normally only one real error point.
-;; But not too much; test/ada_mode-recover_partial_02_lr1.adb requires
-;; cost 2.
-%mckenzie_cost_fast_forward 2
-
-;; Handle converting 'if' to 'case' (and vice-versa), since that is a
-;; common operation. See test/ada_mode-recover_29.adb. This also makes
-;; inserting 'end if;' free; that's used a lot. But this defeats
-;; Forbid_Minimal_Complete; see
-;; test/ada_mode-recover_constant_as_statement_1.adb.
-%mckenzie_cost_insert CASE 2
-%mckenzie_cost_insert IF 2
-
-;; Prefer undo_reduce over push_back; consider the code:
-;;
-;; loop
-;;    if then
-;;       statement;
-;;    -- missing 'end if;'
-;; end loop;
-;; -- ^ error here
-;;
-;; Error recovery will insert 'end if;', after push_back or
-;; undo_reduce of the handled_sequence_of_statements including
-;; 'statement'. If it uses push_back, then 'end if;' is before
-;; 'statement'; if undo_reduce, after, which is the desired result.
-%mckenzie_cost_undo_reduce handled_sequence_of_statements 0
-%mckenzie_cost_undo_reduce sequence_of_statements 0
-%mckenzie_cost_undo_reduce sequence_of_statements_opt 0
-%mckenzie_cost_undo_reduce declarative_part_opt 0
-
-;; Missing or extra closing paren are common; missing handled by
-;; Minimal_Complete.
-%mckenzie_cost_delete RIGHT_PAREN 1
-
-;; test/ada_mode-recover_partial_02_lr1.adb requires 45_000; wisitoken got 30% 
faster
-%mckenzie_enqueue_limit 58_000
-
-;; 4 required for test/ada_mode-recover_match_names.adb.
-%mckenzie_check_limit 4
-
-;; After finding 1 solution, only check 100 more before giving up.
-;; Reduces solution time on complex errors.
-%mckenzie_check_delta_limit 100
-
-%end_names_optional_option End_Names_Optional
-
-;; known conflicts that are resolved by generalized LALR parser
-%conflict REDUCE/REDUCE in state abstract_limited_opt, 
abstract_limited_synchronized_opt on token NEW
-%conflict REDUCE/REDUCE in state actual_parameter_part, actual_parameter_part  
on token RIGHT_PAREN
-%conflict REDUCE/REDUCE in state aggregate, aggregate on token RIGHT_PAREN
-%conflict REDUCE/REDUCE in state association_opt, expression_opt on token 
RIGHT_PAREN
-%conflict REDUCE/REDUCE in state derived_type_definition, 
derived_type_definition  on token WITH
-%conflict REDUCE/REDUCE in state discrete_choice, discrete_subtype_definition 
on token EQUAL_GREATER
-%conflict REDUCE/REDUCE in state discrete_choice, subtype_indication on token 
EQUAL_GREATER
-%conflict REDUCE/REDUCE in state full_type_declaration, full_type_declaration  
on token NEW
-%conflict REDUCE/REDUCE in state identifier_list, name on token COMMA
-%conflict REDUCE/REDUCE in state name, direct_name on token USE
-%conflict REDUCE/REDUCE in state primary, subtype_indication on token COMMA
-%conflict REDUCE/REDUCE in state primary, subtype_indication on token 
EQUAL_GREATER
-%conflict REDUCE/REDUCE in state primary, subtype_indication on token 
RIGHT_PAREN
-%conflict REDUCE/REDUCE in state range_list, discrete_subtype_definition on 
token COMMA
-%conflict REDUCE/REDUCE in state range_list, discrete_subtype_definition on 
token RIGHT_PAREN
-%conflict SHIFT/REDUCE in state abstract_subprogram_declaration, 
abstract_subprogram_declaration  on token IS
-%conflict SHIFT/REDUCE in state accept_statement, accept_statement  on token 
LEFT_PAREN
-%conflict SHIFT/REDUCE in state aggregate, expression_opt on token WITH
-%conflict SHIFT/REDUCE in state aspect_clause, name on token USE
-%conflict SHIFT/REDUCE in state association_opt, name on token EQUAL_GREATER
-%conflict SHIFT/REDUCE in state attribute_designator, attribute_designator  on 
token LEFT_PAREN
-%conflict SHIFT/REDUCE in state block_label, identifier_list  on token COLON
-%conflict SHIFT/REDUCE in state compilation, compilation  on token FOR
-%conflict SHIFT/REDUCE in state declaration, declaration  on token CONSTANT
-%conflict SHIFT/REDUCE in state expression_function_declaration, 
subprogram_specification on token IS
-%conflict SHIFT/REDUCE in state formal_derived_type_definition, 
formal_derived_type_definition on token WITH
-%conflict SHIFT/REDUCE in state generic_instantiation, generic_instantiation  
on token IS
-%conflict SHIFT/REDUCE in state generic_renaming_declaration, 
generic_formal_part  on token FUNCTION
-%conflict SHIFT/REDUCE in state generic_renaming_declaration, 
generic_formal_part  on token PACKAGE
-%conflict SHIFT/REDUCE in state generic_renaming_declaration, 
generic_formal_part  on token PROCEDURE
-%conflict SHIFT/REDUCE in state membership_choice_list, relation  on token BAR
-%conflict SHIFT/REDUCE in state null_procedure_declaration, 
subprogram_specification on token IS
-%conflict SHIFT/REDUCE in state object_renaming_declaration, identifier_list  
on token COLON
-%conflict SHIFT/REDUCE in state package_body, package_body  on token IS
-%conflict SHIFT/REDUCE in state parameter_specification, 
parameter_specification  on token NOT
-%conflict SHIFT/REDUCE in state protected_body, protected_body  on token IS
-%conflict SHIFT/REDUCE in state raise_expression, raise_expression on token 
WITH
-%conflict SHIFT/REDUCE in state relation_and_list, expression  on token AND
-%conflict SHIFT/REDUCE in state relation_and_then_list, expression  on token 
AND
-%conflict SHIFT/REDUCE in state relation_or_else_list, expression  on token OR
-%conflict SHIFT/REDUCE in state relation_or_list, expression  on token OR
-%conflict SHIFT/REDUCE in state relation_xor_list, expression  on token XOR
-%conflict SHIFT/REDUCE in state task_body, task_body  on token IS
-%conflict SHIFT/REDUCE in state wisitoken_accept, wisitoken_accept  on token 
FOR
-
-;;; grammar rules
-
-abstract_limited_synchronized_opt
-  : ABSTRACT LIMITED
-  | ABSTRACT SYNCHRONIZED
-  | ABSTRACT
-  | LIMITED
-  | SYNCHRONIZED
-  | ;; empty
-  ;
-
-abstract_limited_opt
-  : ABSTRACT LIMITED
-  | LIMITED
-  | ABSTRACT
-  | ;; empty
-  ;
-
-abstract_tagged_limited_opt
-  : ABSTRACT TAGGED LIMITED
-  | ABSTRACT TAGGED
-  | TAGGED LIMITED
-  | TAGGED
-  | LIMITED
-  | ;; empty
-  ;
-
-abstract_subprogram_declaration
-  : overriding_indicator_opt subprogram_specification IS ABSTRACT 
aspect_specification_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 2 statement-override 6 
statement-end])
-      (wisi-indent-action [nil nil ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken]))%
-  ;
-
-accept_statement
-  : ACCEPT IDENTIFIER actual_parameter_part_opt parameter_profile_opt DO 
handled_sequence_of_statements END
-    identifier_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 5 motion 9 statement-end])
-      (wisi-motion-action [1 5 [6 WHEN] 9])
-      (wisi-face-apply-action [2 nil font-lock-function-name-face 8 nil 
font-lock-function-name-face])
-      (wisi-indent-action [nil ada-indent-broken ada-indent-broken 
ada-indent-broken [nil ada-indent]
-                               [ada-indent ada-indent] nil ada-indent-broken 
ada-indent-broken]))%
-    %((wisi-match-names 2 8))%
-
-  | ACCEPT IDENTIFIER actual_parameter_part_opt parameter_profile_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 5 statement-end])
-      (wisi-face-apply-action [2 nil font-lock-function-name-face])
-      (wisi-indent-action [nil ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken]))%
-  ;
-
-;; same as access_type_definition for our purposes
-access_definition
-  : null_exclusion_opt ACCESS protected_opt PROCEDURE parameter_profile_opt
- ;; test/ada_mode-nomina.ads
- ;; type Procedure_Access_Type_8 is access
- ;;   protected procedure
- ;;     (A_Param : out Integer);
-    %((wisi-indent-action [nil nil nil nil (wisi-anchored%- 4 
ada-indent-broken)]))%
-
-  | null_exclusion_opt ACCESS protected_opt FUNCTION 
parameter_and_result_profile
- ;; test/ada_mode-nominal.ads
- ;; type Function_Access_Type_10 is access
- ;;   protected function
- ;;     (A_Param : in Float)
- ;;     return Standard.Float;
-    %((wisi-indent-action [nil nil nil nil (wisi-anchored%- 4 
ada-indent-broken)]))%
-
-  | null_exclusion_opt ACCESS general_access_modifier_opt name
-    %((wisi-face-apply-action [4 font-lock-function-name-face 
font-lock-type-face]))%
-  ;
-
-actual_parameter_part
-  : LEFT_PAREN association_list RIGHT_PAREN
- ;; see note in test/ada_mode-parens.adb Local_10 about right paren indent.
-    %((wisi-indent-action [nil [(wisi-anchored 1 1) (wisi-anchored 1 1)] 
(wisi-anchored 1 0)]))%
- ;; ARM 4.5.7(7), ARM 4.5.8(4) allow ( conditional|quantified_expression ) 
instead of (( ... ))
-  | LEFT_PAREN conditional_quantified_expression RIGHT_PAREN
-    %((wisi-indent-action [nil [(wisi-anchored 1 1) (wisi-anchored 1 1)] 
(wisi-anchored 1 0)]))%
-  ;
-
-actual_parameter_part_opt
-  : actual_parameter_part
-  | ;; empty
-  ;
-
-;; All LEFT_PAREN in aggregate are indented 0 here. Special cases for
-;; -1 are handled in 'primary'.
-aggregate
-  : LEFT_PAREN association_list RIGHT_PAREN ;; record_aggregate, 
named_array_aggregate, positional_array_aggregate
-    %((wisi-indent-action [nil [(wisi-anchored 1 1) (wisi-anchored 1 1)] 
(wisi-anchored 1 0)]))%
-  | LEFT_PAREN NULL RECORD RIGHT_PAREN ;; record_aggregate
-
-  | LEFT_PAREN expression_opt WITH NULL RECORD RIGHT_PAREN ;; 
extension_aggregate with null record
-    %((wisi-indent-action [nil (wisi-anchored 1 1) (wisi-anchored 1 1) nil nil 
(wisi-anchored 1 0)]))%
-  | LEFT_PAREN expression_opt WITH association_list RIGHT_PAREN ;; 
extension_aggregate
-    %((wisi-indent-action [nil (wisi-anchored 1 1) (wisi-anchored 1 1) 
[(wisi-anchored 1 1) (wisi-anchored 1 1)]
-                               (wisi-anchored 1 0)]))%
-  
-  | LEFT_PAREN expression WITH DELTA association_list RIGHT_PAREN ;; 
record_delta_aggregate, array_delta_aggregate
-    %((wisi-indent-action [nil (wisi-anchored 1 1) (wisi-anchored 1 1) 
(wisi-anchored 1 1)  
-                               [(wisi-anchored 1 1) (wisi-anchored 1 1)]
-                               (wisi-anchored 1 0)]))%
-  
-  | LEFT_SQUARE_BRACKET expression WITH DELTA association_list 
RIGHT_SQUARE_BRACKET ;; array_delta_aggregate
-    %((wisi-indent-action [nil (wisi-anchored 1 1) (wisi-anchored 1 1) 
(wisi-anchored 1 1)  
-                               [(wisi-anchored 1 1) (wisi-anchored 1 1)]
-                               (wisi-anchored 1 0)]))%
-  
- ;; ARM 4.5.7(7), ARM 4.5.8(4) allow ( conditional|quantified_expression ) 
instead of (( ... ))
-  | LEFT_PAREN conditional_quantified_expression RIGHT_PAREN
-    %((wisi-indent-action [nil [(wisi-anchored 1 1) (wisi-anchored 1 1)] 
(wisi-anchored 1 0)]))%
-  ;
-
-aliased_opt
-  : ALIASED
-  | ;; empty
-  ;
-
-and_interface_list_opt
-  : AND interface_list
-  | ;; empty
-  ;
-
-array_type_definition
-  : ARRAY LEFT_PAREN index_subtype_definition_list RIGHT_PAREN OF 
component_definition
- ;; unconstrained_array_definition
-    %((wisi-indent-action [nil nil (wisi-anchored 2 1) (wisi-anchored 2 0) nil 
nil]))%
-
-  | ARRAY LEFT_PAREN discrete_subtype_definition_list RIGHT_PAREN OF 
component_definition
- ;; constrained_array_definition
-    %((wisi-indent-action [nil nil (wisi-anchored 2 1) (wisi-anchored 2 0) nil 
nil]))%
-  ;
-
-aspect_clause
-  : FOR attribute_reference USE expression_opt SEMICOLON ;; 
attribute_definition_clause
-    %((wisi-statement-action [1 statement-start 5 statement-end])
-        (wisi-indent-action [nil ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken]))%
-  | enumeration_representation_clause
-  | record_representation_clause
-  | at_clause
-  ;
-
-;; aspect_mark ::= aspect_identifier[Class]
-
-;; aspect_specification ::=
-;;   with aspect_mark [=> aspect_definition] {,
-;;        aspect_mark [=> aspect_definition] }
-aspect_specification_opt
-  : WITH association_list ;; overkill, but simpler.
-    %((wisi-indent-action [nil ada-indent-broken]))%
-  | ;; empty
-  ;
-
-assignment_statement
-  : name COLON_EQUAL expression_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 4 statement-end])
-      (wisi-indent-action [nil
-                           ada-indent-broken
-                           (wisi-hanging
-                            (wisi-anchored% 2 ada-indent-broken)
-                            (wisi-anchored% 3 ada-indent-broken))
-                           ada-indent-broken]))%
-  ;
-
-association_opt
-  : CHARACTER_LITERAL EQUAL_GREATER expression_opt ;; part of selector_name 
that does not overlap name
-    %((wisi-indent-action [nil
-                           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)))]]))%
-  | CHARACTER_LITERAL EQUAL_GREATER BOX ;; from formal_package_association_list
-  | discrete_choice_list EQUAL_GREATER expression_opt
- ;; We need wisi-hanging on expression_opt to recognize aspect_specification 
for a special case.
- ;; test/aspects.ads
- ;; with Pre => X > 10 and
- ;;             X < 50 and
- ;;             F (X),
- ;;   Post =>
- ;;     Y >= X and
- ;;     Some_Very_Verbose_Predicate (X, Y);
- ;;
- ;; test/indent.ads
- ;;   1 => --  Used to be aligned on "CSCL_Type'"
- ;;        --  aligned with previous comment.
- ;;     IO_CPU_Control_State_S_Pkg.CPU2_Fault_Status_Type'
- ;;       (Unused2  => 10,  -- Used to be aligned on "1 =>"
- ;;   requires '-' on wisi-hanging%-
-    %((wisi-indent-action [(wisi-hanging nil 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 nil ada-indent-broken) 
ada-indent-broken nil]))%
-  | expression
- ;; test/ada_mode-parens.adb Hello
-    %((wisi-indent-action [[(wisi-hanging nil ada-indent-broken) (wisi-hanging 
nil ada-indent-broken)]]))%
-  | ;; empty
-    
-  | FOR IDENTIFIER IN discrete_choice_list EQUAL_GREATER expression ;; 
iterated_component_association
-    %((wisi-indent-action [nil nil nil (wisi-hanging nil ada-indent-broken) 
ada-indent-broken
-                               [(wisi-hanging nil ada-indent-broken) 
(wisi-hanging nil ada-indent-broken)]]))%
-  | FOR iterator_specification EQUAL_GREATER expression ;; 
iterated_component_association
-    %((wisi-indent-action [nil (wisi-hanging nil ada-indent-broken) 
ada-indent-broken
-                               [(wisi-hanging nil ada-indent-broken) 
(wisi-hanging nil ada-indent-broken)]]))%
-  ;
-
-association_list
-  : association_list COMMA association_opt
-  | association_opt
-  ;
-
-asynchronous_select
-  : SELECT triggering_alternative THEN ABORT sequence_of_statements_opt END 
SELECT SEMICOLON
-    %((wisi-statement-action [1 statement-start 3 motion 8 statement-end])
-        (wisi-motion-action [1 3 8])
-        (wisi-indent-action [nil [ada-indent ada-indent] [nil 
ada-indent-broken] ada-indent-broken
-                                 [ada-indent ada-indent] nil ada-indent-broken 
ada-indent-broken]))%
-  ;
-
-at_clause
-  : FOR direct_name USE AT expression_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 6 statement-end]))%
-  ;
-
-attribute_reference : name tick attribute_designator ;
-
-attribute_designator
-  : IDENTIFIER LEFT_PAREN expression RIGHT_PAREN
-  | IDENTIFIER
-  | ACCESS
-  | DELTA
-  | DIGITS
-  | MOD
-  ;
-
-;; basic_declarative_item merged into declaration
-;; basic_declaration merged into declaration
-
-binary_adding_operator : PLUS | MINUS | AMPERSAND ; ;; + | - | &
-
-block_label
-  : IDENTIFIER COLON
-    %((wisi-indent-action [ada-indent-label nil]))%
-    %((wisi-propagate-name 1))%
-  ;
-
-block_label_opt
-  : block_label
-    %()%
-    %((wisi-propagate-name 1))%
-  | ;; empty
-  ;
-
-block_statement
-  : block_label_opt DECLARE declarative_part_opt BEGIN 
handled_sequence_of_statements END identifier_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 2 motion 4 motion 8 
statement-end])
-      (wisi-motion-action [2 4 [5 WHEN] 8])
-      (wisi-indent-action [nil nil [ada-indent ada-indent] nil [ada-indent 
ada-indent] nil ada-indent-broken
-                               ada-indent-broken]))%
-    %((wisi-match-names 1 7))%
-  | block_label_opt BEGIN handled_sequence_of_statements END identifier_opt 
SEMICOLON
-    %((wisi-statement-action [1 statement-start 2 motion 6 statement-end])
-      (wisi-motion-action [2 [3 WHEN] 6])
-      (wisi-indent-action [nil nil [ada-indent ada-indent] nil 
ada-indent-broken ada-indent-broken]))%
-    %((wisi-match-names 1 5))%
-  ;
-
-body_g : proper_body | body_stub ;
-
-body_stub
-  : subprogram_body_stub | package_body_stub | task_body_stub | 
protected_body_stub ;
-
-case_expression
-  : CASE expression_opt IS case_expression_alternative_list
-    %((wisi-statement-action [1 motion])
-      (wisi-motion-action [1 4])
-      (wisi-indent-action [nil ada-indent-broken nil ada-indent-when]))%
-  ;
-
-case_expression_alternative
-  : WHEN discrete_choice_list EQUAL_GREATER expression_opt
- ;; test/ada_mode-conditional_expressions.adb
- ;; when A =>
- ;;    J = 4
- ;;      or else M, --  test case from Piotr Trojanek
-    %((wisi-statement-action [1 motion])
-      (wisi-indent-action [nil 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
-    %((wisi-motion-action [1 3]))%
-  | case_expression_alternative
-  ;
-
-case_statement
-  : CASE expression_opt IS case_statement_alternative_list END CASE SEMICOLON
-    %((wisi-statement-action [1 statement-start 7 statement-end])
-      (wisi-motion-action [1 4 7])
-      (wisi-indent-action [nil ada-indent-broken nil [ada-indent-when 
ada-indent-when] nil ada-indent-broken ada-indent-broken]))%
-  ;
-
-case_statement_alternative
-  : WHEN discrete_choice_list EQUAL_GREATER sequence_of_statements_opt
-    %((wisi-statement-action [1 motion])
-      ;; ada-indent-when added in case_statement
-      (wisi-indent-action [nil ada-indent-broken ada-indent-broken [ada-indent 
ada-indent]]))%
-  ;
-
-;; We don't allow an empty list here; that leads to parallel parser
-;; explosion in nested case statements. Note that ada-skel-case
-;; inserts an empty when =>
-case_statement_alternative_list
-  : case_statement_alternative_list case_statement_alternative
-    %((wisi-motion-action [1 2]))%
-  | case_statement_alternative
-  ;
-
-;; choice_expression use 'expression' to avoid conflicts
-
-;; choice_relation* - use 'relation*', to avoid conflicts
-
-;; Since we allow multiple compilation units in one parse, and don't
-;; require a library_item in order to be user friendly, we don't need
-;; a context_clause, since a list of context_items is just a
-;; compilation. Since context_item includes pragma, this
-;; also allows a pragma following a compilation_unit.
-;;
-;; We allow additional items here for partial syntax in mako-ada
-;; templates and grammar actions, and for partial parsing in large files.
-compilation_unit
-  : with_clause
-  | subunit
-  | PRIVATE declaration
-    %((wisi-indent-action [0 0]))%
-  | declaration
-  | statement
-  ;
-
-;; Compute indent for trailing comments.
-compilation
-  : compilation compilation_unit
-    %((wisi-indent-action [0 [0 0]]))%
-  | compilation_unit
-    %((wisi-indent-action [[0 0]]))%
-    %((wisi-terminate-partial-parse))%
-  ;
-
-component_clause
-  : IDENTIFIER AT simple_expression RANGE simple_expression DOT_DOT 
simple_expression SEMICOLON
-    %((wisi-statement-action [1 statement-start 8 statement-end])
-      (wisi-indent-action [nil ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken
-                               ada-indent-broken ada-indent-broken 
ada-indent-broken]))%
-  ;
-
-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
-    %((wisi-statement-action [1 statement-start 7 statement-end])
-      (wisi-indent-action [nil ada-indent-broken ada-indent-broken 
ada-indent-broken
-                               (wisi-anchored% 4 ada-indent-broken)
-                               ada-indent-broken ada-indent-broken]))%
-  | identifier_list COLON component_definition aspect_specification_opt 
SEMICOLON
-    %((wisi-statement-action [1 statement-start 5 statement-end])
-      (wisi-indent-action [nil ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken]))%
-  ;
-
-component_definition
-  : ALIASED subtype_indication
-  | subtype_indication
-  | ALIASED access_definition
-  | access_definition
-  ;
-
-component_item
-  : component_declaration
-  | aspect_clause
-  ;
-
-component_list
-  : component_list component_item
-  | component_list variant_part
-  | component_item
-  | variant_part
-  | NULL SEMICOLON
-    %((wisi-statement-action [1 statement-start 2 statement-end]))%
-  ;
-
-component_list_opt
-  : component_list
-  | ;; empty
-  ;
-
-compound_statement
-  : if_statement
-  | case_statement
-  | loop_statement
-  | block_statement
-  | extended_return_statement
-  | accept_statement
-  | select_statement
-  ;
-
-conditional_entry_call
-  : SELECT entry_call_alternative ELSE sequence_of_statements_opt END SELECT 
SEMICOLON
-    %((wisi-statement-action [1 statement-start 3 motion 7 statement-end])
-        (wisi-motion-action [1 3 7])
-        (wisi-indent-action [nil [ada-indent ada-indent] nil [ada-indent 
ada-indent] nil ada-indent-broken
-                                 ada-indent-broken]))%
-  ;
-
-conditional_quantified_expression
-  : if_expression
-  | case_expression
-  | quantified_expression
-  ;
-
-constant_opt
-  : CONSTANT
-  | ;; empty
-  ;
-
-constraint
-  : RANGE range_g ;; range_constraint
- ;; FIXME: | digits_constraint
- ;; FIXME: | delta_constraint
-  | index_constraint
- ;; | discriminant_constraint same as aspect_specification
-  ;
-
-constraint_opt
-  : constraint
-  | ;; empty
-  ;
-
-;; context_item not needed; see compilation_unit
-
-declaration
-  : abstract_subprogram_declaration
-  | aspect_clause
-  | body_g
-  | entry_declaration
-  | exception_declaration
-  | expression_function_declaration
-  | generic_declaration
-  | generic_instantiation
-  | null_procedure_declaration
-  | identifier_list COLON CONSTANT COLON_EQUAL expression_opt SEMICOLON ;; 
number_declaration
-    %((wisi-statement-action [1 statement-start 6 statement-end])
-      (wisi-indent-action [(wisi-hanging nil ada-indent-broken) 
ada-indent-broken ada-indent-broken ada-indent-broken
-                           (wisi-anchored% 4 ada-indent-broken) 
ada-indent-broken]))%
-  | object_declaration
-  | package_declaration
-  | renaming_declaration
-  | subprogram_declaration
-  | subtype_declaration
-  | type_declaration
-  | use_clause
-  ;
-
-;; pragma_g is not a 'declaration' in ARM, but it must be in the
-;; grammar. We don't include it in 'declaration', to avoid conflicts
-;; with 'pragma_g' in statements via compilation_unit.
-declarations
-  : declarations declaration
-  | declarations pragma_g
-  | declaration
-  | pragma_g
-  ;
-
-declarative_part_opt
-  : declarations
-  | ;; empty
-  ;
-
-;; declarative_item merged into declaration
-
-delay_alternative
-  : delay_statement sequence_of_statements_opt
-  ;
-
-delay_statement
-  : DELAY UNTIL expression_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 4 statement-end])
-      (wisi-indent-action [nil ada-indent-broken ada-indent-broken 
ada-indent-broken]))%
-  | DELAY expression_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 3 statement-end])
-      (wisi-indent-action [nil ada-indent-broken ada-indent-broken]))%
-  ;
-
-derived_type_definition
-  : abstract_limited_opt NEW name and_interface_list_opt WITH record_definition
-    %((wisi-face-apply-action [3 font-lock-function-name-face 
font-lock-type-face])
-      ;; comment after 'with' same as 'record'
-      (wisi-indent-action [nil nil nil nil [nil (ada-indent-record* 'TYPE 6 
0)] nil]))%
-  | abstract_limited_opt NEW name constraint_opt
-    %((wisi-face-apply-action [3 font-lock-function-name-face 
font-lock-type-face]))%
-  ;
-
-direct_name
-  : IDENTIFIER
-  | STRING_LITERAL ;; operator_symbol
-  ;
-
-direct_name_opt
-  : direct_name
-  | ;; empty
-  ;
-
-discrete_choice
-  : expression ;; includes 'name'
-  | NOT NULL name ;; from subytpe_indication, excluding constructs covered by 
'name'
-  | range_g
-  | OTHERS
-  ;
-
-discrete_choice_list
-  : discrete_choice_list BAR discrete_choice
-  | discrete_choice
-  | ;; empty for skeleton indentation
-  ;
-
- ;; discrete_range is the same as discrete_subtype_definition
-
- ;; discrete_range_list is the same as discrete_subtype_definition_list
-
-discrete_subtype_definition : subtype_indication | range_g ;
-
-discrete_subtype_definition_list
-  : discrete_subtype_definition_list COMMA discrete_subtype_definition
-  | discrete_subtype_definition
-  ;
-
-discriminant_part_opt
-  : LEFT_PAREN BOX RIGHT_PAREN ;; (<>) unknown_discriminant_part
-  | LEFT_PAREN discriminant_specification_list RIGHT_PAREN;; 
known_discriminant_part
-    %((wisi-indent-action [nil (wisi-anchored 1 1) (wisi-anchored 1 0)]))%
-  | ;; empty
-  ;
-
-discriminant_specification_opt
-  : identifier_list COLON null_exclusion_opt_name_type COLON_EQUAL 
expression_opt
-  | identifier_list COLON access_definition COLON_EQUAL expression_opt
-  | identifier_list COLON null_exclusion_opt_name_type
-  | identifier_list COLON access_definition
-  | ;; empty
-  ;
-
-discriminant_specification_list
-  : discriminant_specification_list SEMICOLON discriminant_specification_opt
-  | discriminant_specification_opt
-  ;
-
-elsif_expression_item
-  : ELSIF expression_opt THEN expression_opt
-    %((wisi-statement-action [1 motion 3 motion])
-        (wisi-motion-action [1 3])
-        (wisi-indent-action [nil [ada-indent-broken ada-indent-broken] nil 
ada-indent]))%
-  ;
-
-elsif_expression_list
-  : elsif_expression_list elsif_expression_item
-    %((wisi-motion-action [1 2]))%
-  | elsif_expression_item
-  ;
-
-elsif_statement_item
-  : ELSIF expression_opt THEN sequence_of_statements_opt
-    %((wisi-statement-action [1 motion 3 motion])
-      (wisi-motion-action [1 3])
-      (wisi-indent-action [nil [ada-indent-broken ada-indent-broken] nil 
[ada-indent ada-indent]]))%
-  ;
-
-elsif_statement_list
-  : elsif_statement_list elsif_statement_item
-    %((wisi-motion-action [1 2]))%
-  | 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
-    %((wisi-statement-action [1 statement-start 4 motion 6 motion 8 motion 12 
statement-end])
-        (wisi-name-action 2)
-        (wisi-motion-action [1 4 6 8 [9 WHEN] 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 [nil ada-indent-broken ada-indent-broken 
ada-indent-broken
-                                 (wisi-anchored% 4 ada-indent-broken)
-                                 nil [ada-indent ada-indent] nil [ada-indent 
ada-indent] nil ada-indent-broken
-                                 ada-indent-broken]))%
-    %((wisi-match-names 2 11))%
-  ;
-
-entry_body_formal_part
-  : LEFT_PAREN FOR IDENTIFIER IN discrete_subtype_definition RIGHT_PAREN 
parameter_profile_opt
-    %((wisi-indent-action [nil (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
-  : procedure_call_statement sequence_of_statements_opt
-  | name sequence_of_statements_opt ;; entry_call_statement
-  ;
-
-entry_declaration
-  : overriding_indicator_opt ENTRY IDENTIFIER LEFT_PAREN 
discrete_subtype_definition RIGHT_PAREN
-    parameter_profile_opt aspect_specification_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 2 statement-override 8 
statement-end])
-        (wisi-name-action 3)
-        (wisi-face-apply-action [3 nil font-lock-function-name-face])
-        (wisi-indent-action [nil nil ada-indent-broken ada-indent-broken 
(wisi-anchored 4 1) (wisi-anchored 4 0)
-                               ada-indent-broken ada-indent-broken 
ada-indent-broken]))%
-  | overriding_indicator_opt ENTRY IDENTIFIER parameter_profile_opt 
aspect_specification_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 2 statement-override 6 
statement-end])
-        (wisi-name-action 3)
-        (wisi-face-apply-action [3 nil font-lock-function-name-face])
-        (wisi-indent-action [nil nil ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken]))%
-  ;
-
-enumeration_literal ;; enumeration_literal_specification
-  : IDENTIFIER
-  | CHARACTER_LITERAL
-  ;
-
-enumeration_literal_list
-  : enumeration_literal_list COMMA enumeration_literal
-  | enumeration_literal
-  ;
-
-enumeration_representation_clause
-  : FOR name USE aggregate SEMICOLON
-    %((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 [nil
-                           (wisi-hanging%- ada-indent-broken (* 2 
ada-indent-broken))
-                           ada-indent-broken ada-indent-broken 
ada-indent-broken]))%
-  ;
-
-enumeration_type_definition
-  : LEFT_PAREN enumeration_literal_list RIGHT_PAREN
-    %((wisi-indent-action [nil (wisi-anchored 1 1) (wisi-anchored 1 0)]))%
-  ;
-
-exception_choice : name | OTHERS ;
-
-exception_choice_list
-  : exception_choice_list BAR exception_choice
-  | exception_choice
-  ;
-
-;; FIXME: leaving out [renaming] [aspect_specification]
-exception_declaration
-  : identifier_list COLON EXCEPTION SEMICOLON
-    %((wisi-statement-action [1 statement-start 4 statement-end]))%
-  ;
-
-exception_handler
-  : WHEN IDENTIFIER COLON exception_choice_list EQUAL_GREATER
-    sequence_of_statements_opt
-    %((wisi-statement-action [1 motion])
-      (wisi-indent-action [nil 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
-    %((wisi-statement-action [1 motion])
-      (wisi-indent-action [nil ada-indent-broken ada-indent-broken [ada-indent 
ada-indent]]))%
-  ;
-
-exception_handler_list
-  : exception_handler_list exception_handler
-    %((wisi-motion-action [1 2]))%
-  | exception_handler
-  | pragma_g
-  ;
-
-exception_handler_list_opt
-  : exception_handler_list
-  | ;; empty for user friendly
-  ;
-
-exit_statement
-  : EXIT identifier_opt WHEN expression_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 5 statement-end])
-      (wisi-indent-action [nil nil nil ada-indent-broken ada-indent-broken]))%
-  | EXIT identifier_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 3 statement-end]))%
-  ;
-
-expression
-  : relation
-  | relation_and_list
-  | relation_and_then_list
-  | relation_or_list
-  | relation_or_else_list
-  | relation_xor_list
-  ;
-
-expression_opt
-  : expression
-  | ;; empty for user friendly
-  ;
-
-expression_function_declaration
-  : overriding_indicator_opt function_specification IS paren_expression 
aspect_specification_opt SEMICOLON
- ;; IS does not start a block, so it is not "motion".
- ;;
-    %((wisi-statement-action [1 statement-start 2 statement-override 6 
statement-end])
-      (wisi-indent-action [nil nil nil ada-indent-broken ada-indent-broken 
ada-indent-broken]))%
-  ;
-
-extended_return_object_declaration
-  : IDENTIFIER COLON aliased_opt constant_opt return_subtype_indication 
COLON_EQUAL expression_opt
-    %((wisi-indent-action [nil nil 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 [nil nil ada-indent-broken ada-indent-broken 
ada-indent-broken]))%
-  ;
-
-extended_return_object_declaration_opt
-  : extended_return_object_declaration
-  | ;; empty
-  ;
-
-extended_return_statement
-  : RETURN extended_return_object_declaration_opt DO 
handled_sequence_of_statements END RETURN SEMICOLON
-    %((wisi-statement-action [1 statement-start 3 motion 7 statement-end])
-      (wisi-motion-action [1 3 [4 WHEN] 7])
-      (wisi-indent-action [[nil ada-indent] ada-indent-broken nil [ada-indent 
ada-indent] nil ada-indent-broken
-                           ada-indent-broken]))%
-  | RETURN extended_return_object_declaration SEMICOLON
-    %((wisi-statement-action [1 statement-start 3 statement-end]))%
-      ;; indent the same as a simple return statment
-      ;; test/ada_mode-nominal.adb
-      ;; return B : Integer :=
-      ;;   (Local_Function);
-      ;; (wisi-indent-action [nil nil nil]))
-  ;
-
-;; designator is merged with name
-
-factor
-  : primary STAR_STAR primary
-  | primary
-  | ABS primary
-  | NOT primary
-  ;
-
-formal_object_declaration
-  : identifier_list COLON mode_opt null_exclusion_opt name COLON_EQUAL
-    expression_opt aspect_specification_opt SEMICOLON
-    %((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 [nil
-                           ada-indent-broken ada-indent-broken 
ada-indent-broken
-                           (wisi-hanging%- ada-indent-broken (* 2 
ada-indent-broken))
-                           ada-indent-broken
-                           (wisi-anchored% 6 ada-indent-broken) 
ada-indent-broken ada-indent-broken]))%
-  | identifier_list COLON mode_opt access_definition COLON_EQUAL
-    expression_opt aspect_specification_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 8 statement-end])
-      (wisi-indent-action [nil ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken
-                             (wisi-anchored% 5 ada-indent-broken) 
ada-indent-broken ada-indent-broken]))%
-  | identifier_list COLON mode_opt null_exclusion_opt name 
aspect_specification_opt SEMICOLON
-    %((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 [nil
-                           ada-indent-broken ada-indent-broken 
ada-indent-broken
-                           (wisi-hanging%- ada-indent-broken (* 2 
ada-indent-broken))
-                           ada-indent-broken ada-indent-broken]))%
-  | identifier_list COLON mode_opt access_definition aspect_specification_opt 
SEMICOLON
-    %((wisi-statement-action [1 statement-start 6 statement-end])
-      (wisi-indent-action [nil ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken
-                               ada-indent-broken]))%
-  ;
-
-formal_part
-  : LEFT_PAREN parameter_specification_list RIGHT_PAREN
-    %((wisi-statement-action [1 misc]) ;; for ada-wisi-in-paramlist-p, 
ada-goto-declarative-region-start
-      (wisi-indent-action [nil (wisi-anchored 1 1) (wisi-anchored 1 0)]))%
-  ;
-
-formal_subprogram_declaration
-  : WITH subprogram_specification IS ABSTRACT subprogram_default 
aspect_specification_opt SEMICOLON
- ;; formal_abstract_subprogram_declaration
-    %((wisi-statement-action [1 statement-start 7 statement-end])
-      (wisi-indent-action [nil nil ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken ada-indent-broken]))%
-  | WITH subprogram_specification IS subprogram_default 
aspect_specification_opt SEMICOLON
- ;; formal_concrete_subprogram_declaration
-    %((wisi-statement-action [1 statement-start 6 statement-end])
-      (wisi-indent-action [nil nil ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken]))%
-  | WITH subprogram_specification IS ABSTRACT aspect_specification_opt 
SEMICOLON
- ;; formal_abstract_subprogram_declaration
-    %((wisi-statement-action [1 statement-start 6 statement-end])
-      (wisi-indent-action [nil ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken ada-indent-broken]))%
-  | WITH subprogram_specification aspect_specification_opt SEMICOLON ;; 
formal_concrete_subprogram_declaration
-    %((wisi-statement-action [1 statement-start 4 statement-end])
-      (wisi-indent-action [nil nil ada-indent-broken ada-indent-broken]))%
-  ;
-
-formal_type_declaration
-  : TYPE IDENTIFIER discriminant_part_opt IS formal_type_definition 
aspect_specification_opt SEMICOLON
- ;; formal_complete_type_declaration
-    %((wisi-statement-action [1 statement-start 7 statement-end])
-      (wisi-face-apply-action [2 nil font-lock-type-face])
-      (wisi-indent-action [nil ada-indent-broken ada-indent-broken 
ada-indent-broken
-                             ada-indent-broken ada-indent-broken 
ada-indent-broken]))%
-  | TYPE IDENTIFIER discriminant_part_opt IS TAGGED aspect_specification_opt 
SEMICOLON
- ;; formal_incomplete_type_declaration
-    %((wisi-statement-action [1 statement-start 7 statement-end])
-      (wisi-face-apply-action [2 nil font-lock-type-face])
-      (wisi-indent-action [nil ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken
-                               ada-indent-broken ada-indent-broken]))%
-  | TYPE IDENTIFIER discriminant_part_opt aspect_specification_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 5 statement-end])
-      (wisi-face-apply-action [2 nil font-lock-type-face])
-      (wisi-indent-action [nil ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken]))%
-  ;
-
-formal_type_definition
-  : abstract_tagged_limited_opt PRIVATE ;; formal_private_type_definition
-  | formal_derived_type_definition
-  | LEFT_PAREN BOX RIGHT_PAREN ;; formal_discrete_type_definition
-  | RANGE BOX ;; formal_signed_integer_type_definition
-  | MOD BOX ;; formal_modular_type_definition
-  | DIGITS BOX ;; formal_floating_point_definition
-  | DELTA BOX DIGITS BOX ;; formal_decimal_fixed_point_definition
-  | DELTA BOX ;; formal_ordinary_fixed_point_definition
-  | array_type_definition ;; formal_array_type_definition
-  | access_definition ;; access_type_definition, formal_access_type_definition
-  | interface_type_definition ;; formal_interface_type_definition
-  ;
-
-;; formal_derived_type_definition ::=
-;;   [abstract] [limited | synchronized] new subtype_mark [[and 
interface_list]with private]
-formal_derived_type_definition
-  : abstract_limited_synchronized_opt NEW name and_interface_list_opt WITH 
PRIVATE
-    %((wisi-face-apply-action [3 font-lock-function-name-face 
font-lock-type-face]))%
-  | abstract_limited_synchronized_opt NEW name and_interface_list_opt
-    %((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
-    %((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 [nil
-                           ada-indent-broken
-                           (wisi-hanging%- ada-indent-broken (* 2 
ada-indent-broken))
-                           ada-indent-broken ada-indent-broken
-                           (wisi-hanging%- ada-indent-broken (* 2 
ada-indent-broken))
-                           ada-indent-broken
-                           ada-indent-broken ada-indent-broken]))%
-  ;
-
-formal_package_actual_part
-  : LEFT_PAREN BOX RIGHT_PAREN ;; (<>)
-  | ;; empty generic actual part
-
- ;; | LEFT_PAREN association_list RIGHT_PAREN
- ;; covered by name <empty formal_package_actual_part) in 
formal_package_declaration
- ;; covers others => <>
-  ;
-
-;; formal_package_association_list is merged into association_list to avoid 
reduce/reduce conflict
-
-full_type_declaration
-  : TYPE IDENTIFIER discriminant_part_opt IS type_definition 
aspect_specification_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 7 statement-end])
-        (wisi-name-action 2)
-        (wisi-face-apply-action [2 nil font-lock-type-face])
-
-        ;; Indentation of comment after 'is' is
-        ;; ada-indent-record-rel-type if type_definition is a record.
-        (wisi-indent-action [nil ada-indent-broken ada-indent-broken
-                                 [ada-indent-broken (ada-indent-record* 'TYPE 
5 ada-indent-broken)]
-                                 (wisi-hanging%- ada-indent-broken (* 2 
ada-indent-broken))
-                                 nil ada-indent-broken]))%
-  | task_type_declaration
-  | protected_type_declaration
-  ;
-
-function_specification
-  : FUNCTION name parameter_and_result_profile
-    %((wisi-statement-action [1 statement-start])
-        (wisi-name-action 2)
-        (wisi-face-apply-action [2 font-lock-function-name-face 
font-lock-function-name-face])
-        (wisi-indent-action [nil
-                             (wisi-hanging%- ada-indent-broken (* 2 
ada-indent-broken))
-                             ada-indent-broken]))%
-    %((wisi-propagate-name 2))%
-  ;
-
-general_access_modifier_opt
-  : ALL
-  | CONSTANT
-  | ;; empty
-  ;
-
-;; generic_actual_part is not needed; see generic_instantiation
-
-;; generic_association is merged into association
-
-generic_declaration
-  : generic_subprogram_declaration
-  | generic_package_declaration
-  ;
-
-generic_formal_part
-  : GENERIC generic_formal_parameter_declarations
-    %((wisi-statement-action [1 statement-start])
-      (wisi-indent-action [nil ada-indent]))%
-  | GENERIC
-    %((wisi-statement-action [1 statement-start]))%
-  ;
-
-generic_formal_parameter_declarations
-  : generic_formal_parameter_declarations generic_formal_parameter_declaration
-  | generic_formal_parameter_declaration
-  ;
-
-generic_formal_parameter_declaration
-  : formal_object_declaration
-  | formal_type_declaration
-  | formal_subprogram_declaration
-  | formal_package_declaration
-  | pragma_g
-  | use_clause
-  ;
-
-generic_instantiation
- ;; name generic_actual_part is included in name as a function call
-  : PACKAGE name IS NEW name aspect_specification_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 7 statement-end])
-        (wisi-name-action 2)
-        (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 [nil
-                             (wisi-hanging%- ada-indent-broken (* 2 
ada-indent-broken))
-                             nil ada-indent-broken
-                             (wisi-hanging%- ada-indent-broken (* 2 
ada-indent-broken))
-                             ada-indent-broken ada-indent-broken]))%
-  | overriding_indicator_opt PROCEDURE name IS NEW name 
aspect_specification_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 2 statement-override 8 
statement-end])
-        (wisi-name-action 3)
-        (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 [nil
-                             nil
-                             (wisi-hanging%- ada-indent-broken (* 2 
ada-indent-broken))
-                             ada-indent-broken ada-indent-broken
-                             (wisi-hanging%- ada-indent-broken (* 2 
ada-indent-broken))
-                             ada-indent-broken ada-indent-broken]))%
-  | overriding_indicator_opt FUNCTION name IS NEW name 
aspect_specification_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 2 statement-override 8 
statement-end])
-        (wisi-name-action 3)
-        (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 [nil
-                             nil
-                             (wisi-hanging%- ada-indent-broken (* 2 
ada-indent-broken))
-                             nil ada-indent-broken
-                             (wisi-hanging%- ada-indent-broken (* 2 
ada-indent-broken))
-                             ada-indent-broken
-                             ada-indent-broken]))%
-  ;
-
-generic_package_declaration
-  : generic_formal_part package_specification SEMICOLON
-    %((wisi-statement-action [1 statement-start 3 statement-end])
-      (wisi-motion-action [1 2 3])
-      (wisi-indent-action [[nil ada-indent] nil ada-indent-broken]))%
-  ;
-
-generic_renaming_declaration
-  : GENERIC PACKAGE name RENAMES name aspect_specification_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 7 statement-end])
-        (wisi-name-action 3)
-        (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 [nil
-                             nil
-                             (wisi-hanging%- ada-indent-broken (* 2 
ada-indent-broken))
-                             ada-indent-broken
-                             (wisi-hanging%- ada-indent-broken (* 2 
ada-indent-broken))
-                             ada-indent-broken
-                             ada-indent-broken]))%
-  | GENERIC PROCEDURE name RENAMES name aspect_specification_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 7 statement-end])
-        (wisi-name-action 3)
-        (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 [nil
-                             nil
-                             (wisi-hanging%- ada-indent-broken (* 2 
ada-indent-broken))
-                             (ada-indent-renames 3)
-                             (wisi-hanging%- ada-indent-broken (* 2 
ada-indent-broken))
-                             ada-indent-broken
-                             ada-indent-broken]))%
-  | GENERIC FUNCTION name RENAMES name aspect_specification_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 7 statement-end])
-        (wisi-name-action 3)
-        (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 [nil
-                             nil
-                             (wisi-hanging%- ada-indent-broken (* 2 
ada-indent-broken))
-                             (ada-indent-renames 3)
-                             (wisi-hanging%- ada-indent-broken (* 2 
ada-indent-broken))
-                             ada-indent-broken
-                             ada-indent-broken]))%
-  ;
-
-generic_subprogram_declaration
-  : generic_formal_part subprogram_specification aspect_specification_opt 
SEMICOLON
-    %((wisi-statement-action [1 statement-start 2 statement-override 4 
statement-end])
-      (wisi-motion-action [1 2 4]))%
-  ;
-
-goto_label
-  : LESS_LESS IDENTIFIER GREATER_GREATER
-    %((wisi-face-apply-action [2 nil font-lock-constant-face])
-      (wisi-indent-action [ada-indent-label ada-indent-broken 
ada-indent-broken]))%
-  ;
-
-handled_sequence_of_statements
-  : sequence_of_statements_opt EXCEPTION exception_handler_list_opt
-    %((wisi-indent-action [[nil nil]
-                             (- ada-indent)
-                             [(- ada-indent-when ada-indent) (- 
ada-indent-when ada-indent)]]))%
-  | sequence_of_statements_opt
-  ;
-
-identifier_list
-  : identifier_list COMMA IDENTIFIER
-    %((wisi-name-action 3)
-        (wisi-indent-action [nil nil ada-indent-broken]))%
-  | IDENTIFIER
-    %((wisi-name-action 1))%
-  ;
-
-identifier_opt
-  : IDENTIFIER
-    %()%
-    %((wisi-propagate-name 1))%
-  | ;; empty
-  ;
-
-if_expression
-  : IF expression_opt THEN expression_opt elsif_expression_list ELSE 
expression_opt
-    %((wisi-statement-action [1 motion 3 motion 6 motion])
-      (wisi-motion-action [1 3 5 6])
-      (wisi-indent-action [nil [ada-indent-broken ada-indent-broken] nil 
ada-indent nil nil ada-indent]))%
-  | IF expression_opt THEN expression_opt ELSE expression_opt
-    %((wisi-statement-action [1 motion 3 motion 5 motion])
-      (wisi-motion-action [1 3 5])
-      (wisi-indent-action [nil [ada-indent-broken ada-indent-broken] nil 
ada-indent nil ada-indent]))%
-  | IF expression_opt THEN expression_opt elsif_expression_list
-    %((wisi-statement-action [1 motion 3 motion])
-      (wisi-motion-action [1 3 5])
-      (wisi-indent-action [nil [ada-indent-broken ada-indent-broken] nil 
ada-indent nil]))%
-  | IF expression_opt THEN expression_opt
-    %((wisi-statement-action [1 motion 3 motion])
-      (wisi-motion-action [1 3])
-      (wisi-indent-action [nil [ada-indent-broken ada-indent-broken] nil 
ada-indent]))%
-  ;
-
-if_statement
-  : IF expression_opt THEN sequence_of_statements_opt elsif_statement_list ELSE
-    sequence_of_statements_opt END IF SEMICOLON
-    %((wisi-statement-action [1 statement-start 3 motion 6 motion 10 
statement-end])
-      (wisi-motion-action [1 3 5 6 10])
-      (wisi-indent-action [nil
-                           [(wisi-hanging% ada-indent-broken (* 2 
ada-indent-broken))
-                            ada-indent-broken]
-                           nil
-                           [ada-indent ada-indent] nil nil
-                           [ada-indent ada-indent] nil ada-indent-broken 
ada-indent-broken]))%
-  | IF expression_opt THEN sequence_of_statements_opt ELSE 
sequence_of_statements_opt END IF SEMICOLON
-    %((wisi-statement-action [1 statement-start 3 motion 5 motion 9 
statement-end])
-      (wisi-motion-action [1 3 5 9])
-      (wisi-indent-action [nil [(wisi-hanging% ada-indent-broken (* 2 
ada-indent-broken))
-                              ada-indent-broken]
-                             nil
-                             [ada-indent ada-indent] nil
-                             [ada-indent ada-indent] nil ada-indent-broken 
ada-indent-broken]))%
-  | IF expression_opt THEN sequence_of_statements_opt elsif_statement_list END 
IF SEMICOLON
-    %((wisi-statement-action [1 statement-start 3 motion 8 statement-end])
-      (wisi-motion-action [1 3 5 8])
-      (wisi-indent-action [nil [(wisi-hanging% ada-indent-broken (* 2 
ada-indent-broken))
-                              ada-indent-broken]
-                             nil
-                             [ada-indent ada-indent] nil nil ada-indent-broken 
ada-indent-broken]))%
-  | IF expression_opt THEN sequence_of_statements_opt END IF SEMICOLON
-    %((wisi-statement-action [1 statement-start 3 motion 7 statement-end])
-      (wisi-motion-action [1 3 7])
-      (wisi-indent-action [nil [(wisi-hanging% ada-indent-broken (* 2 
ada-indent-broken))
-                              ada-indent-broken]
-                             nil
-                             [ada-indent ada-indent] nil ada-indent-broken 
ada-indent-broken]))%
-  ;
-
-incomplete_type_declaration
-  : TYPE IDENTIFIER discriminant_part_opt IS TAGGED SEMICOLON
-    %((wisi-statement-action [1 statement-start 6 statement-end])
-        (wisi-name-action 2)
-        (wisi-face-apply-action [2 nil font-lock-type-face])
-        (wisi-indent-action [nil ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken ada-indent-broken]))%
-  | TYPE IDENTIFIER discriminant_part_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 3 statement-end])
-        (wisi-name-action 2)
-        (wisi-face-apply-action [2 nil font-lock-type-face])
-        (wisi-indent-action [nil ada-indent-broken ada-indent-broken 
ada-indent-broken]))%
-  ;
-
-index_constraint
-  : LEFT_PAREN discrete_subtype_definition_list RIGHT_PAREN
-    %((wisi-indent-action [nil (wisi-anchored 1 1) (wisi-anchored 1 0)]))%
-  ;
-
-index_subtype_definition : name RANGE BOX ;
-
-index_subtype_definition_list
-  : index_subtype_definition_list COMMA index_subtype_definition
-  | index_subtype_definition
-  ;
-
-interface_list
-  : interface_list AND name
-    %((wisi-face-apply-action [3 font-lock-function-name-face 
font-lock-type-face]))%
-  | name
-    %((wisi-face-apply-action [1 font-lock-function-name-face 
font-lock-type-face]))%
-  ;
-
-interface_type_definition
-  : LIMITED INTERFACE AND interface_list
-  | TASK INTERFACE AND interface_list
-  | PROTECTED INTERFACE AND interface_list
-  | SYNCHRONIZED INTERFACE AND interface_list
-  | LIMITED INTERFACE
-  | TASK INTERFACE
-  | PROTECTED INTERFACE
-  | SYNCHRONIZED INTERFACE
-  | INTERFACE
-;
-
-iteration_scheme
-  : WHILE expression_opt
-    %((wisi-indent-action [nil [ada-indent-broken ada-indent-broken]]))%
-  | FOR iterator_specification_opt
-    %((wisi-indent-action [nil [ada-indent-broken ada-indent-broken]]))%
-  ;
-
-iterator_specification
- ;; also loop_parameter_specification, to avoid redundancy bewteen
- ;; iterator_name and discrete_subtype_definition; both can be just
- ;; 'name'. For example, a name could be either
- ;; 'Package_Name.Type_Name' from a loop_parameter_specification, or
- ;; "Object_Name.Iterator' from iterator_specification.
- ;;
- ;; That means both get marked with the same face, when they should
- ;; not be. If we include the conflict to get different face actions,
- ;; it will be resolved by identical stacks, one will be terminated at
- ;; random, and the wrong face action might still be applied. This can
- ;; only be fixed with true name resolution, so we remove any faces
- ;; that have been applied.
- ;;
-  : IDENTIFIER COLON subtype_indication OF REVERSE name
-  | IDENTIFIER COLON subtype_indication OF name
-  | IDENTIFIER IN REVERSE discrete_subtype_definition
-    %((wisi-face-remove-action [4]))%
-
- ;; The following can only be iterator_specifications. The name could
- ;; include a package name, but we can't tell that without full name
- ;; resolution.
-  | IDENTIFIER OF REVERSE name
-  | IDENTIFIER OF name
-
-  | IDENTIFIER IN discrete_subtype_definition
-    %((wisi-face-remove-action [3]))%
-  ;
-
-iterator_specification_opt
-  : iterator_specification
-  | ;; empty
-  ;
-
-;; library_*  not needed; 'declaration' in compilation_unit
-
-loop_statement
-  : block_label_opt iteration_scheme LOOP sequence_of_statements_opt END LOOP 
identifier_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 2 statement-override 3 motion 
8 statement-end])
-      (wisi-motion-action [2 3 8])
-      (wisi-indent-action [nil nil nil [ada-indent ada-indent] nil 
ada-indent-broken ada-indent-broken
-                               ada-indent-broken]))%
-    %((wisi-match-names 1 7))%
-  | block_label_opt LOOP sequence_of_statements_opt END LOOP identifier_opt 
SEMICOLON
-    %((wisi-statement-action [1 statement-start 2 statement-override 4 motion 
7 statement-end])
-      (wisi-motion-action [2 4 7])
-      (wisi-indent-action [nil nil [ada-indent ada-indent] nil 
ada-indent-broken ada-indent-broken ada-indent-broken]))%
-    %((wisi-match-names 1 6))%
-  ;
-
-membership_choice_list
-  : membership_choice_list BAR membership_choice
-  | membership_choice
-  ;
-
-membership_choice
-  : simple_expression
- ;; ARM has choice_expression here, but that leads to a shift/reduce conflict, 
because of the following productions:
- ;; membership_choice_list => membership_choice => choice_expression => 
choice_relation_and_list
- ;; relation => simple_expression IN choice_relation_and_list
- ;; thus 'choice_relation_and_list AND' could be followed by relation (=> 
reduce) or choice_relation (=> shift)
- ;; This only occurs in legal Ada in expressions such as 'True in 1 and 3'; 
not useful, so we leave it out.
-  | range_g
- ;;  | name ;; subtype_mark - also covered by simple_expression; avoid 
reduce/reduce conflict
-  ;
-
-mod_clause_opt
-  : AT MOD expression_opt SEMICOLON
-  | ;; empty
-  ;
-
-mode_opt
-  : IN
-  | IN OUT
-  | OUT
-  | ;; empty
-  ;
-
-multiplying_operator : STAR | SLASH | MOD | REM ; ;; * | / | mod | rem
-
-name_list
-  : name_list COMMA name
-  | name
-  ;
-
-name
- ;; ARM has name ( discrete_subtype_definition ) here, but that's
- ;; partly redundant with name actual_parameter_part, and partly with
- ;; subtype_indication; this is the part that is not redundant.
-  : name LEFT_PAREN range_list RIGHT_PAREN ;; slice or constraint
- ;; test/ada_mode_nominal.ads Access_Unconstrained_Array_Type_1
- ;; test/ada_mode-parens.adb
- ;; Slice_1
- ;;   (1,
- ;;    C
- ;;      (1 .. 2));
- ;;
- ;; tests/g-comlin.adb
- ;; return CL.Argument (The_Switch.Arg_Num)
- ;;   (The_Switch.First ..
- ;;      The_Switch.Last);
-    %((wisi-indent-action [nil
-                           (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
- ;; type_conversion, function_call, procedure call, generic
- ;; instantiation, indexed_component.
- ;;
- ;; test/ada_mode-parens.adb
- ;; No_Conditional_Set : constant Ada.Strings.Maps.Character_Set :=
- ;;   Ada.Strings.Maps."or"
- ;;     (Ada.Strings.Maps.To_Set (' '),
- ;;
- ;; Local_11 : Local_11_Type := Local_11_Type'
- ;;   (A => Integer
- ;;      (1.0),
- ;; indented by association
- ;;
- ;;test/hanging.adb; sets ada-indent-hanging-rel-exp: t
- ;; X_Long_Name
- ;;   := F_Long_Name
- ;;        (A => True,
- ;;         B => True);
-    %((wisi-indent-action [nil
-                           (if ada-indent-hanging-rel-exp
-                               (wisi-anchored 1 ada-indent-broken)
-                             (wisi-anchored% 1 ada-indent-broken))]))%
-
-  | selected_component ;; starts with name
-    %()%
-    %((wisi-propagate-name 1))%
-
-  | attribute_reference ;; starts with name
-  | qualified_expression ;; starts with name
-
-  | IDENTIFIER ;; from direct_name
- ;; marking this for possible later face-apply, to prevent applying
- ;; face to the aggregate of an allocator, and other similar cases.
- ;; test/ada_mode-nominal.adb
- ;;    Object_3 : access Record_Type_3 := new Record_Type_3 (...)
-    %((wisi-face-mark-action [1 suffix]))%
-    %((wisi-propagate-name 1))%
-
-  | CHARACTER_LITERAL ;; only in an expression, so no type or function-name 
face
-
-  | STRING_LITERAL ;; operator_symbol, designator
-    %()%
-    %((wisi-propagate-name 1))%
-
-  | AT_SIGN ;; target_name
-  
-  ;; | explicit_dereference in selected_component
-  ;; | indexed_component same as 'name actual_parameter_part' above
-  ;; | generalized_reference same as 'name'
-  ;; | generalized_indexing same as 'indexed_component'
-  ;
-
-name_opt
-  : name
-    %()%
-    %((wisi-propagate-name 1))%
-  | ;; empty
-  ;
-
-null_exclusion_opt
-  : NOT NULL
-  | ;; empty
-  ;
-
-;; use _only_ to avoid a conflict between name and null_exclusion_opt; name 
must be a type
-null_exclusion_opt_name_type
-  : IDENTIFIER
-    %((wisi-face-apply-action [1 nil font-lock-type-face]))%
-  | selected_component
-    %((wisi-face-apply-action [1 font-lock-function-name-face 
font-lock-type-face]))%
-  | NOT NULL IDENTIFIER
-    %((wisi-face-apply-action [3 nil font-lock-type-face]))%
-  | NOT NULL selected_component
-    %((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
-    %((wisi-statement-action [1 statement-start 2 statement-override 6 
statement-end])
-      (wisi-indent-action [nil nil ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken]))%
-  ;
-
-object_declaration
-  : identifier_list COLON aliased_opt constant_opt subtype_indication 
COLON_EQUAL
-    expression_opt aspect_specification_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 9 statement-end])
-      (wisi-indent-action [nil ada-indent-broken ada-indent-broken 
ada-indent-broken
-                               (wisi-hanging%- ada-indent-broken (* 2 
ada-indent-broken))
-                               ada-indent-broken
-                               (wisi-anchored%- 6 ada-indent-broken) 
ada-indent-broken ada-indent-broken]))%
-  | identifier_list COLON aliased_opt constant_opt access_definition 
COLON_EQUAL
-    expression_opt aspect_specification_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 9 statement-end])
-      (wisi-indent-action [nil ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken ada-indent-broken
-                             (wisi-anchored% 6 ada-indent-broken) 
ada-indent-broken ada-indent-broken]))%
-  | identifier_list COLON aliased_opt constant_opt array_type_definition 
COLON_EQUAL
-    expression_opt aspect_specification_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 9 statement-end])
-      (wisi-indent-action [nil ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken ada-indent-broken
-                             (wisi-anchored% 6 ada-indent-broken) 
ada-indent-broken ada-indent-broken]))%
-  | identifier_list COLON aliased_opt constant_opt subtype_indication 
aspect_specification_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 7 statement-end])
-      (wisi-indent-action [nil ada-indent-broken ada-indent-broken 
ada-indent-broken
-                               (wisi-hanging%- ada-indent-broken (* 2 
ada-indent-broken))
-                               ada-indent-broken ada-indent-broken]))%
-  | identifier_list COLON aliased_opt constant_opt access_definition 
aspect_specification_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 7 statement-end])
-      (wisi-indent-action [nil ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken
-                               ada-indent-broken ada-indent-broken]))%
-  | identifier_list COLON aliased_opt constant_opt array_type_definition 
aspect_specification_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 7 statement-end])
-      (wisi-indent-action [nil ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken
-                               ada-indent-broken ada-indent-broken]))%
-  | single_task_declaration
-  | single_protected_declaration
-  ;
-
-object_renaming_declaration
-  : IDENTIFIER COLON null_exclusion_opt name RENAMES name 
aspect_specification_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 8 statement-end])
-      (wisi-name-action 1)
-      (wisi-face-apply-action [4 font-lock-function-name-face 
font-lock-type-face])
-      (wisi-indent-action [nil
-                           ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken
-                           (wisi-hanging%- ada-indent-broken (* 2 
ada-indent-broken))
-                           ada-indent-broken ada-indent-broken]))%
-  | IDENTIFIER COLON access_definition RENAMES name aspect_specification_opt 
SEMICOLON
-    %((wisi-statement-action [1 statement-start 7 statement-end])
-      (wisi-name-action 1)
-      (wisi-indent-action [nil
-                           ada-indent-broken ada-indent-broken 
ada-indent-broken
-                           (wisi-hanging%- ada-indent-broken (* 2 
ada-indent-broken))
-                           ada-indent-broken ada-indent-broken]))%
-  | IDENTIFIER COLON EXCEPTION RENAMES name aspect_specification_opt SEMICOLON 
;; exception_renaming_declaration
-    %((wisi-statement-action [1 statement-start 7 statement-end])
-      (wisi-name-action 1)
-      (wisi-face-apply-action [5 font-lock-function-name-face nil])
-      (wisi-indent-action [nil
-                           ada-indent-broken ada-indent-broken 
ada-indent-broken
-                           (wisi-hanging%- ada-indent-broken (* 2 
ada-indent-broken))
-                           ada-indent-broken ada-indent-broken]))%
-  ;
-
-;; operator_symbol is STRING_LITERAL, in name
-
-overriding_indicator_opt
-  : NOT OVERRIDING
-    %((wisi-statement-action [1 statement-start 2 statement-override]))%
-  | OVERRIDING
-    %((wisi-statement-action [1 statement-start]))%
-  | ;; empty - following keyword is statement-start
-  ;
-
-package_body
-  : PACKAGE BODY name aspect_specification_opt IS declarative_part_opt
-    BEGIN handled_sequence_of_statements END name_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 5 motion 7 motion 11 
statement-end])
-      (wisi-name-action 3)
-      (wisi-motion-action [1 5 7 [8 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 [nil
-                           ada-indent-broken
-                           (wisi-hanging%- ada-indent-broken (* 2 
ada-indent-broken))
-                           nil nil [ada-indent ada-indent]
-                           nil [ada-indent ada-indent] nil
-                           (wisi-hanging%- ada-indent-broken (* 2 
ada-indent-broken))
-                           ada-indent-broken]))%
-    %((wisi-match-names 3 10))%
-
-  | PACKAGE BODY name aspect_specification_opt IS declarative_part_opt END 
name_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 5 motion 9 statement-end])
-      (wisi-name-action 3)
-      (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 [nil
-                           ada-indent-broken
-                           (wisi-hanging%- ada-indent-broken (* 2 
ada-indent-broken))
-                           ada-indent-broken nil [ada-indent ada-indent] nil
-                           (wisi-hanging%- ada-indent-broken (* 2 
ada-indent-broken))
-                           ada-indent-broken]))%
-    %((wisi-match-names 3 8))%
-  ;
-
-package_body_stub
-  : PACKAGE BODY name IS SEPARATE aspect_specification_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 7 statement-end])
-      (wisi-name-action 3)
-      (wisi-face-apply-action [3 font-lock-function-name-face 
font-lock-function-name-face])
-      (wisi-indent-action [nil
-                           ada-indent-broken
-                           (wisi-hanging%- ada-indent-broken (* 2 
ada-indent-broken))
-                           nil ada-indent-broken ada-indent-broken 
ada-indent-broken]))%
-  ;
-
-package_declaration
-  : package_specification SEMICOLON
-    %((wisi-statement-action [1 statement-start 2 statement-end])
-      (wisi-motion-action [1 2]))%
-  ;
-
-package_renaming_declaration
-  : PACKAGE name RENAMES name aspect_specification_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 6 statement-end])
-      (wisi-name-action 2)
-      (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 [nil
-                           (wisi-hanging%- ada-indent-broken (* 2 
ada-indent-broken))
-                           ada-indent-broken
-                           (wisi-hanging%- ada-indent-broken (* 2 
ada-indent-broken))
-                           ada-indent-broken ada-indent-broken]))%
-  ;
-
-package_specification
-  : PACKAGE name aspect_specification_opt IS declarative_part_opt PRIVATE 
declarative_part_opt END name_opt
-    %((wisi-statement-action [1 statement-start 4 motion 6 motion])
-      (wisi-name-action 2)
-      (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 [nil
-                           (wisi-hanging%- ada-indent-broken (* 2 
ada-indent-broken))
-                           ada-indent-broken nil [ada-indent ada-indent] nil
-                           [ada-indent ada-indent] nil
-                           (wisi-hanging%- ada-indent-broken (* 2 
ada-indent-broken))]))%
-    %((wisi-match-names 2 9))%
-  | PACKAGE name aspect_specification_opt IS declarative_part_opt END name_opt
-    %((wisi-statement-action [1 statement-start 4 motion])
-      (wisi-name-action 2)
-      (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 [nil
-                           (wisi-hanging%- ada-indent-broken (* 2 
ada-indent-broken))
-                           ada-indent-broken nil [ada-indent ada-indent] nil
-                           (wisi-hanging%- ada-indent-broken (* 2 
ada-indent-broken))]))%
-    %((wisi-match-names 2 7))%
-  ;
-
-parameter_and_result_profile
-  : formal_part result_profile
-    %((wisi-indent-action [nil (ada-indent-return 1 0)]))%
-  | result_profile
-  ;
-
-;; parameter_association is merged into association
-;; parameter_association_list is merged into association_list
-
-parameter_profile_opt
-  : formal_part
-  | ;; empty
-  ;
-
-parameter_specification
-  : identifier_list COLON aliased_opt mode_opt null_exclusion_opt name 
COLON_EQUAL expression_opt
-    %((wisi-face-apply-action [6 font-lock-function-name-face 
font-lock-type-face])
-      (wisi-indent-action [nil
-                           ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken
-                           (wisi-hanging%- ada-indent-broken (* 2 
ada-indent-broken))
-                           ada-indent-broken (wisi-anchored% 7 
ada-indent-broken)]))%
-  | identifier_list COLON aliased_opt mode_opt null_exclusion_opt name
-    %((wisi-face-apply-action [6 font-lock-function-name-face 
font-lock-type-face])
-      (wisi-indent-action [nil
-                           ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken
-                           (wisi-hanging%- ada-indent-broken (* 2 
ada-indent-broken))]))%
-  | identifier_list COLON aliased_opt access_definition COLON_EQUAL 
expression_opt
-    %((wisi-indent-action [nil 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 [nil ada-indent-broken ada-indent-broken 
ada-indent-broken]))%
-  | ;; empty
-  ;
-
-parameter_specification_list
-  : parameter_specification_list SEMICOLON parameter_specification
-  | parameter_specification
-  ;
-
-paren_expression
-  : LEFT_PAREN expression_opt RIGHT_PAREN
-    ;;test/ada_mode-parens.ads
-    ;; function Expression_Function_1 (V : Integer) return Boolean
-    ;;   is ((V = V and then True)
-    ;;         or else True);
-    %((wisi-indent-action [nil
-                           (wisi-hanging (wisi-anchored 1 1)
-                                         (wisi-anchored 1 (+ 1 
ada-indent-broken)))
-                           (wisi-anchored 1 0)]))%
-
-  ;; AI12-0157[1] aggregate instead of (aggregate)
-  | aggregate
-  ;
-
-pragma_g
-  : PRAGMA IDENTIFIER LEFT_PAREN association_list RIGHT_PAREN SEMICOLON
- ;; ARM has 'pragma_argument_association'; this is a superset, and reduces 
redundancy
-    %((wisi-statement-action [1 statement-start 6 statement-end])
-      (wisi-face-apply-action [2 nil font-lock-function-name-face])
-      (wisi-indent-action [nil ada-indent-broken ada-indent-broken 
(wisi-anchored 3 1) (wisi-anchored 3 0)
-                               ada-indent-broken]))%
- ;; ARM 4.5.7(7), ARM 4.5.8(4) allow ( conditional|quantified_expression ) 
instead of (( ... ))
-  | PRAGMA IDENTIFIER LEFT_PAREN conditional_quantified_expression RIGHT_PAREN 
SEMICOLON
-    %((wisi-statement-action [1 statement-start 6 statement-end])
-      (wisi-face-apply-action [2 nil font-lock-function-name-face])
-      (wisi-indent-action [nil ada-indent-broken ada-indent-broken 
(wisi-anchored 3 1) (wisi-anchored 3 0)
-                               ada-indent-broken]))%
-  | PRAGMA IDENTIFIER SEMICOLON
-    %((wisi-statement-action [1 statement-start 3 statement-end])
-      (wisi-face-apply-action [2 nil font-lock-function-name-face])
-      (wisi-indent-action [nil ada-indent-broken ada-indent-broken]))%
-  ;
-
-;; prefix is name
-
-primary
-  : NUMERIC_LITERAL
-    %((wisi-face-apply-action [1 nil font-lock-constant-face]))%
-  | NULL
- ;; | STRING_LITERAL in name
-  | aggregate
-    %((wisi-indent-action [(ada-indent-aggregate)]))%
-  | name
-  | NEW name
- ;; allocator, FIXME: leaving out subpool_specification.
-    %((wisi-face-apply-action [2 font-lock-function-name-face 
font-lock-type-face]))%
- ;; | LEFT_PAREN expression RIGHT_PAREN ;; covered by aggregate
- ;; | LEFT_PAREN conditional_quantified_expression RIGHT_PAREN ; covered by 
aggregate
-  ;
-
-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
-    %((wisi-statement-action [1 statement-start 12 statement-end])
-      (wisi-name-action 2)
-      (wisi-face-apply-action [2 nil font-lock-type-face])
-      (wisi-indent-action [nil 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
-                               nil ada-indent-broken]))%
-  ;
-
-private_type_declaration
-  : TYPE IDENTIFIER discriminant_part_opt IS abstract_tagged_limited_opt 
PRIVATE aspect_specification_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 8 statement-end])
-      (wisi-name-action 2)
-      (wisi-face-apply-action [2 nil font-lock-type-face])
-      (wisi-indent-action [nil ada-indent-broken ada-indent-broken nil 
ada-indent-broken ada-indent-broken
-                               nil ada-indent-broken]))%
-  ;
-
-procedure_call_statement
-  : name SEMICOLON
-    %((wisi-statement-action [1 statement-start 2 statement-end])
-      (wisi-indent-action [(wisi-hanging- nil ada-indent-broken) 
ada-indent-broken]))%
-  ;
-
-procedure_specification
-  : PROCEDURE name parameter_profile_opt
-    %((wisi-statement-action [1 statement-start])
-      (wisi-name-action 2)
-      (wisi-face-apply-action [2 font-lock-function-name-face 
font-lock-function-name-face])
-      (wisi-indent-action [nil
-                           (wisi-hanging%- ada-indent-broken (* 2 
ada-indent-broken))
-                           ada-indent-broken]))%
-    %((wisi-propagate-name 2))%
-  ;
-
-proper_body
-  : subprogram_body
-  | package_body
-  | task_body
-  | protected_body
-  ;
-
-protected_body
-  : PROTECTED BODY IDENTIFIER aspect_specification_opt IS 
protected_operation_item_list_opt END identifier_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 5 motion 9 statement-end])
-      (wisi-name-action 3)
-      (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 [nil ada-indent-broken ada-indent-broken nil nil 
ada-indent nil ada-indent-broken
-                               ada-indent-broken]))%
-    %((wisi-match-names 3 8))%
-  ;
-
-protected_body_stub
-  : PROTECTED BODY IDENTIFIER IS SEPARATE aspect_specification_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 7 statement-end])
-      (wisi-name-action 3)
-      (wisi-face-apply-action [3 nil font-lock-type-face])
-      (wisi-indent-action [nil ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken
-                               ada-indent-broken ada-indent-broken]))%
-  ;
-
-protected_definition
-  : declarative_part_opt PRIVATE declarative_part_opt END identifier_opt
-    %((wisi-statement-action [2 motion])
-      (wisi-face-apply-action [5 nil font-lock-type-face])
-      (wisi-indent-action [[ada-indent ada-indent] nil [ada-indent ada-indent] 
nil nil]))%
-    %((wisi-propagate-name 5))%
-
-  | declarative_part_opt END identifier_opt
-    %((wisi-face-apply-action [3 nil font-lock-type-face])
-      (wisi-indent-action [[ada-indent ada-indent] nil nil]))%
-    %((wisi-propagate-name 3))%
-  ;
-
-protected_operation_item
-  : subprogram_declaration
-  | subprogram_body
-  | entry_body
-  | expression_function_declaration
-  | null_procedure_declaration
-  | aspect_clause
-  ;
-
-protected_operation_item_list
-  : protected_operation_item_list protected_operation_item
-  | protected_operation_item
-  ;
-
-protected_operation_item_list_opt
-  : protected_operation_item_list
-  | ;; empty
-  ;
-
-protected_opt
-  : PROTECTED
-  | ;; empty
-  ;
-
-protected_type_declaration
-  : PROTECTED TYPE IDENTIFIER discriminant_part_opt aspect_specification_opt IS
-    NEW interface_list WITH protected_definition SEMICOLON
-    %((wisi-statement-action [1 statement-start 6 motion 11 statement-end])
-      (wisi-name-action 3)
-      (wisi-motion-action [1 6 [10 PRIVATE] 11])
-      (wisi-face-apply-action [3 nil font-lock-type-face])
-      (wisi-indent-action [nil ada-indent-broken ada-indent-broken 
ada-indent-broken nil nil
-                               ada-indent-broken ada-indent-broken 
ada-indent-broken nil ada-indent-broken]))%
-    %((wisi-match-names 3 10))%
-  | PROTECTED TYPE IDENTIFIER discriminant_part_opt aspect_specification_opt 
IS protected_definition SEMICOLON
-    %((wisi-statement-action [1 statement-start 6 motion 8 statement-end])
-      (wisi-name-action 3)
-      (wisi-motion-action [1 6 [7 PRIVATE] 8])
-      (wisi-face-apply-action [3 nil font-lock-type-face])
-      (wisi-indent-action [nil ada-indent-broken ada-indent-broken 
ada-indent-broken nil [nil ada-indent] nil
-                               ada-indent-broken]))%
-    %((wisi-match-names 3 7))%
-  ;
-
-;; protected_operation_declaration merged into declaration
-
-qualified_expression
-  : name tick aggregate
-    %((wisi-face-apply-action [1 font-lock-function-name-face 
font-lock-type-face])
-      (wisi-indent-action [nil nil (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
-    %((wisi-indent-action [nil ada-indent-broken ada-indent-broken 
ada-indent-broken (wisi-anchored% 4 ada-indent-broken)]))%
-  ;
-
-quantifier : ALL | SOME ;
-
-raise_expression
-  : RAISE name WITH expression_opt
-    %((wisi-indent-action [nil ada-indent-broken ada-indent-broken 
(wisi-anchored% 3 ada-indent-broken)]))%
-  | RAISE name
-  ;
-
-raise_statement
-  : RAISE name WITH expression_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 5 statement-end])
-      ;; test/ada_mode-nominal.adb
-      ;; raise Constraint_Error with
-      ;;   "help " &
-      ;;   "me!";
-      ;;
-      ;; raise Constraint_Error
-      ;;   with Integer'Image (1) &
-      ;;   "help!";
-      (wisi-indent-action [nil
-                           (wisi-hanging%- ada-indent-broken (* 2 
ada-indent-broken))
-                           ada-indent-broken (wisi-anchored% 3 
ada-indent-broken)
-                           ada-indent-broken]))%
-  | RAISE name SEMICOLON
-    %((wisi-statement-action [1 statement-start 3 statement-end])
-      (wisi-indent-action [nil
-                           (wisi-hanging%- ada-indent-broken (* 2 
ada-indent-broken))
-                           ada-indent-broken]))%
-  | RAISE SEMICOLON
-    %((wisi-statement-action [1 statement-start 2 statement-end]))%
-  ;
-
-range_g
-  : name tick RANGE LEFT_PAREN expression_opt RIGHT_PAREN ;; 
range_attribute_reference
-    %((wisi-indent-action [nil ada-indent-broken ada-indent-broken 
ada-indent-broken (wisi-anchored 4 1)
-                               (wisi-anchored 4 0)]))%
-  | name tick RANGE ;; range_attribute_reference
-  | simple_expression DOT_DOT simple_expression
-  ;
-
-range_list
-  : range_list COMMA range_g
-  | range_g
-  ;
-
-real_range_specification_opt
-  : RANGE simple_expression DOT_DOT simple_expression
-  | ;; empty
-  ;
-
-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)
-                           nil]))%
- ;; ' terminate quote
-  | NULL RECORD
-  ;
-
-record_representation_clause
-  : FOR name USE RECORD mod_clause_opt component_clause_list END RECORD 
SEMICOLON
-    %((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 [nil
-                           (wisi-hanging%- ada-indent-broken (* 2 
ada-indent-broken))
-                           ada-indent-broken
-                           [(ada-indent-record* 'FOR 4 0) (ada-indent-record* 
'FOR 4 ada-indent)]
-                           (ada-indent-record 1 4 ada-indent)
-                           [(ada-indent-record* 'FOR 4 ada-indent) 
(ada-indent-record* 'FOR 4 ada-indent)]
-                           (ada-indent-record* 'FOR 4 0)
-                           ada-indent-broken ada-indent-broken]))%
-  ;
-
-relation_and_list
-  : relation_and_list AND relation
-  | relation AND relation
-  ;
-
-relation_and_then_list
-  : relation_and_then_list AND THEN relation
-  | relation AND THEN relation
-  ;
-
-relation_or_list
-  : relation_or_list OR relation
-  | relation OR relation
-  ;
-
-relation_or_else_list
-  : relation_or_else_list OR ELSE relation
-  | relation OR ELSE relation
-  ;
-
-relation_xor_list
-  : relation_xor_list XOR relation
-  | relation XOR relation
-  ;
-
-;; http://www.ada-auth.org/cgi-bin/cvsweb.cgi/ai12s/ai12-0022-1.txt?rev=1.13
-;; adds raise_expression
-relation
-  : simple_expression NOT IN membership_choice_list
-  | simple_expression IN membership_choice_list
-  | simple_expression relational_operator simple_expression
-  | simple_expression
-  | raise_expression
-  ;
-
-relational_operator
-  : EQUAL | SLASH_EQUAL | LESS | LESS_EQUAL | GREATER | GREATER_EQUAL ;
-  ;;  =   | /=          | <    |  <=        | >       | >=
-
-renaming_declaration
-  : object_renaming_declaration ;; includes exception_renaming_declaration
-  | package_renaming_declaration
-  | subprogram_renaming_declaration
-  | generic_renaming_declaration
-  ;
-
-requeue_statement
-  : REQUEUE name WITH ABORT SEMICOLON
-    %((wisi-statement-action [1 statement-start 5 statement-end]))%
-  | REQUEUE name SEMICOLON
-    %((wisi-statement-action [1 statement-start 3 statement-end]))%
-  ;
-
-;; not in LRM; used to implement consistent indentation
-result_profile
-  : RETURN null_exclusion_opt name_opt
-    %((wisi-face-apply-action [3 font-lock-function-name-face 
font-lock-type-face])
-      (wisi-indent-action* 1
-                           [nil
-                            (wisi-anchored* 1 ada-indent-broken)
-                            (wisi-anchored*- 1 ada-indent-broken)]))%
-  | RETURN access_definition
- ;; test/ada_mode-nominal.adb
- ;; function Function_Access_1
- ;;   (A_Param : in Float)
- ;;   return access
- ;;     Standard.Float
-    %((wisi-indent-action* 1 [nil (wisi-anchored*- 1 ada-indent-broken)]))%
-  ;
-
-return_subtype_indication
-  : subtype_indication
-  | access_definition
-  ;
-
-selected_component
-  : name DOT IDENTIFIER
-    %((wisi-face-mark-action [1 prefix 3 suffix])
-      (wisi-indent-action [nil ada-indent-broken ada-indent-broken]))%
-    %((wisi-merge-names 1 3))%
-
-  | name DOT CHARACTER_LITERAL
-    %((wisi-face-mark-action [1 prefix]))%
-
-  | name DOT STRING_LITERAL
-    %((wisi-face-mark-action [1 prefix]))%
-    %((wisi-merge-names 1 3))%
-
-  | name DOT ALL
-    %((wisi-face-mark-action [1 prefix]))%
-  ;
-
-;; selector_name - IDENTIFIER, STRING_LITERAL overlap name; CHARACTER_LITERAL 
used separately
-;;  : IDENTIFIER | CHARACTER_LITERAL | STRING_LITERAL ; ;; operator_symbol
-
-selective_accept
-  : SELECT select_alternative_list_opt ELSE sequence_of_statements_opt END 
SELECT SEMICOLON
-    %((wisi-statement-action [1 statement-start 3 motion 7 statement-end])
-      (wisi-motion-action [1 [2 OR] 3 7])
-      (wisi-indent-action [[nil ada-indent] [nil ada-indent] nil [ada-indent 
ada-indent] nil ada-indent-broken
-                           ada-indent-broken]))%
-  | SELECT select_alternative_list_opt END SELECT SEMICOLON
-    %((wisi-statement-action [1 statement-start 5 statement-end])
-      (wisi-motion-action [1 [2 OR] 5])
-      (wisi-indent-action [[nil ada-indent] [nil ada-indent] nil 
ada-indent-broken ada-indent-broken]))%
-  ;
-
-select_alternative
- ;; we can't use guard_opt here because when present a guard is a
- ;; block-start, but when absent there is no block-start
-  : WHEN expression_opt EQUAL_GREATER accept_statement 
sequence_of_statements_opt ;; guard accept_alternative
-    %((wisi-statement-action [1 motion])
-      (wisi-indent-action [nil ada-indent-broken ada-indent-broken ada-indent 
ada-indent]))%
-  | WHEN expression_opt EQUAL_GREATER TERMINATE SEMICOLON ;; 
terminate_alternative
-    %((wisi-statement-action [1 motion 4 statement-start 5 statement-end])
-      (wisi-indent-action [nil ada-indent-broken ada-indent-broken ada-indent 
nil]))%
-  | WHEN expression_opt EQUAL_GREATER delay_alternative
-    %((wisi-statement-action [1 motion])
-      (wisi-indent-action [nil ada-indent-broken ada-indent-broken 
ada-indent]))%
-  | accept_statement sequence_of_statements_opt ;; accept_alternative
-  | TERMINATE SEMICOLON ;; terminate_alternative
-    %((wisi-statement-action [1 statement-start 2 statement-end]))%
-  | delay_alternative
-  ;
-
-select_alternative_list
-  : select_alternative_list OR select_alternative
-    %((wisi-statement-action [2 motion])
-        (wisi-motion-action [[1 OR] 2])
-        (wisi-indent-action [nil nil ada-indent]))%
-  | select_alternative
-    %((wisi-indent-action [ada-indent]))%
-  ;
-
-select_alternative_list_opt
-  : select_alternative_list
-  | ;; empty
-  ;
-
-select_statement
-  : selective_accept
-  | timed_entry_call
-  | conditional_entry_call
-  | asynchronous_select
-  ;
-
-sequence_of_statements
-  : sequence_of_statements statement
-  | statement
-  ;
-
-;; Wherever the ARM requires a sequence_of_statements, we allow
-;; nothing; this simplifies indenting skeletons (see ada-skel), and is
-;; more user-friendly for indenting while editing.
-sequence_of_statements_opt
-  : sequence_of_statements
-  | ;; empty
-  ;
-
-simple_expression
-  : unary_adding_operator term_list
-  | term_list
-  ;
-
-simple_return_statement
-  : RETURN expression_opt SEMICOLON
- ;; test/ada_mode-parens.adb Function_3
- ;; return
- ;;   1.0 +
- ;;   2.0;
-    %((wisi-statement-action [1 statement-start 3 statement-end])
-      (wisi-indent-action [nil ada-indent-broken ada-indent-broken]))%
-  ;
-
-simple_statement
-  : NULL SEMICOLON;; null_statement
-    %((wisi-statement-action [1 statement-start 2 statement-end]))%
-  | assignment_statement
-  | exit_statement
-  | GOTO IDENTIFIER SEMICOLON ;; goto_statement
-    %((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
- ;; | entry_call_statement ; covered by procedure_call_statement
-  | requeue_statement
-  | delay_statement
-  | ABORT name SEMICOLON ;; abort_statement; ignoring list of tasks
-    %((wisi-statement-action [1 statement-start 3 statement-end]))%
-  | raise_statement
-  ;; | code_statement
-  | pragma_g
-  ;
-
-single_protected_declaration
-  : PROTECTED IDENTIFIER aspect_specification_opt IS NEW interface_list WITH 
protected_definition SEMICOLON
-    %((wisi-statement-action [1 statement-start 4 motion 7 motion 9 
statement-end])
-      (wisi-name-action 2)
-      (wisi-motion-action [1 4 7 [8 PRIVATE] 9])
-      (wisi-face-apply-action [2 nil font-lock-type-face])
-      (wisi-indent-action [nil ada-indent-broken nil nil ada-indent-broken 
ada-indent-broken ada-indent-broken nil
-                                 ada-indent-broken]))%
-    %((wisi-match-names 2 8))%
-
-  | PROTECTED IDENTIFIER aspect_specification_opt IS protected_definition 
SEMICOLON
-    %((wisi-statement-action [1 statement-start 4 motion 6 statement-end])
-      (wisi-name-action 2)
-      (wisi-motion-action [1 4 [5 PRIVATE] 6])
-      (wisi-face-apply-action [2 nil font-lock-type-face])
-      (wisi-indent-action [nil ada-indent-broken nil [nil ada-indent] nil 
ada-indent-broken]))%
-    %((wisi-match-names 2 5))%
-  ;
-
-single_task_declaration
-  : TASK IDENTIFIER aspect_specification_opt IS NEW interface_list WITH 
task_definition END identifier_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 4 motion 11 statement-end])
-      (wisi-name-action 2)
-      (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 [nil ada-indent-broken nil nil ada-indent-broken 
ada-indent-broken ada-indent-broken nil
-                                 nil ada-indent-broken ada-indent-broken]))%
-    %((wisi-match-names 2 10))%
-
-  | TASK IDENTIFIER aspect_specification_opt IS task_definition END 
identifier_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 4 motion 8 statement-end])
-      (wisi-name-action 2)
-      (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 [nil ada-indent-broken nil [nil ada-indent] nil nil 
ada-indent-broken ada-indent-broken]))%
-    %((wisi-match-names 2 7))%
-
-  | TASK IDENTIFIER aspect_specification_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 4 statement-end])
-      (wisi-name-action 2)
-      (wisi-face-apply-action [2 nil font-lock-type-face])
-      (wisi-indent-action [nil ada-indent-broken ada-indent-broken 
ada-indent-broken]))%
-  ;
-
-statement
-  : goto_label
-  | simple_statement
-  | 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
-    %((wisi-statement-action [1 statement-start 2 statement-override 4 motion 
6 motion 10 statement-end])
-      (wisi-motion-action [1 2 4 6 [7 WHEN] 10])
-      (wisi-face-apply-action [9 font-lock-function-name-face 
font-lock-function-name-face])
-      (wisi-indent-action [nil [nil ada-indent] nil nil [ada-indent ada-indent]
-                             nil [ada-indent ada-indent] nil ada-indent-broken 
ada-indent-broken]))%
-    %((wisi-match-names 2 9))%
-  ;
-
-subprogram_body_stub
-  : overriding_indicator_opt subprogram_specification IS SEPARATE 
aspect_specification_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 2 statement-override 6 
statement-end])
-      (wisi-indent-action [nil nil nil ada-indent-broken ada-indent-broken 
ada-indent-broken]))%
-  ;
-
-subprogram_declaration
-  : overriding_indicator_opt subprogram_specification aspect_specification_opt 
SEMICOLON
-    %((wisi-statement-action [1 statement-start 2 statement-override 4 
statement-end]))%
-  ;
-
-subprogram_default
-  : name
-    %((wisi-face-apply-action [1 font-lock-function-name-face 
font-lock-function-name-face]))%
-  | BOX
-  | NULL ;
-
-subprogram_renaming_declaration
-  : overriding_indicator_opt subprogram_specification RENAMES name 
aspect_specification_opt SEMICOLON
-    %((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 [nil
-                           nil (ada-indent-renames 2)
-                           (wisi-hanging%- ada-indent-broken (* 2 
ada-indent-broken))
-                           ada-indent-broken ada-indent-broken]))%
-  ;
-
-subprogram_specification
-  : procedure_specification
-    %()%
-    %((wisi-propagate-name 1))%
-  | function_specification
-    %()%
-    %((wisi-propagate-name 1))%
-  ;
-
-subtype_declaration
-  : SUBTYPE IDENTIFIER IS subtype_indication aspect_specification_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 6 statement-end])
-      (wisi-name-action 2)
-      (wisi-face-apply-action [2 nil font-lock-type-face])
-      (wisi-indent-action [nil ada-indent-broken ada-indent-broken 
ada-indent-broken nil
-                               ada-indent-broken]))%
-  ;
-
-subtype_indication
-  : NOT NULL name constraint
- ;; The last component of a selected_component could be an iterator
- ;; function in a loop iteration_scheme, not a type. See the comment
- ;; in iterator_specification.
-    %((wisi-face-apply-action [3 font-lock-function-name-face 
font-lock-type-face]))%
-  | NOT NULL name
-    %((wisi-face-apply-action [3 font-lock-function-name-face 
font-lock-type-face]))%
-  | name constraint
-    %((wisi-face-apply-action [1 font-lock-function-name-face 
font-lock-type-face]))%
-  | name
-    %((wisi-face-apply-action [1 font-lock-function-name-face 
font-lock-type-face]))%
-  ;
-
-;; subtype_mark replaced by name
-
-subunit
-  : SEPARATE LEFT_PAREN name RIGHT_PAREN proper_body
-    %((wisi-statement-action [1 statement-start 5 statement-override])
-      (wisi-indent-action [nil
-                           (wisi-hanging%- ada-indent-broken (* 2 
ada-indent-broken))
-                           (wisi-anchored 2 1) (wisi-anchored 2 0) nil]))%
-  ;
-
-task_body
-  : TASK BODY IDENTIFIER aspect_specification_opt IS declarative_part_opt
-    BEGIN handled_sequence_of_statements END identifier_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 5 motion 7 motion 11 
statement-end])
-      (wisi-name-action 3)
-      (wisi-motion-action [1 5 7 [8 WHEN] 11])
-      (wisi-face-apply-action [3 nil font-lock-type-face 10 nil 
font-lock-type-face])
-      (wisi-indent-action [nil nil ada-indent-broken nil nil [ada-indent 
ada-indent]
-                               nil [ada-indent ada-indent] nil 
ada-indent-broken ada-indent-broken]))%
-    %((wisi-match-names 3 10))%
-  ;
-
-task_body_stub
-  : TASK BODY IDENTIFIER IS SEPARATE aspect_specification_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 7 statement-end])
-      (wisi-name-action 3)
-      (wisi-face-apply-action [3 nil font-lock-type-face])
-      (wisi-indent-action [nil nil ada-indent-broken nil ada-indent-broken 
ada-indent-broken ada-indent-broken]))%
-  ;
-
-;; LRM includes 'end identifier' here; we put that in
-;; task_type_declaration, single_task_declaration to simplify motion
-;; actions.
-task_definition
-  : declarative_part_opt PRIVATE declarative_part_opt
-    %((wisi-statement-action [2 motion])
-      (wisi-indent-action [[ada-indent ada-indent] nil [ada-indent 
ada-indent]]))%
-  | declarative_part_opt
-    %((wisi-indent-action [[ada-indent ada-indent]]))%
-  ;
-
-;; task_item replaced by declaration
-
-task_type_declaration
-  : TASK TYPE IDENTIFIER discriminant_part_opt aspect_specification_opt IS
-    NEW interface_list WITH task_definition END identifier_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 6 motion 9 motion 13 
statement-end])
-      (wisi-name-action 3)
-      (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 [nil ada-indent-broken ada-indent-broken 
ada-indent-broken nil nil
-                               ada-indent-broken ada-indent-broken 
ada-indent-broken nil nil ada-indent-broken
-                               ada-indent-broken]))%
-    %((wisi-match-names 3 12))%
-  | TASK TYPE IDENTIFIER discriminant_part_opt aspect_specification_opt IS 
task_definition END identifier_opt SEMICOLON
-    %((wisi-statement-action [1 statement-start 6 motion 10 statement-end])
-      (wisi-name-action 3)
-      (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 [nil ada-indent-broken ada-indent-broken 
ada-indent-broken nil [nil ada-indent] nil nil
-                               ada-indent-broken ada-indent-broken]))%
-    %((wisi-match-names 3 9))%
-
-  | TASK TYPE IDENTIFIER discriminant_part_opt aspect_specification_opt 
SEMICOLON
-    %((wisi-statement-action [1 statement-start 6 statement-end])
-      (wisi-name-action 3)
-      (wisi-face-apply-action [3 nil font-lock-type-face])
-      (wisi-indent-action [nil ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken
-                               ada-indent-broken]))%
-  ;
-
-term
-  : term multiplying_operator factor
-  | factor
-  ;
-
-term_list
-  : term_list binary_adding_operator term
-  | term
-  ;
-
-tick
-  : TICK_1
-  | TICK_2
-  ;
-
-timed_entry_call
-  : SELECT entry_call_alternative OR delay_alternative END SELECT SEMICOLON
-    %((wisi-statement-action [1 statement-start 3 motion 6 statement-end])
-      (wisi-motion-action [1 3 6])
-      (wisi-indent-action [nil [ada-indent ada-indent] nil [ada-indent 
ada-indent] nil ada-indent-broken
-                               ada-indent-broken]))%
-  ;
-
-triggering_alternative
-  : procedure_call_statement sequence_of_statements_opt
-  | name sequence_of_statements_opt ;; entry_call_statement
-  | delay_statement sequence_of_statements_opt
-  ;
-
-type_declaration
-  : full_type_declaration
-  | incomplete_type_declaration
-  | private_type_declaration
-  | private_extension_declaration
-  ;
-
-type_definition
-  : enumeration_type_definition
-  | RANGE simple_expression DOT_DOT simple_expression ;; 
integer_type_definition
-  | MOD expression_opt
-  | DIGITS expression_opt real_range_specification_opt ;; 
real_type_definition, floating_point_type_definition
-  | DELTA expression_opt DIGITS expression_opt real_range_specification_opt ;; 
decimal_fixed_point_definition
-  | DELTA expression_opt real_range_specification_opt ;; 
ordinary_fixed_point_definition
-  | array_type_definition
-  | abstract_tagged_limited_opt record_definition ;;record_type_definition
-  | access_definition ;; access_type_definition
-  | derived_type_definition
-  | interface_type_definition
-  ;
-
-variant_part
-  : CASE direct_name_opt IS variant_list END CASE SEMICOLON
-    %((wisi-statement-action [1 statement-start 7 statement-end])
-      (wisi-motion-action [1 4 7])
-      (wisi-indent-action [nil ada-indent-broken nil ada-indent-when nil 
ada-indent-broken ada-indent-broken]))%
-  ;
-
-variant_list
-  : variant_list variant
-    %((wisi-motion-action [1 2]))%
-  | variant
-  ;
-
-variant
-  : WHEN discrete_choice_list EQUAL_GREATER component_list_opt
-    %((wisi-statement-action [1 motion])
-      ;; ada-indent-when applied in variant_part
-      (wisi-indent-action [nil (wisi-hanging nil ada-indent-broken) ada-indent 
[ada-indent ada-indent]]))%
-  ;
-
-unary_adding_operator : PLUS | MINUS ; ;; + | -
-
-use_clause
-  : USE ALL TYPE name_list SEMICOLON
-    %((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 [nil ada-indent-broken ada-indent-broken 
ada-indent-use ada-indent-broken]))%
-  | USE TYPE name_list SEMICOLON
-    %((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 [nil ada-indent-broken ada-indent-use 
ada-indent-broken]))%
-  | USE name_list SEMICOLON
-    %((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 [nil ada-indent-use ada-indent-broken]))%
-  ;
-
-with_clause
-  : LIMITED PRIVATE WITH name_list SEMICOLON
-    %((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 [nil ada-indent-broken ada-indent-broken 
ada-indent-with ada-indent-broken]))%
-  | LIMITED WITH name_list SEMICOLON
-    %((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 [nil ada-indent-broken ada-indent-with 
ada-indent-broken]))%
-  | PRIVATE WITH name_list SEMICOLON
-    %((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 [nil ada-indent-broken ada-indent-with 
ada-indent-broken]))%
-  | WITH name_list SEMICOLON
-    %((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 [nil ada-indent-with ada-indent-broken]))%
-  ;
-
-;;; end of file
diff --git a/packages/ada-mode/ada_license.text 
b/packages/ada-mode/ada_license.text
deleted file mode 100644
index 995a753..0000000
--- a/packages/ada-mode/ada_license.text
+++ /dev/null
@@ -1,127 +0,0 @@
-Copyright © 1992, 1993, 1994, 1995  Intermetrics, Inc.
-
-Copyright © 2000  The MITRE Corporation, Inc.
-
-Copyright © 2004, 2005, 2006  AXE Consultants
-
-Copyright © 2004, 2005, 2006  Ada-Europe
-
-Copyright © 2008, 2009, 2010, 2011, 2012  AXE Consultants
-
-
-Ada Reference Manual - Language and Standard Libraries
-
-Copyright © 1992, 1993, 1994, 1995, Intermetrics, Inc.
-
-This copyright is assigned to the U.S. Government.  All rights reserved.
-
-This document may be copied, in whole or in part, in any form or by any
-means, as is or with alterations, provided that (1) alterations are
-clearly marked as alterations and (2) this copyright notice is included
-unmodified in any copy. Compiled copies of standard library units and
-examples need not contain this copyright notice so long as the notice
-is included in all copies of source code and documentation.
-
----------
-
-Technical Corrigendum 1
-
-Copyright © 2000, The MITRE Corporation.  All Rights Reserved.
-
-This document may be copied, in whole or in part, in any form or by any
-means, as is, or with alterations, provided that (1) alterations are
-clearly marked as alterations and (2) this copyright notice is included
-unmodified in any copy. Any other use or distribution of this document
-is prohibited without the prior express permission of MITRE.
-
-You use this document on the condition that you indemnify and hold
-harmless MITRE, its Board of Trustees, officers, agents, and employees,
-from any and all liability or damages to yourself or your hardware or
-software, or third parties, including attorneys' fees, court costs, and
-other related costs and expenses, arising out of your use of this
-document irrespective of the cause of said liability.
-
-MITRE MAKES THIS DOCUMENT AVAILABLE ON AN "AS IS" BASIS AND MAKES NO
-WARRANTY, EXPRESS OR IMPLIED, AS TO THE ACCURACY, CAPABILITY,
-EFFICIENCY MERCHANTABILITY, OR FUNCTIONING OF THIS DOCUMENT.  IN NO
-EVENT WILL MITRE BE LIABLE FOR ANY GENERAL, CONSEQUENTIAL, INDIRECT,
-INCIDENTAL, EXEMPLARY, OR SPECIAL DAMAGES, EVEN IF MITRE HAS BEEN
-ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
-
-
-Amendment 1
-
-Copyright © 2004, 2005, 2006, 2007, AXE Consultants.  All Rights
-Reserved.
-
-This document may be copied, in whole or in part, in any form or by any
-means, as is, or with alterations, provided that (1) alterations are
-clearly marked as alterations and (2) this copyright notice is included
-unmodified in any copy. Any other use or distribution of this document
-is prohibited without the prior express permission of AXE.
-
-You use this document on the condition that you indemnify and hold
-harmless AXE, its board, officers, agents, and employees, from any and
-all liability or damages to yourself or your hardware or software, or
-third parties, including attorneys' fees, court costs, and other
-related costs and expenses, arising out of your use of this document
-irrespective of the cause of said liability.
-
-AXE MAKES THIS DOCUMENT AVAILABLE ON AN "AS IS" BASIS AND MAKES NO
-WARRANTY, EXPRESS OR IMPLIED, AS TO THE ACCURACY, CAPABILITY,
-EFFICIENCY MERCHANTABILITY, OR FUNCTIONING OF THIS DOCUMENT. IN NO
-EVENT WILL AXE BE LIABLE FOR ANY GENERAL, CONSEQUENTIAL, INDIRECT,
-INCIDENTAL, EXEMPLARY, OR SPECIAL DAMAGES, EVEN IF AXE HAS BEEN ADVISED
-OF THE POSSIBILITY OF SUCH DAMAGES.
-
-Third Edition
-
-Copyright © 2008, 2009, 2010, 2011, 2012 AXE Consultants.  All Rights
-Reserved.
-
-This document may be copied, in whole or in part, in any form or by any
-means, as is, or with alterations, provided that (1) alterations are
-clearly marked as alterations and (2) this copyright notice is included
-unmodified in any copy. Any other use or distribution of this document
-is prohibited without the prior express permission of AXE.
-
-You use this document on the condition that you indemnify and hold
-harmless AXE, its board, officers, agents, and employees, from any and
-all liability or damages to yourself or your hardware or software, or
-third parties, including attorneys' fees, court costs, and other
-related costs and expenses, arising out of your use of this document
-irrespective of the cause of said liability.
-
-AXE MAKES THIS DOCUMENT AVAILABLE ON AN "AS IS" BASIS AND MAKES NO
-WARRANTY, EXPRESS OR IMPLIED, AS TO THE ACCURACY, CAPABILITY,
-EFFICIENCY MERCHANTABILITY, OR FUNCTIONING OF THIS DOCUMENT. IN NO
-EVENT WILL AXE BE LIABLE FOR ANY GENERAL, CONSEQUENTIAL, INDIRECT,
-INCIDENTAL, EXEMPLARY, OR SPECIAL DAMAGES, EVEN IF AXE HAS BEEN ADVISED
-OF THE POSSIBILITY OF SUCH DAMAGES.
-
-
-
-Ada 2005 Consolidated Standard
-
-Copyright © 2004, 2005, 2006, Ada-Europe.
-
-This document may be copied, in whole or in part, in any form or by any
-means, as is, or with alterations, provided that (1) alterations are
-clearly marked as alterations and (2) this copyright notice is included
-unmodified in any copy. Any other use or distribution of this document
-is prohibited without the prior express permission of Ada-Europe.
-
-You use this document on the condition that you indemnify and hold
-harmless Ada-Europe and its Board from any and all liability or damages
-to yourself or your hardware or software, or third parties, including
-attorneys' fees, court costs, and other related costs and expenses,
-arising out of your use of this document irrespective of the cause of
-said liability.
-
-ADA-EUROPE MAKES THIS DOCUMENT AVAILABLE ON AN "AS IS" BASIS AND MAKES
-NO WARRANTY, EXPRESS OR IMPLIED, AS TO THE ACCURACY, CAPABILITY,
-EFFICIENCY MERCHANTABILITY, OR FUNCTIONING OF THIS DOCUMENT. IN NO
-EVENT WILL ADA-EUROPE BE LIABLE FOR ANY GENERAL, CONSEQUENTIAL,
-INDIRECT, INCIDENTAL, EXEMPLARY, OR SPECIAL DAMAGES, EVEN IF ADA-EUROPE
-HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
diff --git a/packages/ada-mode/ada_lr1_parse_table.txt.gz 
b/packages/ada-mode/ada_lr1_parse_table.txt.gz
deleted file mode 100644
index a5c7877..0000000
Binary files a/packages/ada-mode/ada_lr1_parse_table.txt.gz and /dev/null differ
diff --git a/packages/ada-mode/ada_mode_wisi_lalr_parse.ads 
b/packages/ada-mode/ada_mode_wisi_lalr_parse.ads
deleted file mode 100644
index fb83eaf..0000000
--- a/packages/ada-mode/ada_mode_wisi_lalr_parse.ads
+++ /dev/null
@@ -1,35 +0,0 @@
---  Abstract :
---
---  External process parser for Ada mode
---
---  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
---  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_Process_Actions;
-with Ada_Process_LALR_Main;
-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,
-   Language_Protocol_Version      => Wisi.Ada.Language_Protocol_Version,
-   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_Matching_Begin_Tokens => 
WisiToken.Parse.LR.McKenzie_Recover.Ada.Matching_Begin_Tokens'Access,
-   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
deleted file mode 100644
index e86387d..0000000
--- a/packages/ada-mode/ada_mode_wisi_lr1_parse.ads
+++ /dev/null
@@ -1,36 +0,0 @@
---  Abstract :
---
---  External process parser for Ada mode
---
---  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
---  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_Process_Actions;
-with Ada_Process_LR1_Main;
-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,
-   Language_Protocol_Version      => Wisi.Ada.Language_Protocol_Version,
-   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_Matching_Begin_Tokens => 
WisiToken.Parse.LR.McKenzie_Recover.Ada.Matching_Begin_Tokens'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);
diff --git a/packages/ada-mode/ada_mode_wisi_parse.gpr.gp 
b/packages/ada-mode/ada_mode_wisi_parse.gpr.gp
deleted file mode 100644
index b39f513..0000000
--- a/packages/ada-mode/ada_mode_wisi_parse.gpr.gp
+++ /dev/null
@@ -1,146 +0,0 @@
---  Abstract :
---
---  build ada_mode_wisi_parse and other executables
---
---  Copyright (C) 2014, 2018, 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
---  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.
-
-#if ELPA="yes"
-with "wisi";
-#else
-with "wisitoken";
-#end if;
-with "standard_common";
-with "gnatcoll";
-with "gnatcoll_sqlite";
-with "gnatcoll_xref";
-#if HAVE_GNAT_UTIL="yes"
-with "gnat_util";
-#end if;
-#if HAVE_LIBADALANG="yes"
-with "libadalang";
-#end if;
-project Ada_Mode_Wisi_Parse is
-
-   for Main use
-     ("ada_mode_wisi_lalr_parse.ads",
-      "ada_mode_wisi_lr1_parse.ads",
-      "run_ada_lalr_parse.ads",
-      "run_ada_lr1_parse.ads",
-#if ELPA="no"
-       #if HAVE_LIBADALANG="yes"
-         "dump_libadalang_corrected.adb",
-       #end if;
-      "dump_wisitoken_corrected.adb",
-#end if;
-      "gpr_mode_wisi_parse.ads",
-      "run_gpr_parse.ads",
-      "gpr_query.adb"
-     );
-
-   for Source_Dirs use (".");
-
-   case Standard_Common.Profile is
-   when "On" =>
-      for Object_Dir use "obj_pro";
-      for Exec_Dir use "exec_pro";
-
-   when "Off" =>
-      for Object_Dir use "obj";
-      for Exec_Dir use ".";
-   end case;
-
-   for Languages use ("Ada", "C");
-
-   package Compiler is
-
-      case Standard_Common.Build is
-      when "Debug" =>
-         for Default_Switches ("Ada") use
-           Standard_Common.Compiler.Common_Switches &
-           Standard_Common.Compiler.Style_Checks &
-           Standard_Common.Compiler.Debug_Switches & "-gnat2020";
-
-         --  Generated files; lines too long, don't need debug
-         for Switches ("ada_process_actions.adb") use
-           Standard_Common.Compiler.Common_Switches &
-           Standard_Common.Compiler.Base_Style_Checks &
-           Standard_Common.Compiler.Base_Release_Switches & ("-O1");
-
-         for Switches ("ada_process_main.adb") use
-           Standard_Common.Compiler.Common_Switches &
-           Standard_Common.Compiler.Base_Style_Checks &
-           Standard_Common.Compiler.Base_Release_Switches & ("-O1");
-
-         for Switches ("gpr_process_actions.adb") use
-           Standard_Common.Compiler.Common_Switches &
-           Standard_Common.Compiler.Base_Style_Checks &
-           Standard_Common.Compiler.Base_Release_Switches & ("-O1");
-
-         for Switches ("gpr_process_main.adb") use
-           Standard_Common.Compiler.Common_Switches &
-           Standard_Common.Compiler.Base_Style_Checks &
-           Standard_Common.Compiler.Base_Release_Switches & ("-O1");
-
-         for Default_Switches ("C") use 
Standard_Common.Compiler.Debug_Switches_C;
-
-      when "Normal" =>
-         for Default_Switches ("Ada") use
-           Standard_Common.Compiler.Common_Switches &
-           Standard_Common.Compiler.Style_Checks &
-           Standard_Common.Compiler.Release_Switches & "-gnat2020";
-
-         for Switches ("ada_process_actions.adb") use
-           Standard_Common.Compiler.Common_Switches &
-           Standard_Common.Compiler.Base_Style_Checks &
-           Standard_Common.Compiler.Base_Release_Switches & ("-O1");
-
-         for Switches ("ada_process_main.adb") use
-           Standard_Common.Compiler.Common_Switches &
-           Standard_Common.Compiler.Base_Style_Checks &
-           Standard_Common.Compiler.Base_Release_Switches & ("-O1");
-
-         for Switches ("gpr_process.adb") use
-           Standard_Common.Compiler.Common_Switches &
-           Standard_Common.Compiler.Base_Style_Checks &
-           Standard_Common.Compiler.Base_Release_Switches & ("-O1");
-
-         for Default_Switches ("C") use 
Standard_Common.Compiler.Release_Switches_C;
-      end case;
-
-   end Compiler;
-
-   package Builder is
-      --  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");
-
-   end Builder;
-
-   package Binder is
-      for default_switches ("Ada") use ("-E"); -- symbolic traceback
-   end Binder;
-
-   package Install is
-      for Required_Artifacts ("bin") use
-        ("ada_lr1_parse_table.txt");
-   end Install;
-
-end Ada_Mode_Wisi_Parse;
diff --git a/packages/ada-mode/ada_process_actions.adb 
b/packages/ada-mode/ada_process_actions.adb
deleted file mode 100644
index e3767c7..0000000
--- a/packages/ada-mode/ada_process_actions.adb
+++ /dev/null
@@ -1,5237 +0,0 @@
---  generated parser support file.
---  command line: wisitoken-bnf-generate.exe  --generate LR1 Ada_Emacs re2c 
PROCESS text_rep ada.wy
---
-
---  Copyright (C) 2013 - 2020 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
---  published by the Free Software Foundation; either version 3, or (at
---  your option) any later version.
---
---  This software 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/>.
-
-with Wisi; use Wisi;
-with Wisi.Ada; use Wisi.Ada;
-package body Ada_Process_Actions is
-
-   use WisiToken.Semantic_Checks;
-   use all type Motion_Param_Array;
-
-   procedure abstract_subprogram_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (2, Statement_Override), (6,
-         Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Label => None))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(False, (Simple, (Int, Ada_Indent_Broken))),
-         (False, (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken)))));
-      end case;
-   end abstract_subprogram_declaration_0;
-
-   procedure accept_statement_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (5, Motion), (9, Statement_End)));
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (5, Invalid_Token_ID) & (6, 72) &
-         (9, Invalid_Token_ID)));
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, ((2, 3, 1), (8, 
3, 1)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (True, (Simple, (Label => None)), (Simple, 
(Int, Ada_Indent))), (True, (Simple, (Int,
-         Ada_Indent)), (Simple, (Int, Ada_Indent))), (False, (Simple, (Label 
=> None))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   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;
-     Recover_Active : in     Boolean)
-    return WisiToken.Semantic_Checks.Check_Status
-   is
-      pragma Unreferenced (Nonterm, Recover_Active);
-   begin
-      return Match_Names (Lexer, Descriptor, Tokens, 2, 8, End_Names_Optional);
-   end accept_statement_0_check;
-
-   procedure accept_statement_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (5, Statement_End)));
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (2, 3, 
1)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   end accept_statement_1;
-
-   procedure access_definition_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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, 
(Label => None))), (False, (Simple,
-         (Label => None))), (False, (Simple, (Label => None))), (False, 
(Simple, (Label => None))), (False, (Simple,
-         (Anchored_2, 4, Ada_Indent_Broken)))));
-      end case;
-   end access_definition_0;
-
-   procedure access_definition_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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, 
(Label => None))), (False, (Simple,
-         (Label => None))), (False, (Simple, (Label => None))), (False, 
(Simple, (Label => None))), (False, (Simple,
-         (Anchored_2, 4, Ada_Indent_Broken)))));
-      end case;
-   end access_definition_1;
-
-   procedure access_definition_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (4, 1, 
2)));
-      when Indent =>
-         null;
-      end case;
-   end access_definition_2;
-
-   procedure actual_parameter_part_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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, 
(Label => None))), (True, (Simple,
-         (Anchored_0, 1, 1)), (Simple, (Anchored_0, 1, 1))), (False, (Simple, 
(Anchored_0, 1, 0)))));
-      end case;
-   end actual_parameter_part_0;
-
-   procedure actual_parameter_part_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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, 
(Label => None))), (True, (Simple,
-         (Anchored_0, 1, 1)), (Simple, (Anchored_0, 1, 1))), (False, (Simple, 
(Anchored_0, 1, 0)))));
-      end case;
-   end actual_parameter_part_1;
-
-   procedure aggregate_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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, 
(Label => None))), (True, (Simple,
-         (Anchored_0, 1, 1)), (Simple, (Anchored_0, 1, 1))), (False, (Simple, 
(Anchored_0, 1, 0)))));
-      end case;
-   end aggregate_0;
-
-   procedure aggregate_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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, 
(Label => None))), (False, (Simple,
-         (Anchored_0, 1, 1))), (False, (Simple, (Anchored_0, 1, 1))), (False, 
(Simple, (Label => None))), (False,
-         (Simple, (Label => None))), (False, (Simple, (Anchored_0, 1, 0)))));
-      end case;
-   end aggregate_2;
-
-   procedure aggregate_3
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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, 
(Label => None))), (False, (Simple,
-         (Anchored_0, 1, 1))), (False, (Simple, (Anchored_0, 1, 1))), (True, 
(Simple, (Anchored_0, 1, 1)), (Simple,
-         (Anchored_0, 1, 1))), (False, (Simple, (Anchored_0, 1, 0)))));
-      end case;
-   end aggregate_3;
-
-   procedure aggregate_4
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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, 
(Label => None))), (False, (Simple,
-         (Anchored_0, 1, 1))), (False, (Simple, (Anchored_0, 1, 1))), (False, 
(Simple, (Anchored_0, 1, 1))), (True,
-         (Simple, (Anchored_0, 1, 1)), (Simple, (Anchored_0, 1, 1))), (False, 
(Simple, (Anchored_0, 1, 0)))));
-      end case;
-   end aggregate_4;
-
-   procedure aggregate_5
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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, 
(Label => None))), (False, (Simple,
-         (Anchored_0, 1, 1))), (False, (Simple, (Anchored_0, 1, 1))), (False, 
(Simple, (Anchored_0, 1, 1))), (True,
-         (Simple, (Anchored_0, 1, 1)), (Simple, (Anchored_0, 1, 1))), (False, 
(Simple, (Anchored_0, 1, 0)))));
-      end case;
-   end aggregate_5;
-
-   procedure aggregate_6
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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, 
(Label => None))), (True, (Simple,
-         (Anchored_0, 1, 1)), (Simple, (Anchored_0, 1, 1))), (False, (Simple, 
(Anchored_0, 1, 0)))));
-      end case;
-   end aggregate_6;
-
-   procedure array_type_definition_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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, 
(Label => None))), (False, (Simple,
-         (Label => None))), (False, (Simple, (Anchored_0, 2, 1))), (False, 
(Simple, (Anchored_0, 2, 0))), (False,
-         (Simple, (Label => None))), (False, (Simple, (Label => None)))));
-      end case;
-   end array_type_definition_0;
-
-   procedure array_type_definition_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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, 
(Label => None))), (False, (Simple,
-         (Label => None))), (False, (Simple, (Anchored_0, 2, 1))), (False, 
(Simple, (Anchored_0, 2, 0))), (False,
-         (Simple, (Label => None))), (False, (Simple, (Label => None)))));
-      end case;
-   end array_type_definition_1;
-
-   procedure aspect_clause_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (5, Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   end aspect_clause_0;
-
-   procedure aspect_specification_opt_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken)))));
-      end case;
-   end aspect_specification_opt_0;
-
-   procedure assignment_statement_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (4, Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Hanging_0, (Anchored_1, 2, 
Ada_Indent_Broken), (Anchored_1, 3,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   end assignment_statement_0;
-
-   procedure association_opt_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (True, (Hanging_3, (Anchored_1, 2, 
Ada_Indent_Broken), (Anchored_1, 2, 2 *
-         Ada_Indent_Broken)), (Hanging_3, (Anchored_1, 2, Ada_Indent_Broken), 
(Anchored_1, 2, 2 *
-         Ada_Indent_Broken)))));
-      end case;
-   end association_opt_0;
-
-   procedure association_opt_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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, 
(Hanging_0, (Label => None), (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(True, (Hanging_3, (Anchored_1, 2,
-         Ada_Indent_Broken), (Anchored_1, 2, 2 * Ada_Indent_Broken)), 
(Hanging_3, (Anchored_1, 2, Ada_Indent_Broken),
-         (Anchored_1, 2, 2 * Ada_Indent_Broken)))));
-      end case;
-   end association_opt_2;
-
-   procedure association_opt_3
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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, 
(Hanging_0, (Label => None), (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(False, (Simple, (Label => None)))));
-      end case;
-   end association_opt_3;
-
-   procedure association_opt_4
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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, 
(Hanging_0, (Label => None), (Int,
-         Ada_Indent_Broken)), (Hanging_0, (Label => None), (Int, 
Ada_Indent_Broken)))));
-      end case;
-   end association_opt_4;
-
-   procedure association_opt_6
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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, 
(Label => None))), (False, (Simple,
-         (Label => None))), (False, (Simple, (Label => None))), (False, 
(Hanging_0, (Label => None), (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(True, (Hanging_0, (Label => None), (Int,
-         Ada_Indent_Broken)), (Hanging_0, (Label => None), (Int, 
Ada_Indent_Broken)))));
-      end case;
-   end association_opt_6;
-
-   procedure association_opt_7
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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, 
(Label => None))), (False, (Hanging_0,
-         (Label => None), (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (True, (Hanging_0,
-         (Label => None), (Int, Ada_Indent_Broken)), (Hanging_0, (Label => 
None), (Int, Ada_Indent_Broken)))));
-      end case;
-   end association_opt_7;
-
-   procedure asynchronous_select_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (3, Motion), (8, Statement_End)));
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (3, Invalid_Token_ID) & (8,
-         Invalid_Token_ID)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (True, (Simple, (Int,
-         Ada_Indent)), (Simple, (Int, Ada_Indent))), (True, (Simple, (Label => 
None)), (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(True, (Simple, (Int, Ada_Indent)),
-         (Simple, (Int, Ada_Indent))), (False, (Simple, (Label => None))), 
(False, (Simple, (Int, Ada_Indent_Broken))),
-         (False, (Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   end asynchronous_select_0;
-
-   procedure at_clause_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (6, Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         null;
-      end case;
-   end at_clause_0;
-
-   procedure block_label_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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, Ada_Indent_Label))), (False,
-         (Simple, (Label => None)))));
-      end case;
-   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;
-     Recover_Active : in     Boolean)
-    return WisiToken.Semantic_Checks.Check_Status
-   is
-      pragma Unreferenced (Lexer, 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;
-     Recover_Active : in     Boolean)
-    return WisiToken.Semantic_Checks.Check_Status
-   is
-      pragma Unreferenced (Lexer, Recover_Active);
-   begin
-      return Propagate_Name (Nonterm, Tokens, 1);
-   end block_label_opt_0_check;
-
-   procedure block_statement_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (2, Motion), (4, Motion), (8,
-         Statement_End)));
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((2, 
Invalid_Token_ID) & (4, Invalid_Token_ID) & (5, 72) &
-         (8, Invalid_Token_ID)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Label => None))), (True, (Simple, (Int, Ada_Indent)), (Simple, (Int, 
Ada_Indent))), (False, (Simple, (Label
-         => None))), (True, (Simple, (Int, Ada_Indent)), (Simple, (Int, 
Ada_Indent))), (False, (Simple, (Label =>
-         None))), (False, (Simple, (Int, Ada_Indent_Broken))), (False, 
(Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   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;
-     Recover_Active : in     Boolean)
-    return WisiToken.Semantic_Checks.Check_Status
-   is
-      pragma Unreferenced (Nonterm, Recover_Active);
-   begin
-      return Match_Names (Lexer, Descriptor, Tokens, 1, 7, End_Names_Optional);
-   end block_statement_0_check;
-
-   procedure block_statement_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (2, Motion), (6, Statement_End)));
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((2, 
Invalid_Token_ID) & (3, 72) & (6, Invalid_Token_ID)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Label => None))), (True, (Simple, (Int, Ada_Indent)), (Simple, (Int, 
Ada_Indent))), (False, (Simple, (Label
-         => None))), (False, (Simple, (Int, Ada_Indent_Broken))), (False, 
(Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   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;
-     Recover_Active : in     Boolean)
-    return WisiToken.Semantic_Checks.Check_Status
-   is
-      pragma Unreferenced (Nonterm, Recover_Active);
-   begin
-      return Match_Names (Lexer, Descriptor, Tokens, 1, 5, End_Names_Optional);
-   end block_statement_1_check;
-
-   procedure case_expression_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (1, 
Motion)));
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (4, Invalid_Token_ID)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Label => None))), 
(False, (Simple, (Int, Ada_Indent_When)))));
-      end case;
-   end case_expression_0;
-
-   procedure case_expression_alternative_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (1, 
Motion)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Hanging_0, (Anchored_1, 1,
-         Ada_Indent), (Anchored_1, 1, Ada_Indent + Ada_Indent_Broken)))));
-      end case;
-   end case_expression_alternative_0;
-
-   procedure case_expression_alternative_list_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (3, Invalid_Token_ID)));
-      when Face =>
-         null;
-      when Indent =>
-         null;
-      end case;
-   end case_expression_alternative_list_0;
-
-   procedure case_statement_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (7, Statement_End)));
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (4, Invalid_Token_ID) & (7,
-         Invalid_Token_ID)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Label => None))), 
(True, (Simple, (Int, Ada_Indent_When)),
-         (Simple, (Int, Ada_Indent_When))), (False, (Simple, (Label => 
None))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   end case_statement_0;
-
-   procedure case_statement_alternative_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (1, 
Motion)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (True, (Simple, (Int, Ada_Indent)),
-         (Simple, (Int, Ada_Indent)))));
-      end case;
-   end case_statement_alternative_0;
-
-   procedure case_statement_alternative_list_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (2, Invalid_Token_ID)));
-      when Face =>
-         null;
-      when Indent =>
-         null;
-      end case;
-   end case_statement_alternative_list_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.Valid_Node_Index;
-     Tokens    : in     WisiToken.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_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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_0;
-
-   procedure compilation_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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_1;
-
-   function compilation_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, Tokens);
-   begin
-      return Terminate_Partial_Parse (Partial_Parse_Active, 
Partial_Parse_Byte_Goal, Recover_Active, Nonterm);
-   end compilation_1_check;
-
-   procedure component_clause_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (8, Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(False, (Simple, (Int,
-         Ada_Indent_Broken)))));
-      end case;
-   end component_clause_0;
-
-   procedure component_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (7, Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Anchored_1, 4, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   end component_declaration_0;
-
-   procedure component_declaration_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (5, Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   end component_declaration_1;
-
-   procedure component_list_4
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (2, Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         null;
-      end case;
-   end component_list_4;
-
-   procedure conditional_entry_call_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (3, Motion), (7, Statement_End)));
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (3, Invalid_Token_ID) & (7,
-         Invalid_Token_ID)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (True, (Simple, (Int,
-         Ada_Indent)), (Simple, (Int, Ada_Indent))), (False, (Simple, (Label 
=> None))), (True, (Simple, (Int,
-         Ada_Indent)), (Simple, (Int, Ada_Indent))), (False, (Simple, (Label 
=> None))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   end conditional_entry_call_0;
-
-   procedure declaration_9
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (6, Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, 
(Hanging_0, (Label => None), (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(False, (Simple, (Anchored_1, 4,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   end declaration_9;
-
-   procedure delay_statement_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (4, Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken)))));
-      end case;
-   end delay_statement_0;
-
-   procedure delay_statement_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (3, Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken)))));
-      end case;
-   end delay_statement_1;
-
-   procedure derived_type_definition_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (3, 1, 
2)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Label => None))), (False, (Simple, (Label => None))), (False, 
(Simple, (Label => None))), (True, (Simple,
-         (Label => None)), (Simple, (Language, Ada_Indent_Record_1'Access, 69 
& 6 & 0))), (False, (Simple, (Label =>
-         None)))));
-      end case;
-   end derived_type_definition_0;
-
-   procedure derived_type_definition_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (3, 1, 
2)));
-      when Indent =>
-         null;
-      end case;
-   end derived_type_definition_1;
-
-   procedure discriminant_part_opt_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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, 
(Label => None))), (False, (Simple,
-         (Anchored_0, 1, 1))), (False, (Simple, (Anchored_0, 1, 0)))));
-      end case;
-   end discriminant_part_opt_1;
-
-   procedure elsif_expression_item_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, Motion), 
(3, Motion)));
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (3, Invalid_Token_ID)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (True, (Simple, (Int,
-         Ada_Indent_Broken)), (Simple, (Int, Ada_Indent_Broken))), (False, 
(Simple, (Label => None))), (False, (Simple,
-         (Int, Ada_Indent)))));
-      end case;
-   end elsif_expression_item_0;
-
-   procedure elsif_expression_list_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (2, Invalid_Token_ID)));
-      when Face =>
-         null;
-      when Indent =>
-         null;
-      end case;
-   end elsif_expression_list_0;
-
-   procedure elsif_statement_item_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, Motion), 
(3, Motion)));
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (3, Invalid_Token_ID)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (True, (Simple, (Int,
-         Ada_Indent_Broken)), (Simple, (Int, Ada_Indent_Broken))), (False, 
(Simple, (Label => None))), (True, (Simple,
-         (Int, Ada_Indent)), (Simple, (Int, Ada_Indent)))));
-      end case;
-   end elsif_statement_item_0;
-
-   procedure elsif_statement_list_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (2, Invalid_Token_ID)));
-      when Face =>
-         null;
-      when Indent =>
-         null;
-      end case;
-   end elsif_statement_list_0;
-
-   procedure entry_body_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (4, Motion), (6, Motion), (8,
-         Motion), (12, Statement_End)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 2);
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (4, Invalid_Token_ID) & (6,
-         Invalid_Token_ID) & (8, Invalid_Token_ID) & (9, 72) & (12, 
Invalid_Token_ID)));
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, ((2, 3, 1), 
(11, 3, 1)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Anchored_1, 4, 
Ada_Indent_Broken))), (False, (Simple, (Label =>
-         None))), (True, (Simple, (Int, Ada_Indent)), (Simple, (Int, 
Ada_Indent))), (False, (Simple, (Label => None))),
-         (True, (Simple, (Int, Ada_Indent)), (Simple, (Int, Ada_Indent))), 
(False, (Simple, (Label => None))), (False,
-         (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken)))));
-      end case;
-   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;
-     Recover_Active : in     Boolean)
-    return WisiToken.Semantic_Checks.Check_Status
-   is
-      pragma Unreferenced (Nonterm, Recover_Active);
-   begin
-      return Match_Names (Lexer, Descriptor, Tokens, 2, 11, 
End_Names_Optional);
-   end entry_body_0_check;
-
-   procedure entry_body_formal_part_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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, 
(Label => None))), (False, (Simple,
-         (Anchored_0, 1, 1))), (False, (Simple, (Anchored_0, 1, 1))), (False, 
(Simple, (Anchored_0, 1, 1))), (False,
-         (Simple, (Anchored_0, 1, 1))), (False, (Simple, (Anchored_0, 1, 0))), 
(False, (Simple, (Int,
-         Ada_Indent_Broken)))));
-      end case;
-   end entry_body_formal_part_0;
-
-   procedure entry_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (2, Statement_Override), (8,
-         Statement_End)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 3);
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (3, 3, 
1)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Label => None))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(False, (Simple, (Int, Ada_Indent_Broken))),
-         (False, (Simple, (Anchored_0, 4, 1))), (False, (Simple, (Anchored_0, 
4, 0))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(False, (Simple, (Int,
-         Ada_Indent_Broken)))));
-      end case;
-   end entry_declaration_0;
-
-   procedure entry_declaration_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (2, Statement_Override), (6,
-         Statement_End)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 3);
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (3, 3, 
1)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Label => None))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(False, (Simple, (Int, Ada_Indent_Broken))),
-         (False, (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken)))));
-      end case;
-   end entry_declaration_1;
-
-   procedure enumeration_representation_clause_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (5, Statement_End)));
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (2, 1, 
2)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Hanging_3,
-         (Int, Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))), (False, 
(Simple, (Int, Ada_Indent_Broken))), (False,
-         (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken)))));
-      end case;
-   end enumeration_representation_clause_0;
-
-   procedure enumeration_type_definition_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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, 
(Label => None))), (False, (Simple,
-         (Anchored_0, 1, 1))), (False, (Simple, (Anchored_0, 1, 0)))));
-      end case;
-   end enumeration_type_definition_0;
-
-   procedure exception_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (4, Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         null;
-      end case;
-   end exception_declaration_0;
-
-   procedure exception_handler_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (1, 
Motion)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(True, (Simple, (Int, Ada_Indent)),
-         (Simple, (Int, Ada_Indent)))));
-      end case;
-   end exception_handler_0;
-
-   procedure exception_handler_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (1, 
Motion)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (True, (Simple, (Int, Ada_Indent)),
-         (Simple, (Int, Ada_Indent)))));
-      end case;
-   end exception_handler_1;
-
-   procedure exception_handler_list_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (2, Invalid_Token_ID)));
-      when Face =>
-         null;
-      when Indent =>
-         null;
-      end case;
-   end exception_handler_list_0;
-
-   procedure exit_statement_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (5, Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Label => None))), (False, (Simple, (Label => None))), (False, 
(Simple, (Int, Ada_Indent_Broken))), (False,
-         (Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   end exit_statement_0;
-
-   procedure exit_statement_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (3, Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         null;
-      end case;
-   end exit_statement_1;
-
-   procedure expression_function_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (2, Statement_Override), (6,
-         Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Label => None))), (False, (Simple, (Label => None))), (False, 
(Simple, (Int, Ada_Indent_Broken))), (False,
-         (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken)))));
-      end case;
-   end expression_function_declaration_0;
-
-   procedure extended_return_object_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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, 
(Label => None))), (False, (Simple,
-         (Label => None))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(False, (Simple, (Int, Ada_Indent_Broken))),
-         (False, (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple,
-         (Anchored_1, 6, Ada_Indent_Broken)))));
-      end case;
-   end extended_return_object_declaration_0;
-
-   procedure extended_return_object_declaration_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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, 
(Label => None))), (False, (Simple,
-         (Label => None))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(False, (Simple, (Int, Ada_Indent_Broken))),
-         (False, (Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   end extended_return_object_declaration_1;
-
-   procedure extended_return_statement_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (3, Motion), (7, Statement_End)));
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (3, Invalid_Token_ID) & (4, 72) &
-         (7, Invalid_Token_ID)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((True, (Simple, 
(Label => None)), (Simple, (Int,
-         Ada_Indent))), (False, (Simple, (Int, Ada_Indent_Broken))), (False, 
(Simple, (Label => None))), (True,
-         (Simple, (Int, Ada_Indent)), (Simple, (Int, Ada_Indent))), (False, 
(Simple, (Label => None))), (False,
-         (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken)))));
-      end case;
-   end extended_return_statement_0;
-
-   procedure extended_return_statement_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (3, Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         null;
-      end case;
-   end extended_return_statement_1;
-
-   procedure formal_object_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (9, Statement_End)));
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (5, 1, 
2)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Hanging_3, (Int, Ada_Indent_Broken), 
(Int, 2 * Ada_Indent_Broken))), (False,
-         (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Anchored_1, 6, 
Ada_Indent_Broken))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken)))));
-      end case;
-   end formal_object_declaration_0;
-
-   procedure formal_object_declaration_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (8, Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(False, (Simple, (Anchored_1, 5,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(False, (Simple, (Int,
-         Ada_Indent_Broken)))));
-      end case;
-   end formal_object_declaration_1;
-
-   procedure formal_object_declaration_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (7, Statement_End)));
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (5, 1, 
2)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Hanging_3, (Int, Ada_Indent_Broken), 
(Int, 2 * Ada_Indent_Broken))), (False,
-         (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken)))));
-      end case;
-   end formal_object_declaration_2;
-
-   procedure formal_object_declaration_3
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (6, Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(False, (Simple, (Int,
-         Ada_Indent_Broken)))));
-      end case;
-   end formal_object_declaration_3;
-
-   procedure formal_part_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (1, 
Misc)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Anchored_0, 1, 1))), (False, (Simple, (Anchored_0, 1, 0)))));
-      end case;
-   end formal_part_0;
-
-   procedure formal_subprogram_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (7, Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Label => None))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(False, (Simple, (Int, Ada_Indent_Broken))),
-         (False, (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple,
-         (Int, Ada_Indent_Broken)))));
-      end case;
-   end formal_subprogram_declaration_0;
-
-   procedure formal_subprogram_declaration_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (6, Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Label => None))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(False, (Simple, (Int, Ada_Indent_Broken))),
-         (False, (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken)))));
-      end case;
-   end formal_subprogram_declaration_1;
-
-   procedure formal_subprogram_declaration_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (6, Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(False, (Simple, (Int,
-         Ada_Indent_Broken)))));
-      end case;
-   end formal_subprogram_declaration_2;
-
-   procedure formal_subprogram_declaration_3
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (4, Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Label => None))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(False, (Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   end formal_subprogram_declaration_3;
-
-   procedure formal_type_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (7, Statement_End)));
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (2, 3, 
2)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   end formal_type_declaration_0;
-
-   procedure formal_type_declaration_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (7, Statement_End)));
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (2, 3, 
2)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   end formal_type_declaration_1;
-
-   procedure formal_type_declaration_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (5, Statement_End)));
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (2, 3, 
2)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   end formal_type_declaration_2;
-
-   procedure formal_derived_type_definition_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (3, 1, 
2)));
-      when Indent =>
-         null;
-      end case;
-   end formal_derived_type_definition_0;
-
-   procedure formal_derived_type_definition_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (3, 1, 
2)));
-      when Indent =>
-         null;
-      end case;
-   end formal_derived_type_definition_1;
-
-   procedure formal_package_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (9, Statement_End)));
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, ((3, 1, 1), (6, 
1, 1)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Hanging_3, (Int, 
Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))),
-         (False, (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Hanging_3,
-         (Int, Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))), (False, 
(Simple, (Int, Ada_Indent_Broken))), (False,
-         (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken)))));
-      end case;
-   end formal_package_declaration_0;
-
-   procedure full_type_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (7, Statement_End)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 2);
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (2, 3, 
2)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (True, (Simple, (Int,
-         Ada_Indent_Broken)), (Simple, (Language, Ada_Indent_Record_1'Access, 
69 & 5 & Ada_Indent_Broken))), (False,
-         (Hanging_3, (Int, Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))), 
(False, (Simple, (Label => None))),
-         (False, (Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   end full_type_declaration_0;
-
-   procedure function_specification_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (1, 
Statement_Start)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 2);
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (2, 1, 
1)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Hanging_3,
-         (Int, Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))), (False, 
(Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   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;
-     Recover_Active : in     Boolean)
-    return WisiToken.Semantic_Checks.Check_Status
-   is
-      pragma Unreferenced (Lexer, Recover_Active);
-   begin
-      return Propagate_Name (Nonterm, Tokens, 2);
-   end function_specification_0_check;
-
-   procedure generic_formal_part_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (1, 
Statement_Start)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent)))));
-      end case;
-   end generic_formal_part_0;
-
-   procedure generic_formal_part_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (1, 
Statement_Start)));
-      when Face =>
-         null;
-      when Indent =>
-         null;
-      end case;
-   end generic_formal_part_1;
-
-   procedure generic_instantiation_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (7, Statement_End)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 2);
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, ((2, 1, 1), (5, 
1, 1)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Hanging_3,
-         (Int, Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))), (False, 
(Simple, (Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Hanging_3, (Int, 
Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))),
-         (False, (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken)))));
-      end case;
-   end generic_instantiation_0;
-
-   procedure generic_instantiation_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (2, Statement_Override), (8,
-         Statement_End)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 3);
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, ((3, 1, 1), (6, 
1, 1)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Label => None))), (False, (Hanging_3, (Int, Ada_Indent_Broken), 
(Int, 2 * Ada_Indent_Broken))), (False,
-         (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Hanging_3, (Int,
-         Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))), (False, (Simple, 
(Int, Ada_Indent_Broken))), (False,
-         (Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   end generic_instantiation_1;
-
-   procedure generic_instantiation_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (2, Statement_Override), (8,
-         Statement_End)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 3);
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, ((3, 1, 1), (6, 
1, 1)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Label => None))), (False, (Hanging_3, (Int, Ada_Indent_Broken), 
(Int, 2 * Ada_Indent_Broken))), (False,
-         (Simple, (Label => None))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Hanging_3, (Int,
-         Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))), (False, (Simple, 
(Int, Ada_Indent_Broken))), (False,
-         (Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   end generic_instantiation_2;
-
-   procedure generic_package_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (3, Statement_End)));
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (2, Invalid_Token_ID) & (3,
-         Invalid_Token_ID)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((True, (Simple, 
(Label => None)), (Simple, (Int,
-         Ada_Indent))), (False, (Simple, (Label => None))), (False, (Simple, 
(Int, Ada_Indent_Broken)))));
-      end case;
-   end generic_package_declaration_0;
-
-   procedure generic_renaming_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (7, Statement_End)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 3);
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, ((3, 1, 1), (5, 
1, 1)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Label => None))), (False, (Hanging_3, (Int, Ada_Indent_Broken), 
(Int, 2 * Ada_Indent_Broken))), (False,
-         (Simple, (Int, Ada_Indent_Broken))), (False, (Hanging_3, (Int, 
Ada_Indent_Broken), (Int, 2 *
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(False, (Simple, (Int,
-         Ada_Indent_Broken)))));
-      end case;
-   end generic_renaming_declaration_0;
-
-   procedure generic_renaming_declaration_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (7, Statement_End)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 3);
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, ((3, 1, 1), (5, 
1, 1)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Label => None))), (False, (Hanging_3, (Int, Ada_Indent_Broken), 
(Int, 2 * Ada_Indent_Broken))), (False,
-         (Simple, (Language, Ada_Indent_Renames_0'Access, +3))), (False, 
(Hanging_3, (Int, Ada_Indent_Broken), (Int, 2
-         * Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(False, (Simple, (Int,
-         Ada_Indent_Broken)))));
-      end case;
-   end generic_renaming_declaration_1;
-
-   procedure generic_renaming_declaration_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (7, Statement_End)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 3);
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, ((3, 1, 1), (5, 
1, 1)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Label => None))), (False, (Hanging_3, (Int, Ada_Indent_Broken), 
(Int, 2 * Ada_Indent_Broken))), (False,
-         (Simple, (Language, Ada_Indent_Renames_0'Access, +3))), (False, 
(Hanging_3, (Int, Ada_Indent_Broken), (Int, 2
-         * Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(False, (Simple, (Int,
-         Ada_Indent_Broken)))));
-      end case;
-   end generic_renaming_declaration_2;
-
-   procedure generic_subprogram_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (2, Statement_Override), (4,
-         Statement_End)));
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (2, Invalid_Token_ID) & (4,
-         Invalid_Token_ID)));
-      when Face =>
-         null;
-      when Indent =>
-         null;
-      end case;
-   end generic_subprogram_declaration_0;
-
-   procedure goto_label_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (2, 3, 
0)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Int, Ada_Indent_Label))), (False,
-         (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken)))));
-      end case;
-   end goto_label_0;
-
-   procedure handled_sequence_of_statements_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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, ((True, (Simple, 
(Label => None)), (Simple, (Label =>
-         None))), (False, (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;
-
-   procedure identifier_list_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 3);
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Label => None))), (False, (Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   end identifier_list_0;
-
-   procedure identifier_list_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 1);
-      when Face =>
-         null;
-      when Indent =>
-         null;
-      end case;
-   end identifier_list_1;
-
-   function identifier_opt_0_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, Recover_Active);
-   begin
-      return Propagate_Name (Nonterm, Tokens, 1);
-   end identifier_opt_0_check;
-
-   procedure if_expression_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, Motion), 
(3, Motion), (6, Motion)));
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (3, Invalid_Token_ID) & (5,
-         Invalid_Token_ID) & (6, Invalid_Token_ID)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (True, (Simple, (Int,
-         Ada_Indent_Broken)), (Simple, (Int, Ada_Indent_Broken))), (False, 
(Simple, (Label => None))), (False, (Simple,
-         (Int, Ada_Indent))), (False, (Simple, (Label => None))), (False, 
(Simple, (Label => None))), (False, (Simple,
-         (Int, Ada_Indent)))));
-      end case;
-   end if_expression_0;
-
-   procedure if_expression_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, Motion), 
(3, Motion), (5, Motion)));
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (3, Invalid_Token_ID) & (5,
-         Invalid_Token_ID)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (True, (Simple, (Int,
-         Ada_Indent_Broken)), (Simple, (Int, Ada_Indent_Broken))), (False, 
(Simple, (Label => None))), (False, (Simple,
-         (Int, Ada_Indent))), (False, (Simple, (Label => None))), (False, 
(Simple, (Int, Ada_Indent)))));
-      end case;
-   end if_expression_1;
-
-   procedure if_expression_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, Motion), 
(3, Motion)));
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (3, Invalid_Token_ID) & (5,
-         Invalid_Token_ID)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (True, (Simple, (Int,
-         Ada_Indent_Broken)), (Simple, (Int, Ada_Indent_Broken))), (False, 
(Simple, (Label => None))), (False, (Simple,
-         (Int, Ada_Indent))), (False, (Simple, (Label => None)))));
-      end case;
-   end if_expression_2;
-
-   procedure if_expression_3
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, Motion), 
(3, Motion)));
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (3, Invalid_Token_ID)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (True, (Simple, (Int,
-         Ada_Indent_Broken)), (Simple, (Int, Ada_Indent_Broken))), (False, 
(Simple, (Label => None))), (False, (Simple,
-         (Int, Ada_Indent)))));
-      end case;
-   end if_expression_3;
-
-   procedure if_statement_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (3, Motion), (6, Motion), (10,
-         Statement_End)));
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (3, Invalid_Token_ID) & (5,
-         Invalid_Token_ID) & (6, Invalid_Token_ID) & (10, Invalid_Token_ID)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (True, (Hanging_2,
-         (Int, Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken)), (Simple, 
(Int, Ada_Indent_Broken))), (False, (Simple,
-         (Label => None))), (True, (Simple, (Int, Ada_Indent)), (Simple, (Int, 
Ada_Indent))), (False, (Simple, (Label
-         => None))), (False, (Simple, (Label => None))), (True, (Simple, (Int, 
Ada_Indent)), (Simple, (Int,
-         Ada_Indent))), (False, (Simple, (Label => None))), (False, (Simple, 
(Int, Ada_Indent_Broken))), (False,
-         (Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   end if_statement_0;
-
-   procedure if_statement_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (3, Motion), (5, Motion), (9,
-         Statement_End)));
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (3, Invalid_Token_ID) & (5,
-         Invalid_Token_ID) & (9, Invalid_Token_ID)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (True, (Hanging_2,
-         (Int, Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken)), (Simple, 
(Int, Ada_Indent_Broken))), (False, (Simple,
-         (Label => None))), (True, (Simple, (Int, Ada_Indent)), (Simple, (Int, 
Ada_Indent))), (False, (Simple, (Label
-         => None))), (True, (Simple, (Int, Ada_Indent)), (Simple, (Int, 
Ada_Indent))), (False, (Simple, (Label =>
-         None))), (False, (Simple, (Int, Ada_Indent_Broken))), (False, 
(Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   end if_statement_1;
-
-   procedure if_statement_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (3, Motion), (8, Statement_End)));
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (3, Invalid_Token_ID) & (5,
-         Invalid_Token_ID) & (8, Invalid_Token_ID)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (True, (Hanging_2,
-         (Int, Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken)), (Simple, 
(Int, Ada_Indent_Broken))), (False, (Simple,
-         (Label => None))), (True, (Simple, (Int, Ada_Indent)), (Simple, (Int, 
Ada_Indent))), (False, (Simple, (Label
-         => None))), (False, (Simple, (Label => None))), (False, (Simple, 
(Int, Ada_Indent_Broken))), (False, (Simple,
-         (Int, Ada_Indent_Broken)))));
-      end case;
-   end if_statement_2;
-
-   procedure if_statement_3
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (3, Motion), (7, Statement_End)));
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (3, Invalid_Token_ID) & (7,
-         Invalid_Token_ID)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (True, (Hanging_2,
-         (Int, Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken)), (Simple, 
(Int, Ada_Indent_Broken))), (False, (Simple,
-         (Label => None))), (True, (Simple, (Int, Ada_Indent)), (Simple, (Int, 
Ada_Indent))), (False, (Simple, (Label
-         => None))), (False, (Simple, (Int, Ada_Indent_Broken))), (False, 
(Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   end if_statement_3;
-
-   procedure incomplete_type_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (6, Statement_End)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 2);
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (2, 3, 
2)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(False, (Simple, (Int,
-         Ada_Indent_Broken)))));
-      end case;
-   end incomplete_type_declaration_0;
-
-   procedure incomplete_type_declaration_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (3, Statement_End)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 2);
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (2, 3, 
2)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken)))));
-      end case;
-   end incomplete_type_declaration_1;
-
-   procedure index_constraint_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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, 
(Label => None))), (False, (Simple,
-         (Anchored_0, 1, 1))), (False, (Simple, (Anchored_0, 1, 0)))));
-      end case;
-   end index_constraint_0;
-
-   procedure interface_list_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (3, 1, 
2)));
-      when Indent =>
-         null;
-      end case;
-   end interface_list_0;
-
-   procedure interface_list_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (1, 1, 
2)));
-      when Indent =>
-         null;
-      end case;
-   end interface_list_1;
-
-   procedure iteration_scheme_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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, 
(Label => None))), (True, (Simple, (Int,
-         Ada_Indent_Broken)), (Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   end iteration_scheme_0;
-
-   procedure iteration_scheme_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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, 
(Label => None))), (True, (Simple, (Int,
-         Ada_Indent_Broken)), (Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   end iteration_scheme_1;
-
-   procedure iterator_specification_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Face_Remove_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => 4));
-      when Indent =>
-         null;
-      end case;
-   end iterator_specification_2;
-
-   procedure iterator_specification_5
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Face_Remove_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => 3));
-      when Indent =>
-         null;
-      end case;
-   end iterator_specification_5;
-
-   procedure loop_statement_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (2, Statement_Override), (3,
-         Motion), (8, Statement_End)));
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((2, 
Invalid_Token_ID) & (3, Invalid_Token_ID) & (8,
-         Invalid_Token_ID)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Label => None))), (False, (Simple, (Label => None))), (True, 
(Simple, (Int, Ada_Indent)), (Simple, (Int,
-         Ada_Indent))), (False, (Simple, (Label => None))), (False, (Simple, 
(Int, Ada_Indent_Broken))), (False,
-         (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken)))));
-      end case;
-   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;
-     Recover_Active : in     Boolean)
-    return WisiToken.Semantic_Checks.Check_Status
-   is
-      pragma Unreferenced (Nonterm, Recover_Active);
-   begin
-      return Match_Names (Lexer, Descriptor, Tokens, 1, 7, End_Names_Optional);
-   end loop_statement_0_check;
-
-   procedure loop_statement_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (2, Statement_Override), (4,
-         Motion), (7, Statement_End)));
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((2, 
Invalid_Token_ID) & (4, Invalid_Token_ID) & (7,
-         Invalid_Token_ID)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Label => None))), (True, (Simple, (Int, Ada_Indent)), (Simple, (Int, 
Ada_Indent))), (False, (Simple, (Label
-         => None))), (False, (Simple, (Int, Ada_Indent_Broken))), (False, 
(Simple, (Int, Ada_Indent_Broken))), (False,
-         (Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   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;
-     Recover_Active : in     Boolean)
-    return WisiToken.Semantic_Checks.Check_Status
-   is
-      pragma Unreferenced (Nonterm, Recover_Active);
-   begin
-      return Match_Names (Lexer, Descriptor, Tokens, 1, 6, End_Names_Optional);
-   end loop_statement_1_check;
-
-   procedure name_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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, 
(Label => None))), (False, (Simple,
-         (Anchored_1, 1, Ada_Indent_Broken))), (False, (Hanging_0, 
(Anchored_0, 2, 1), (Anchored_0, 2, 1 +
-         Ada_Indent_Broken))), (False, (Simple, (Anchored_0, 2, 0)))));
-      end case;
-   end name_0;
-
-   procedure name_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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, 
(Label => None))), (False, (Simple, (if
-         Ada_Indent_Hanging_Rel_Exp then (Anchored_0, 1, Ada_Indent_Broken) 
else (Anchored_1, 1,
-         Ada_Indent_Broken))))));
-      end case;
-   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;
-     Recover_Active : in     Boolean)
-    return WisiToken.Semantic_Checks.Check_Status
-   is
-      pragma Unreferenced (Lexer, Recover_Active);
-   begin
-      return Propagate_Name (Nonterm, Tokens, 1);
-   end name_2_check;
-
-   procedure name_5
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Face_Mark_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (1, 
Suffix)));
-      when Indent =>
-         null;
-      end case;
-   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;
-     Recover_Active : in     Boolean)
-    return WisiToken.Semantic_Checks.Check_Status
-   is
-      pragma Unreferenced (Lexer, 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;
-     Recover_Active : in     Boolean)
-    return WisiToken.Semantic_Checks.Check_Status
-   is
-      pragma Unreferenced (Lexer, 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;
-     Recover_Active : in     Boolean)
-    return WisiToken.Semantic_Checks.Check_Status
-   is
-      pragma Unreferenced (Lexer, Recover_Active);
-   begin
-      return Propagate_Name (Nonterm, Tokens, 1);
-   end name_opt_0_check;
-
-   procedure null_exclusion_opt_name_type_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (1, 3, 
2)));
-      when Indent =>
-         null;
-      end case;
-   end null_exclusion_opt_name_type_0;
-
-   procedure null_exclusion_opt_name_type_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (1, 1, 
2)));
-      when Indent =>
-         null;
-      end case;
-   end null_exclusion_opt_name_type_1;
-
-   procedure null_exclusion_opt_name_type_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (3, 3, 
2)));
-      when Indent =>
-         null;
-      end case;
-   end null_exclusion_opt_name_type_2;
-
-   procedure null_exclusion_opt_name_type_3
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (3, 1, 
2)));
-      when Indent =>
-         null;
-      end case;
-   end null_exclusion_opt_name_type_3;
-
-   procedure null_procedure_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (2, Statement_Override), (6,
-         Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Label => None))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(False, (Simple, (Int, Ada_Indent_Broken))),
-         (False, (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken)))));
-      end case;
-   end null_procedure_declaration_0;
-
-   procedure object_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (9, Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Hanging_3, (Int, Ada_Indent_Broken), 
(Int, 2 * Ada_Indent_Broken))), (False,
-         (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Anchored_2, 6, 
Ada_Indent_Broken))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken)))));
-      end case;
-   end object_declaration_0;
-
-   procedure object_declaration_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (9, Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Anchored_1, 6, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   end object_declaration_1;
-
-   procedure object_declaration_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (9, Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Anchored_1, 6, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   end object_declaration_2;
-
-   procedure object_declaration_3
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (7, Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Hanging_3, (Int, Ada_Indent_Broken), 
(Int, 2 * Ada_Indent_Broken))), (False,
-         (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken)))));
-      end case;
-   end object_declaration_3;
-
-   procedure object_declaration_4
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (7, Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   end object_declaration_4;
-
-   procedure object_declaration_5
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (7, Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   end object_declaration_5;
-
-   procedure object_renaming_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (8, Statement_End)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 1);
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (4, 1, 
2)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(False, (Hanging_3, (Int,
-         Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))), (False, (Simple, 
(Int, Ada_Indent_Broken))), (False,
-         (Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   end object_renaming_declaration_0;
-
-   procedure object_renaming_declaration_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (7, Statement_End)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 1);
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Hanging_3, (Int, Ada_Indent_Broken), 
(Int, 2 * Ada_Indent_Broken))), (False,
-         (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken)))));
-      end case;
-   end object_renaming_declaration_1;
-
-   procedure object_renaming_declaration_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (7, Statement_End)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 1);
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (5, 1, 
3)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Hanging_3, (Int, Ada_Indent_Broken), 
(Int, 2 * Ada_Indent_Broken))), (False,
-         (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken)))));
-      end case;
-   end object_renaming_declaration_2;
-
-   procedure overriding_indicator_opt_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (2, Statement_Override)));
-      when Face =>
-         null;
-      when Indent =>
-         null;
-      end case;
-   end overriding_indicator_opt_0;
-
-   procedure overriding_indicator_opt_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (1, 
Statement_Start)));
-      when Face =>
-         null;
-      when Indent =>
-         null;
-      end case;
-   end overriding_indicator_opt_1;
-
-   procedure package_body_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (5, Motion), (7, Motion), (11,
-         Statement_End)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 3);
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (5, Invalid_Token_ID) & (7,
-         Invalid_Token_ID) & (8, 72) & (11, Invalid_Token_ID)));
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, ((3, 1, 1), 
(10, 1, 1)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Hanging_3, (Int, 
Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))),
-         (False, (Simple, (Label => None))), (False, (Simple, (Label => 
None))), (True, (Simple, (Int, Ada_Indent)),
-         (Simple, (Int, Ada_Indent))), (False, (Simple, (Label => None))), 
(True, (Simple, (Int, Ada_Indent)), (Simple,
-         (Int, Ada_Indent))), (False, (Simple, (Label => None))), (False, 
(Hanging_3, (Int, Ada_Indent_Broken), (Int, 2
-         * Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   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;
-     Recover_Active : in     Boolean)
-    return WisiToken.Semantic_Checks.Check_Status
-   is
-      pragma Unreferenced (Nonterm, Recover_Active);
-   begin
-      return Match_Names (Lexer, Descriptor, Tokens, 3, 10, 
End_Names_Optional);
-   end package_body_0_check;
-
-   procedure package_body_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (5, Motion), (9, Statement_End)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 3);
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (5, Invalid_Token_ID) & (9,
-         Invalid_Token_ID)));
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, ((3, 1, 1), (8, 
1, 1)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Hanging_3, (Int, 
Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))),
-         (False, (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Label 
=> None))), (True, (Simple, (Int,
-         Ada_Indent)), (Simple, (Int, Ada_Indent))), (False, (Simple, (Label 
=> None))), (False, (Hanging_3, (Int,
-         Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))), (False, (Simple, 
(Int, Ada_Indent_Broken)))));
-      end case;
-   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;
-     Recover_Active : in     Boolean)
-    return WisiToken.Semantic_Checks.Check_Status
-   is
-      pragma Unreferenced (Nonterm, Recover_Active);
-   begin
-      return Match_Names (Lexer, Descriptor, Tokens, 3, 8, End_Names_Optional);
-   end package_body_1_check;
-
-   procedure package_body_stub_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (7, Statement_End)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 3);
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (3, 1, 
1)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Hanging_3, (Int, 
Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))),
-         (False, (Simple, (Label => None))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   end package_body_stub_0;
-
-   procedure package_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (2, Statement_End)));
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (2, Invalid_Token_ID)));
-      when Face =>
-         null;
-      when Indent =>
-         null;
-      end case;
-   end package_declaration_0;
-
-   procedure package_renaming_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (6, Statement_End)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 2);
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, ((2, 1, 1), (4, 
1, 1)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Hanging_3,
-         (Int, Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))), (False, 
(Simple, (Int, Ada_Indent_Broken))), (False,
-         (Hanging_3, (Int, Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))), 
(False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   end package_renaming_declaration_0;
-
-   procedure package_specification_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (4, Motion), (6, Motion)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 2);
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (4, Invalid_Token_ID) & (6,
-         Invalid_Token_ID)));
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, ((2, 1, 1), (9, 
1, 1)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Hanging_3,
-         (Int, Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))), (False, 
(Simple, (Int, Ada_Indent_Broken))), (False,
-         (Simple, (Label => None))), (True, (Simple, (Int, Ada_Indent)), 
(Simple, (Int, Ada_Indent))), (False, (Simple,
-         (Label => None))), (True, (Simple, (Int, Ada_Indent)), (Simple, (Int, 
Ada_Indent))), (False, (Simple, (Label
-         => None))), (False, (Hanging_3, (Int, Ada_Indent_Broken), (Int, 2 * 
Ada_Indent_Broken)))));
-      end case;
-   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;
-     Recover_Active : in     Boolean)
-    return WisiToken.Semantic_Checks.Check_Status
-   is
-      pragma Unreferenced (Nonterm, Recover_Active);
-   begin
-      return Match_Names (Lexer, Descriptor, Tokens, 2, 9, End_Names_Optional);
-   end package_specification_0_check;
-
-   procedure package_specification_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (4, Motion)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 2);
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (4, Invalid_Token_ID)));
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, ((2, 1, 1), (7, 
1, 1)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Hanging_3,
-         (Int, Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))), (False, 
(Simple, (Int, Ada_Indent_Broken))), (False,
-         (Simple, (Label => None))), (True, (Simple, (Int, Ada_Indent)), 
(Simple, (Int, Ada_Indent))), (False, (Simple,
-         (Label => None))), (False, (Hanging_3, (Int, Ada_Indent_Broken), 
(Int, 2 * Ada_Indent_Broken)))));
-      end case;
-   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;
-     Recover_Active : in     Boolean)
-    return WisiToken.Semantic_Checks.Check_Status
-   is
-      pragma Unreferenced (Nonterm, Recover_Active);
-   begin
-      return Match_Names (Lexer, Descriptor, Tokens, 2, 7, End_Names_Optional);
-   end package_specification_1_check;
-
-   procedure parameter_and_result_profile_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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, 
(Label => None))), (False, (Simple,
-         (Language, Ada_Indent_Return_0'Access, 1 & 0)))));
-      end case;
-   end parameter_and_result_profile_0;
-
-   procedure parameter_specification_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (6, 1, 
2)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(False, (Hanging_3, (Int,
-         Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))), (False, (Simple, 
(Int, Ada_Indent_Broken))), (False,
-         (Simple, (Anchored_1, 7, Ada_Indent_Broken)))));
-      end case;
-   end parameter_specification_0;
-
-   procedure parameter_specification_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (6, 1, 
2)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(False, (Hanging_3, (Int,
-         Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken)))));
-      end case;
-   end parameter_specification_1;
-
-   procedure parameter_specification_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(False, (Simple, (Anchored_1, 5,
-         Ada_Indent_Broken)))));
-      end case;
-   end parameter_specification_2;
-
-   procedure parameter_specification_3
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken)))));
-      end case;
-   end parameter_specification_3;
-
-   procedure paren_expression_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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, 
(Label => None))), (False, (Hanging_0,
-         (Anchored_0, 1, 1), (Anchored_0, 1, 1 + Ada_Indent_Broken))), (False, 
(Simple, (Anchored_0, 1, 0)))));
-      end case;
-   end paren_expression_0;
-
-   procedure pragma_g_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (6, Statement_End)));
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (2, 3, 
1)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Anchored_0, 3,
-         1))), (False, (Simple, (Anchored_0, 3, 0))), (False, (Simple, (Int, 
Ada_Indent_Broken)))));
-      end case;
-   end pragma_g_0;
-
-   procedure pragma_g_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (6, Statement_End)));
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (2, 3, 
1)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Anchored_0, 3,
-         1))), (False, (Simple, (Anchored_0, 3, 0))), (False, (Simple, (Int, 
Ada_Indent_Broken)))));
-      end case;
-   end pragma_g_1;
-
-   procedure pragma_g_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (3, Statement_End)));
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (2, 3, 
1)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken)))));
-      end case;
-   end pragma_g_2;
-
-   procedure primary_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (1, 3, 
0)));
-      when Indent =>
-         null;
-      end case;
-   end primary_0;
-
-   procedure primary_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 => (False, 
(Simple, (Language,
-         Ada_Indent_Aggregate'Access, Null_Args)))));
-      end case;
-   end primary_2;
-
-   procedure primary_4
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (2, 1, 
2)));
-      when Indent =>
-         null;
-      end case;
-   end primary_4;
-
-   procedure private_extension_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (12, Statement_End)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 2);
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (2, 3, 
2)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Label => None))), (False, 
(Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   end private_extension_declaration_0;
-
-   procedure private_type_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (8, Statement_End)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 2);
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (2, 3, 
2)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Label => None))),
-         (False, (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple,
-         (Label => None))), (False, (Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   end private_type_declaration_0;
-
-   procedure procedure_call_statement_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (2, Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, 
(Hanging_1, (Label => None), (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   end procedure_call_statement_0;
-
-   procedure procedure_specification_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (1, 
Statement_Start)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 2);
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (2, 1, 
1)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Hanging_3,
-         (Int, Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))), (False, 
(Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   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;
-     Recover_Active : in     Boolean)
-    return WisiToken.Semantic_Checks.Check_Status
-   is
-      pragma Unreferenced (Lexer, Recover_Active);
-   begin
-      return Propagate_Name (Nonterm, Tokens, 2);
-   end procedure_specification_0_check;
-
-   procedure protected_body_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (5, Motion), (9, Statement_End)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 3);
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (5, Invalid_Token_ID) & (9,
-         Invalid_Token_ID)));
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, ((3, 3, 2), (8, 
3, 2)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Label => None))),
-         (False, (Simple, (Label => None))), (False, (Simple, (Int, 
Ada_Indent))), (False, (Simple, (Label => None))),
-         (False, (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken)))));
-      end case;
-   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;
-     Recover_Active : in     Boolean)
-    return WisiToken.Semantic_Checks.Check_Status
-   is
-      pragma Unreferenced (Nonterm, Recover_Active);
-   begin
-      return Match_Names (Lexer, Descriptor, Tokens, 3, 8, End_Names_Optional);
-   end protected_body_0_check;
-
-   procedure protected_body_stub_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (7, Statement_End)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 3);
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (3, 3, 
2)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   end protected_body_stub_0;
-
-   procedure protected_definition_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (2, 
Motion)));
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (5, 3, 
2)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((True, (Simple, 
(Int, Ada_Indent)), (Simple, (Int,
-         Ada_Indent))), (False, (Simple, (Label => None))), (True, (Simple, 
(Int, Ada_Indent)), (Simple, (Int,
-         Ada_Indent))), (False, (Simple, (Label => None))), (False, (Simple, 
(Label => None)))));
-      end case;
-   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;
-     Recover_Active : in     Boolean)
-    return WisiToken.Semantic_Checks.Check_Status
-   is
-      pragma Unreferenced (Lexer, Recover_Active);
-   begin
-      return Propagate_Name (Nonterm, Tokens, 5);
-   end protected_definition_0_check;
-
-   procedure protected_definition_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (3, 3, 
2)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((True, (Simple, 
(Int, Ada_Indent)), (Simple, (Int,
-         Ada_Indent))), (False, (Simple, (Label => None))), (False, (Simple, 
(Label => None)))));
-      end case;
-   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;
-     Recover_Active : in     Boolean)
-    return WisiToken.Semantic_Checks.Check_Status
-   is
-      pragma Unreferenced (Lexer, Recover_Active);
-   begin
-      return Propagate_Name (Nonterm, Tokens, 3);
-   end protected_definition_1_check;
-
-   procedure protected_type_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (6, Motion), (11,
-         Statement_End)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 3);
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (6, Invalid_Token_ID) & (10, 49) &
-         (11, Invalid_Token_ID)));
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (3, 3, 
2)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Label => None))), (False, 
(Simple, (Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Label => None))), (False, 
(Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   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;
-     Recover_Active : in     Boolean)
-    return WisiToken.Semantic_Checks.Check_Status
-   is
-      pragma Unreferenced (Nonterm, Recover_Active);
-   begin
-      return Match_Names (Lexer, Descriptor, Tokens, 3, 10, 
End_Names_Optional);
-   end protected_type_declaration_0_check;
-
-   procedure protected_type_declaration_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (6, Motion), (8, Statement_End)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 3);
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (6, Invalid_Token_ID) & (7, 49) &
-         (8, Invalid_Token_ID)));
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (3, 3, 
2)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Label => None))), (True, 
(Simple, (Label => None)), (Simple, (Int,
-         Ada_Indent))), (False, (Simple, (Label => None))), (False, (Simple, 
(Int, Ada_Indent_Broken)))));
-      end case;
-   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;
-     Recover_Active : in     Boolean)
-    return WisiToken.Semantic_Checks.Check_Status
-   is
-      pragma Unreferenced (Nonterm, Recover_Active);
-   begin
-      return Match_Names (Lexer, Descriptor, Tokens, 3, 7, End_Names_Optional);
-   end protected_type_declaration_1_check;
-
-   procedure qualified_expression_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (1, 1, 
2)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Label => None))), (False, (Simple, (if Ada_Indent_Hanging_Rel_Exp 
then (Anchored_0, 1, Ada_Indent_Broken)
-         else (Anchored_1, 1, Ada_Indent_Broken))))));
-      end case;
-   end qualified_expression_0;
-
-   procedure quantified_expression_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Anchored_1, 4, 
Ada_Indent_Broken)))));
-      end case;
-   end quantified_expression_0;
-
-   procedure raise_expression_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Anchored_1, 3,
-         Ada_Indent_Broken)))));
-      end case;
-   end raise_expression_0;
-
-   procedure raise_statement_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (5, Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Hanging_3,
-         (Int, Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))), (False, 
(Simple, (Int, Ada_Indent_Broken))), (False,
-         (Simple, (Anchored_1, 3, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken)))));
-      end case;
-   end raise_statement_0;
-
-   procedure raise_statement_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (3, Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Hanging_3,
-         (Int, Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))), (False, 
(Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   end raise_statement_1;
-
-   procedure raise_statement_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (2, Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         null;
-      end case;
-   end raise_statement_2;
-
-   procedure range_g_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Anchored_0, 4, 1))), (False, 
(Simple, (Anchored_0, 4, 0)))));
-      end case;
-   end range_g_0;
-
-   procedure record_definition_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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, ((True, (Simple, 
(Language, Ada_Indent_Record_1'Access, 69
-         & 1 & 0)), (Simple, (Language, Ada_Indent_Record_1'Access, 69 & 1 & 
Ada_Indent))), (True, (Simple, (Language,
-         Ada_Indent_Record_1'Access, 69 & 1 & Ada_Indent)), (Simple, 
(Language, Ada_Indent_Record_1'Access, 69 & 1 &
-         Ada_Indent))), (False, (Simple, (Language, 
Ada_Indent_Record_1'Access, 69 & 1 & 0))), (False, (Simple, (Label
-         => None)))));
-      end case;
-   end record_definition_0;
-
-   procedure record_representation_clause_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (5, Statement_End)));
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (2, 1, 
2)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Hanging_3,
-         (Int, Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))), (False, 
(Simple, (Int, Ada_Indent_Broken))), (True,
-         (Simple, (Language, Ada_Indent_Record_1'Access, 28 & 4 & 0)), 
(Simple, (Language, Ada_Indent_Record_1'Access,
-         28 & 4 & Ada_Indent))), (False, (Simple, (Language, 
Ada_Indent_Record_0'Access, 1 & 4 & Ada_Indent))), (True,
-         (Simple, (Language, Ada_Indent_Record_1'Access, 28 & 4 & 
Ada_Indent)), (Simple, (Language,
-         Ada_Indent_Record_1'Access, 28 & 4 & Ada_Indent))), (False, (Simple, 
(Language, Ada_Indent_Record_1'Access, 28
-         & 4 & 0))), (False, (Simple, (Int, Ada_Indent_Broken))), (False, 
(Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   end record_representation_clause_0;
-
-   procedure requeue_statement_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (5, Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         null;
-      end case;
-   end requeue_statement_0;
-
-   procedure requeue_statement_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (3, Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         null;
-      end case;
-   end requeue_statement_1;
-
-   procedure result_profile_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (3, 1, 
2)));
-      when Indent =>
-         Indent_Action_1 (Parse_Data, Tree, Nonterm, Tokens, 1, ((False, 
(Simple, (Label => None))), (False, (Simple,
-         (Anchored_3, 1, Ada_Indent_Broken))), (False, (Simple, (Anchored_4, 
1, Ada_Indent_Broken)))));
-      end case;
-   end result_profile_0;
-
-   procedure result_profile_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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_1 (Parse_Data, Tree, Nonterm, Tokens, 1, ((False, 
(Simple, (Label => None))), (False, (Simple,
-         (Anchored_4, 1, Ada_Indent_Broken)))));
-      end case;
-   end result_profile_1;
-
-   procedure selected_component_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Face_Mark_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, Prefix), 
(3, Suffix)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken)))));
-      end case;
-   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;
-     Recover_Active : in     Boolean)
-    return WisiToken.Semantic_Checks.Check_Status
-   is
-      pragma Unreferenced (Lexer, Recover_Active);
-   begin
-      return Merge_Names (Nonterm, Tokens, 1, 3);
-   end selected_component_0_check;
-
-   procedure selected_component_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Face_Mark_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (1, 
Prefix)));
-      when Indent =>
-         null;
-      end case;
-   end selected_component_1;
-
-   procedure selected_component_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Face_Mark_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (1, 
Prefix)));
-      when Indent =>
-         null;
-      end case;
-   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;
-     Recover_Active : in     Boolean)
-    return WisiToken.Semantic_Checks.Check_Status
-   is
-      pragma Unreferenced (Lexer, Recover_Active);
-   begin
-      return Merge_Names (Nonterm, Tokens, 1, 3);
-   end selected_component_2_check;
-
-   procedure selected_component_3
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Face_Mark_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (1, 
Prefix)));
-      when Indent =>
-         null;
-      end case;
-   end selected_component_3;
-
-   procedure selective_accept_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (3, Motion), (7, Statement_End)));
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (2, 43) & (3, Invalid_Token_ID) &
-         (7, Invalid_Token_ID)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((True, (Simple, 
(Label => None)), (Simple, (Int,
-         Ada_Indent))), (True, (Simple, (Label => None)), (Simple, (Int, 
Ada_Indent))), (False, (Simple, (Label =>
-         None))), (True, (Simple, (Int, Ada_Indent)), (Simple, (Int, 
Ada_Indent))), (False, (Simple, (Label => None))),
-         (False, (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken)))));
-      end case;
-   end selective_accept_0;
-
-   procedure selective_accept_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (5, Statement_End)));
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (2, 43) & (5, Invalid_Token_ID)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((True, (Simple, 
(Label => None)), (Simple, (Int,
-         Ada_Indent))), (True, (Simple, (Label => None)), (Simple, (Int, 
Ada_Indent))), (False, (Simple, (Label =>
-         None))), (False, (Simple, (Int, Ada_Indent_Broken))), (False, 
(Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   end selective_accept_1;
-
-   procedure select_alternative_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (1, 
Motion)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent))),
-         (False, (Simple, (Int, Ada_Indent)))));
-      end case;
-   end select_alternative_0;
-
-   procedure select_alternative_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, Motion), 
(4, Statement_Start), (5, Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent))),
-         (False, (Simple, (Label => None)))));
-      end case;
-   end select_alternative_1;
-
-   procedure select_alternative_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (1, 
Motion)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent)))));
-      end case;
-   end select_alternative_2;
-
-   procedure select_alternative_4
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (2, Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         null;
-      end case;
-   end select_alternative_4;
-
-   procedure select_alternative_list_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (2, 
Motion)));
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 43) & (2, 
Invalid_Token_ID)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Label => None))), (False, (Simple, (Int, Ada_Indent)))));
-      end case;
-   end select_alternative_list_0;
-
-   procedure select_alternative_list_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 => (False, 
(Simple, (Int, Ada_Indent)))));
-      end case;
-   end select_alternative_list_1;
-
-   procedure simple_return_statement_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (3, Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken)))));
-      end case;
-   end simple_return_statement_0;
-
-   procedure simple_statement_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (2, Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         null;
-      end case;
-   end simple_statement_0;
-
-   procedure simple_statement_3
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (3, Statement_End)));
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (2, 3, 
0)));
-      when Indent =>
-         null;
-      end case;
-   end simple_statement_3;
-
-   procedure simple_statement_8
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (3, Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         null;
-      end case;
-   end simple_statement_8;
-
-   procedure single_protected_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (4, Motion), (7, Motion), (9,
-         Statement_End)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 2);
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (4, Invalid_Token_ID) & (7,
-         Invalid_Token_ID) & (8, 49) & (9, Invalid_Token_ID)));
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (2, 3, 
2)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Label => None))), 
(False, (Simple, (Label => None))), (False,
-         (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Label => None))), (False, 
(Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   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;
-     Recover_Active : in     Boolean)
-    return WisiToken.Semantic_Checks.Check_Status
-   is
-      pragma Unreferenced (Nonterm, Recover_Active);
-   begin
-      return Match_Names (Lexer, Descriptor, Tokens, 2, 8, End_Names_Optional);
-   end single_protected_declaration_0_check;
-
-   procedure single_protected_declaration_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (4, Motion), (6, Statement_End)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 2);
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (4, Invalid_Token_ID) & (5, 49) &
-         (6, Invalid_Token_ID)));
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (2, 3, 
2)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Label => None))), 
(True, (Simple, (Label => None)), (Simple,
-         (Int, Ada_Indent))), (False, (Simple, (Label => None))), (False, 
(Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   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;
-     Recover_Active : in     Boolean)
-    return WisiToken.Semantic_Checks.Check_Status
-   is
-      pragma Unreferenced (Nonterm, Recover_Active);
-   begin
-      return Match_Names (Lexer, Descriptor, Tokens, 2, 5, End_Names_Optional);
-   end single_protected_declaration_1_check;
-
-   procedure single_task_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (4, Motion), (11,
-         Statement_End)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 2);
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (4, Invalid_Token_ID) & (8, 49) &
-         (11, Invalid_Token_ID)));
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, ((2, 3, 2), (9, 
3, 2)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Label => None))), 
(False, (Simple, (Label => None))), (False,
-         (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Label => None))), (False, 
(Simple, (Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken)))));
-      end case;
-   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;
-     Recover_Active : in     Boolean)
-    return WisiToken.Semantic_Checks.Check_Status
-   is
-      pragma Unreferenced (Nonterm, Recover_Active);
-   begin
-      return Match_Names (Lexer, Descriptor, Tokens, 2, 10, 
End_Names_Optional);
-   end single_task_declaration_0_check;
-
-   procedure single_task_declaration_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (4, Motion), (8, Statement_End)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 2);
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (4, Invalid_Token_ID) & (5, 49) &
-         (8, Invalid_Token_ID)));
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, ((2, 3, 2), (6, 
3, 2)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Label => None))), 
(True, (Simple, (Label => None)), (Simple,
-         (Int, Ada_Indent))), (False, (Simple, (Label => None))), (False, 
(Simple, (Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken)))));
-      end case;
-   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;
-     Recover_Active : in     Boolean)
-    return WisiToken.Semantic_Checks.Check_Status
-   is
-      pragma Unreferenced (Nonterm, Recover_Active);
-   begin
-      return Match_Names (Lexer, Descriptor, Tokens, 2, 7, End_Names_Optional);
-   end single_task_declaration_1_check;
-
-   procedure single_task_declaration_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (4, Statement_End)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 2);
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (2, 3, 
2)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken)))));
-      end case;
-   end single_task_declaration_2;
-
-   procedure subprogram_body_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (2, Statement_Override), (4,
-         Motion), (6, Motion), (10, Statement_End)));
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (2, Invalid_Token_ID) & (4,
-         Invalid_Token_ID) & (6, Invalid_Token_ID) & (7, 72) & (10, 
Invalid_Token_ID)));
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (9, 1, 
1)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (True, (Simple,
-         (Label => None)), (Simple, (Int, Ada_Indent))), (False, (Simple, 
(Label => None))), (False, (Simple, (Label =>
-         None))), (True, (Simple, (Int, Ada_Indent)), (Simple, (Int, 
Ada_Indent))), (False, (Simple, (Label => None))),
-         (True, (Simple, (Int, Ada_Indent)), (Simple, (Int, Ada_Indent))), 
(False, (Simple, (Label => None))), (False,
-         (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken)))));
-      end case;
-   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;
-     Recover_Active : in     Boolean)
-    return WisiToken.Semantic_Checks.Check_Status
-   is
-      pragma Unreferenced (Nonterm, Recover_Active);
-   begin
-      return Match_Names (Lexer, Descriptor, Tokens, 2, 9, End_Names_Optional);
-   end subprogram_body_0_check;
-
-   procedure subprogram_body_stub_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (2, Statement_Override), (6,
-         Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Label => None))), (False, (Simple, (Label => None))), (False, 
(Simple, (Int, Ada_Indent_Broken))), (False,
-         (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken)))));
-      end case;
-   end subprogram_body_stub_0;
-
-   procedure subprogram_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (2, Statement_Override), (4,
-         Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         null;
-      end case;
-   end subprogram_declaration_0;
-
-   procedure subprogram_default_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (1, 1, 
1)));
-      when Indent =>
-         null;
-      end case;
-   end subprogram_default_0;
-
-   procedure subprogram_renaming_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (2, Statement_Override), (6,
-         Statement_End)));
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (4, 1, 
1)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Label => None))), (False, (Simple, (Language, 
Ada_Indent_Renames_0'Access, +2))), (False, (Hanging_3, (Int,
-         Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))), (False, (Simple, 
(Int, Ada_Indent_Broken))), (False,
-         (Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   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;
-     Recover_Active : in     Boolean)
-    return WisiToken.Semantic_Checks.Check_Status
-   is
-      pragma Unreferenced (Lexer, 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;
-     Recover_Active : in     Boolean)
-    return WisiToken.Semantic_Checks.Check_Status
-   is
-      pragma Unreferenced (Lexer, Recover_Active);
-   begin
-      return Propagate_Name (Nonterm, Tokens, 1);
-   end subprogram_specification_1_check;
-
-   procedure subtype_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (6, Statement_End)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 2);
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (2, 3, 
2)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Label => None))), (False, 
(Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   end subtype_declaration_0;
-
-   procedure subtype_indication_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (3, 1, 
2)));
-      when Indent =>
-         null;
-      end case;
-   end subtype_indication_0;
-
-   procedure subtype_indication_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (3, 1, 
2)));
-      when Indent =>
-         null;
-      end case;
-   end subtype_indication_1;
-
-   procedure subtype_indication_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (1, 1, 
2)));
-      when Indent =>
-         null;
-      end case;
-   end subtype_indication_2;
-
-   procedure subtype_indication_3
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (1, 1, 
2)));
-      when Indent =>
-         null;
-      end case;
-   end subtype_indication_3;
-
-   procedure subunit_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (5, Statement_Override)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Hanging_3,
-         (Int, Ada_Indent_Broken), (Int, 2 * Ada_Indent_Broken))), (False, 
(Simple, (Anchored_0, 2, 1))), (False,
-         (Simple, (Anchored_0, 2, 0))), (False, (Simple, (Label => None)))));
-      end case;
-   end subunit_0;
-
-   procedure task_body_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (5, Motion), (7, Motion), (11,
-         Statement_End)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 3);
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (5, Invalid_Token_ID) & (7,
-         Invalid_Token_ID) & (8, 72) & (11, Invalid_Token_ID)));
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, ((3, 3, 2), 
(10, 3, 2)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Label => None))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(False, (Simple, (Label => None))), (False,
-         (Simple, (Label => None))), (True, (Simple, (Int, Ada_Indent)), 
(Simple, (Int, Ada_Indent))), (False, (Simple,
-         (Label => None))), (True, (Simple, (Int, Ada_Indent)), (Simple, (Int, 
Ada_Indent))), (False, (Simple, (Label
-         => None))), (False, (Simple, (Int, Ada_Indent_Broken))), (False, 
(Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   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;
-     Recover_Active : in     Boolean)
-    return WisiToken.Semantic_Checks.Check_Status
-   is
-      pragma Unreferenced (Nonterm, Recover_Active);
-   begin
-      return Match_Names (Lexer, Descriptor, Tokens, 3, 10, 
End_Names_Optional);
-   end task_body_0_check;
-
-   procedure task_body_stub_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (7, Statement_End)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 3);
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (3, 3, 
2)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Label => None))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(False, (Simple, (Label => None))), (False,
-         (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken)))));
-      end case;
-   end task_body_stub_0;
-
-   procedure task_definition_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (2, 
Motion)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((True, (Simple, 
(Int, Ada_Indent)), (Simple, (Int,
-         Ada_Indent))), (False, (Simple, (Label => None))), (True, (Simple, 
(Int, Ada_Indent)), (Simple, (Int,
-         Ada_Indent)))));
-      end case;
-   end task_definition_0;
-
-   procedure task_definition_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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, Ada_Indent)), (Simple, (Int,
-         Ada_Indent)))));
-      end case;
-   end task_definition_1;
-
-   procedure task_type_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (6, Motion), (9, Motion), (13,
-         Statement_End)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 3);
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (6, Invalid_Token_ID) & (9,
-         Invalid_Token_ID) & (10, 49) & (13, Invalid_Token_ID)));
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, ((3, 3, 2), 
(12, 3, 2)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Label => None))), (False, 
(Simple, (Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Label => None))), (False, 
(Simple, (Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken)))));
-      end case;
-   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;
-     Recover_Active : in     Boolean)
-    return WisiToken.Semantic_Checks.Check_Status
-   is
-      pragma Unreferenced (Nonterm, Recover_Active);
-   begin
-      return Match_Names (Lexer, Descriptor, Tokens, 3, 12, 
End_Names_Optional);
-   end task_type_declaration_0_check;
-
-   procedure task_type_declaration_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (6, Motion), (10,
-         Statement_End)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 3);
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (6, Invalid_Token_ID) & (7, 49) &
-         (10, Invalid_Token_ID)));
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, ((3, 3, 2), (9, 
3, 2)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Label => None))), (True, 
(Simple, (Label => None)), (Simple, (Int,
-         Ada_Indent))), (False, (Simple, (Label => None))), (False, (Simple, 
(Label => None))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   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;
-     Recover_Active : in     Boolean)
-    return WisiToken.Semantic_Checks.Check_Status
-   is
-      pragma Unreferenced (Nonterm, Recover_Active);
-   begin
-      return Match_Names (Lexer, Descriptor, Tokens, 3, 9, End_Names_Optional);
-   end task_type_declaration_1_check;
-
-   procedure task_type_declaration_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (6, Statement_End)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 3);
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (3, 3, 
2)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(False, (Simple, (Int,
-         Ada_Indent_Broken)))));
-      end case;
-   end task_type_declaration_2;
-
-   procedure timed_entry_call_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (3, Motion), (6, Statement_End)));
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (3, Invalid_Token_ID) & (6,
-         Invalid_Token_ID)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (True, (Simple, (Int,
-         Ada_Indent)), (Simple, (Int, Ada_Indent))), (False, (Simple, (Label 
=> None))), (True, (Simple, (Int,
-         Ada_Indent)), (Simple, (Int, Ada_Indent))), (False, (Simple, (Label 
=> None))), (False, (Simple, (Int,
-         Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   end timed_entry_call_0;
-
-   procedure variant_part_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (7, Statement_End)));
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (4, Invalid_Token_ID) & (7,
-         Invalid_Token_ID)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Label => None))), 
(False, (Simple, (Int, Ada_Indent_When))),
-         (False, (Simple, (Label => None))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Broken)))));
-      end case;
-   end variant_part_0;
-
-   procedure variant_list_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Motion_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Invalid_Token_ID) & (2, Invalid_Token_ID)));
-      when Face =>
-         null;
-      when Indent =>
-         null;
-      end case;
-   end variant_list_0;
-
-   procedure variant_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (1, 
Motion)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Hanging_0,
-         (Label => None), (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent))), (True, (Simple, (Int,
-         Ada_Indent)), (Simple, (Int, Ada_Indent)))));
-      end case;
-   end variant_0;
-
-   procedure use_clause_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (5, Statement_End)));
-      when Face =>
-         Face_Apply_List_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (4, 
1, 2)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_Use))), (False, (Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   end use_clause_0;
-
-   procedure use_clause_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (4, Statement_End)));
-      when Face =>
-         Face_Apply_List_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (3, 
1, 2)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, Ada_Indent_Use))), 
(False, (Simple, (Int,
-         Ada_Indent_Broken)))));
-      end case;
-   end use_clause_1;
-
-   procedure use_clause_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (3, Statement_End)));
-      when Face =>
-         Face_Apply_List_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (2, 
1, 1)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Use))), (False, (Simple, (Int, 
Ada_Indent_Broken)))));
-      end case;
-   end use_clause_2;
-
-   procedure with_clause_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (5, Statement_End)));
-      when Face =>
-         Face_Apply_List_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (4, 
1, 1)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken))), (False, (Simple, (Int,
-         Ada_Indent_With))), (False, (Simple, (Int, Ada_Indent_Broken)))));
-      end case;
-   end with_clause_0;
-
-   procedure with_clause_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (4, Statement_End)));
-      when Face =>
-         Face_Apply_List_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (3, 
1, 1)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_With))), (False, (Simple, (Int,
-         Ada_Indent_Broken)))));
-      end case;
-   end with_clause_1;
-
-   procedure with_clause_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (4, Statement_End)));
-      when Face =>
-         Face_Apply_List_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (3, 
1, 1)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_With))), (False, (Simple, (Int,
-         Ada_Indent_Broken)))));
-      end case;
-   end with_clause_2;
-
-   procedure with_clause_3
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (3, Statement_End)));
-      when Face =>
-         Face_Apply_List_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (2, 
1, 1)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
-         (Int, Ada_Indent_With))), (False, (Simple, (Int, 
Ada_Indent_Broken)))));
-      end case;
-   end with_clause_3;
-
-end Ada_Process_Actions;
diff --git a/packages/ada-mode/ada_process_actions.ads 
b/packages/ada-mode/ada_process_actions.ads
deleted file mode 100644
index 3266c0b..0000000
--- a/packages/ada-mode/ada_process_actions.ads
+++ /dev/null
@@ -1,2108 +0,0 @@
---  generated parser support file.
---  command line: wisitoken-bnf-generate.exe  --generate LR1 Ada_Emacs re2c 
PROCESS text_rep ada.wy
---
-
---  Copyright (C) 2013 - 2020 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
---  published by the Free Software Foundation; either version 3, or (at
---  your option) any later version.
---
---  This software 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/>.
-
-with WisiToken.Syntax_Trees;
-with WisiToken.Lexer;
-with WisiToken.Semantic_Checks;
-package Ada_Process_Actions is
-
-   Descriptor : aliased WisiToken.Descriptor :=
-     (First_Terminal    => 3,
-      Last_Terminal     => 110,
-      First_Nonterminal => 111,
-      Last_Nonterminal  => 335,
-      EOI_ID            => 110,
-      Accept_ID         => 111,
-      Case_Insensitive  => True,
-      New_Line_ID       => 1,
-      String_1_ID       => 109,
-      String_2_ID       => 108,
-      Image             =>
-        (new String'("WHITESPACE"),
-         new String'("NEW_LINE"),
-         new String'("COMMENT"),
-         new String'("ABS"),
-         new String'("ACCEPT"),
-         new String'("ABORT"),
-         new String'("ABSTRACT"),
-         new String'("ACCESS"),
-         new String'("ALIASED"),
-         new String'("ALL"),
-         new String'("AND"),
-         new String'("ARRAY"),
-         new String'("AT"),
-         new String'("BEGIN"),
-         new String'("BODY"),
-         new String'("CASE"),
-         new String'("CONSTANT"),
-         new String'("DECLARE"),
-         new String'("DELAY"),
-         new String'("DELTA"),
-         new String'("DIGITS"),
-         new String'("DO"),
-         new String'("ELSE"),
-         new String'("ELSIF"),
-         new String'("END"),
-         new String'("ENTRY"),
-         new String'("EXCEPTION"),
-         new String'("EXIT"),
-         new String'("FOR"),
-         new String'("FUNCTION"),
-         new String'("GENERIC"),
-         new String'("GOTO"),
-         new String'("IF"),
-         new String'("IN"),
-         new String'("INTERFACE"),
-         new String'("IS"),
-         new String'("LIMITED"),
-         new String'("LOOP"),
-         new String'("MOD"),
-         new String'("NEW"),
-         new String'("NOT"),
-         new String'("NULL"),
-         new String'("OF"),
-         new String'("OR"),
-         new String'("OTHERS"),
-         new String'("OUT"),
-         new String'("OVERRIDING"),
-         new String'("PACKAGE"),
-         new String'("PRAGMA"),
-         new String'("PRIVATE"),
-         new String'("PROCEDURE"),
-         new String'("PROTECTED"),
-         new String'("RAISE"),
-         new String'("RANGE"),
-         new String'("RECORD"),
-         new String'("REM"),
-         new String'("RENAMES"),
-         new String'("REQUEUE"),
-         new String'("RETURN"),
-         new String'("REVERSE"),
-         new String'("SEPARATE"),
-         new String'("SELECT"),
-         new String'("SOME"),
-         new String'("SUBTYPE"),
-         new String'("SYNCHRONIZED"),
-         new String'("TAGGED"),
-         new String'("TASK"),
-         new String'("TERMINATE"),
-         new String'("THEN"),
-         new String'("TYPE"),
-         new String'("UNTIL"),
-         new String'("USE"),
-         new String'("WHEN"),
-         new String'("WHILE"),
-         new String'("WITH"),
-         new String'("XOR"),
-         new String'("LEFT_PAREN"),
-         new String'("LEFT_SQUARE_BRACKET"),
-         new String'("RIGHT_PAREN"),
-         new String'("RIGHT_SQUARE_BRACKET"),
-         new String'("AMPERSAND"),
-         new String'("AT_SIGN"),
-         new String'("BAR"),
-         new String'("BOX"),
-         new String'("COLON"),
-         new String'("COLON_EQUAL"),
-         new String'("COMMA"),
-         new String'("DOT"),
-         new String'("DOT_DOT"),
-         new String'("EQUAL"),
-         new String'("EQUAL_GREATER"),
-         new String'("GREATER"),
-         new String'("GREATER_EQUAL"),
-         new String'("GREATER_GREATER"),
-         new String'("LESS"),
-         new String'("LESS_EQUAL"),
-         new String'("LESS_LESS"),
-         new String'("MINUS"),
-         new String'("PLUS"),
-         new String'("SEMICOLON"),
-         new String'("SLASH"),
-         new String'("SLASH_EQUAL"),
-         new String'("STAR"),
-         new String'("STAR_STAR"),
-         new String'("TICK_1"),
-         new String'("TICK_2"),
-         new String'("NUMERIC_LITERAL"),
-         new String'("IDENTIFIER"),
-         new String'("STRING_LITERAL"),
-         new String'("CHARACTER_LITERAL"),
-         new String'("Wisi_EOI"),
-         new String'("wisitoken_accept"),
-         new String'("abstract_limited_synchronized_opt"),
-         new String'("abstract_limited_opt"),
-         new String'("abstract_tagged_limited_opt"),
-         new String'("abstract_subprogram_declaration"),
-         new String'("accept_statement"),
-         new String'("access_definition"),
-         new String'("actual_parameter_part"),
-         new String'("actual_parameter_part_opt"),
-         new String'("aggregate"),
-         new String'("aliased_opt"),
-         new String'("and_interface_list_opt"),
-         new String'("array_type_definition"),
-         new String'("aspect_clause"),
-         new String'("aspect_specification_opt"),
-         new String'("assignment_statement"),
-         new String'("association_opt"),
-         new String'("association_list"),
-         new String'("asynchronous_select"),
-         new String'("at_clause"),
-         new String'("attribute_reference"),
-         new String'("attribute_designator"),
-         new String'("binary_adding_operator"),
-         new String'("block_label"),
-         new String'("block_label_opt"),
-         new String'("block_statement"),
-         new String'("body_g"),
-         new String'("body_stub"),
-         new String'("case_expression"),
-         new String'("case_expression_alternative"),
-         new String'("case_expression_alternative_list"),
-         new String'("case_statement"),
-         new String'("case_statement_alternative"),
-         new String'("case_statement_alternative_list"),
-         new String'("compilation_unit"),
-         new String'("compilation"),
-         new String'("component_clause"),
-         new String'("component_clause_list"),
-         new String'("component_declaration"),
-         new String'("component_definition"),
-         new String'("component_item"),
-         new String'("component_list"),
-         new String'("component_list_opt"),
-         new String'("compound_statement"),
-         new String'("conditional_entry_call"),
-         new String'("conditional_quantified_expression"),
-         new String'("constant_opt"),
-         new String'("constraint"),
-         new String'("constraint_opt"),
-         new String'("declaration"),
-         new String'("declarations"),
-         new String'("declarative_part_opt"),
-         new String'("delay_alternative"),
-         new String'("delay_statement"),
-         new String'("derived_type_definition"),
-         new String'("direct_name"),
-         new String'("direct_name_opt"),
-         new String'("discrete_choice"),
-         new String'("discrete_choice_list"),
-         new String'("discrete_subtype_definition"),
-         new String'("discrete_subtype_definition_list"),
-         new String'("discriminant_part_opt"),
-         new String'("discriminant_specification_opt"),
-         new String'("discriminant_specification_list"),
-         new String'("elsif_expression_item"),
-         new String'("elsif_expression_list"),
-         new String'("elsif_statement_item"),
-         new String'("elsif_statement_list"),
-         new String'("entry_body"),
-         new String'("entry_body_formal_part"),
-         new String'("entry_call_alternative"),
-         new String'("entry_declaration"),
-         new String'("enumeration_literal"),
-         new String'("enumeration_literal_list"),
-         new String'("enumeration_representation_clause"),
-         new String'("enumeration_type_definition"),
-         new String'("exception_choice"),
-         new String'("exception_choice_list"),
-         new String'("exception_declaration"),
-         new String'("exception_handler"),
-         new String'("exception_handler_list"),
-         new String'("exception_handler_list_opt"),
-         new String'("exit_statement"),
-         new String'("expression"),
-         new String'("expression_opt"),
-         new String'("expression_function_declaration"),
-         new String'("extended_return_object_declaration"),
-         new String'("extended_return_object_declaration_opt"),
-         new String'("extended_return_statement"),
-         new String'("factor"),
-         new String'("formal_object_declaration"),
-         new String'("formal_part"),
-         new String'("formal_subprogram_declaration"),
-         new String'("formal_type_declaration"),
-         new String'("formal_type_definition"),
-         new String'("formal_derived_type_definition"),
-         new String'("formal_package_declaration"),
-         new String'("formal_package_actual_part"),
-         new String'("full_type_declaration"),
-         new String'("function_specification"),
-         new String'("general_access_modifier_opt"),
-         new String'("generic_declaration"),
-         new String'("generic_formal_part"),
-         new String'("generic_formal_parameter_declarations"),
-         new String'("generic_formal_parameter_declaration"),
-         new String'("generic_instantiation"),
-         new String'("generic_package_declaration"),
-         new String'("generic_renaming_declaration"),
-         new String'("generic_subprogram_declaration"),
-         new String'("goto_label"),
-         new String'("handled_sequence_of_statements"),
-         new String'("identifier_list"),
-         new String'("identifier_opt"),
-         new String'("if_expression"),
-         new String'("if_statement"),
-         new String'("incomplete_type_declaration"),
-         new String'("index_constraint"),
-         new String'("index_subtype_definition"),
-         new String'("index_subtype_definition_list"),
-         new String'("interface_list"),
-         new String'("interface_type_definition"),
-         new String'("iteration_scheme"),
-         new String'("iterator_specification"),
-         new String'("iterator_specification_opt"),
-         new String'("loop_statement"),
-         new String'("membership_choice_list"),
-         new String'("membership_choice"),
-         new String'("mod_clause_opt"),
-         new String'("mode_opt"),
-         new String'("multiplying_operator"),
-         new String'("name_list"),
-         new String'("name"),
-         new String'("name_opt"),
-         new String'("null_exclusion_opt"),
-         new String'("null_exclusion_opt_name_type"),
-         new String'("null_procedure_declaration"),
-         new String'("object_declaration"),
-         new String'("object_renaming_declaration"),
-         new String'("overriding_indicator_opt"),
-         new String'("package_body"),
-         new String'("package_body_stub"),
-         new String'("package_declaration"),
-         new String'("package_renaming_declaration"),
-         new String'("package_specification"),
-         new String'("parameter_and_result_profile"),
-         new String'("parameter_profile_opt"),
-         new String'("parameter_specification"),
-         new String'("parameter_specification_list"),
-         new String'("paren_expression"),
-         new String'("pragma_g"),
-         new String'("primary"),
-         new String'("private_extension_declaration"),
-         new String'("private_type_declaration"),
-         new String'("procedure_call_statement"),
-         new String'("procedure_specification"),
-         new String'("proper_body"),
-         new String'("protected_body"),
-         new String'("protected_body_stub"),
-         new String'("protected_definition"),
-         new String'("protected_operation_item"),
-         new String'("protected_operation_item_list"),
-         new String'("protected_operation_item_list_opt"),
-         new String'("protected_opt"),
-         new String'("protected_type_declaration"),
-         new String'("qualified_expression"),
-         new String'("quantified_expression"),
-         new String'("quantifier"),
-         new String'("raise_expression"),
-         new String'("raise_statement"),
-         new String'("range_g"),
-         new String'("range_list"),
-         new String'("real_range_specification_opt"),
-         new String'("record_definition"),
-         new String'("record_representation_clause"),
-         new String'("relation_and_list"),
-         new String'("relation_and_then_list"),
-         new String'("relation_or_list"),
-         new String'("relation_or_else_list"),
-         new String'("relation_xor_list"),
-         new String'("relation"),
-         new String'("relational_operator"),
-         new String'("renaming_declaration"),
-         new String'("requeue_statement"),
-         new String'("result_profile"),
-         new String'("return_subtype_indication"),
-         new String'("selected_component"),
-         new String'("selective_accept"),
-         new String'("select_alternative"),
-         new String'("select_alternative_list"),
-         new String'("select_alternative_list_opt"),
-         new String'("select_statement"),
-         new String'("sequence_of_statements"),
-         new String'("sequence_of_statements_opt"),
-         new String'("simple_expression"),
-         new String'("simple_return_statement"),
-         new String'("simple_statement"),
-         new String'("single_protected_declaration"),
-         new String'("single_task_declaration"),
-         new String'("statement"),
-         new String'("subprogram_body"),
-         new String'("subprogram_body_stub"),
-         new String'("subprogram_declaration"),
-         new String'("subprogram_default"),
-         new String'("subprogram_renaming_declaration"),
-         new String'("subprogram_specification"),
-         new String'("subtype_declaration"),
-         new String'("subtype_indication"),
-         new String'("subunit"),
-         new String'("task_body"),
-         new String'("task_body_stub"),
-         new String'("task_definition"),
-         new String'("task_type_declaration"),
-         new String'("term"),
-         new String'("term_list"),
-         new String'("tick"),
-         new String'("timed_entry_call"),
-         new String'("triggering_alternative"),
-         new String'("type_declaration"),
-         new String'("type_definition"),
-         new String'("variant_part"),
-         new String'("variant_list"),
-         new String'("variant"),
-         new String'("unary_adding_operator"),
-         new String'("use_clause"),
-         new String'("with_clause")),
-      Terminal_Image_Width => 20,
-      Image_Width          => 38,
-      Last_Lookahead       => 110);
-
-   type Token_Enum_ID is
-     (WHITESPACE_ID,
-      NEW_LINE_ID,
-      COMMENT_ID,
-      ABS_ID,
-      ACCEPT_ID,
-      ABORT_ID,
-      ABSTRACT_ID,
-      ACCESS_ID,
-      ALIASED_ID,
-      ALL_ID,
-      AND_ID,
-      ARRAY_ID,
-      AT_ID,
-      BEGIN_ID,
-      BODY_ID,
-      CASE_ID,
-      CONSTANT_ID,
-      DECLARE_ID,
-      DELAY_ID,
-      DELTA_ID,
-      DIGITS_ID,
-      DO_ID,
-      ELSE_ID,
-      ELSIF_ID,
-      END_ID,
-      ENTRY_ID,
-      EXCEPTION_ID,
-      EXIT_ID,
-      FOR_ID,
-      FUNCTION_ID,
-      GENERIC_ID,
-      GOTO_ID,
-      IF_ID,
-      IN_ID,
-      INTERFACE_ID,
-      IS_ID,
-      LIMITED_ID,
-      LOOP_ID,
-      MOD_ID,
-      NEW_ID,
-      NOT_ID,
-      NULL_ID,
-      OF_ID,
-      OR_ID,
-      OTHERS_ID,
-      OUT_ID,
-      OVERRIDING_ID,
-      PACKAGE_ID,
-      PRAGMA_ID,
-      PRIVATE_ID,
-      PROCEDURE_ID,
-      PROTECTED_ID,
-      RAISE_ID,
-      RANGE_ID,
-      RECORD_ID,
-      REM_ID,
-      RENAMES_ID,
-      REQUEUE_ID,
-      RETURN_ID,
-      REVERSE_ID,
-      SEPARATE_ID,
-      SELECT_ID,
-      SOME_ID,
-      SUBTYPE_ID,
-      SYNCHRONIZED_ID,
-      TAGGED_ID,
-      TASK_ID,
-      TERMINATE_ID,
-      THEN_ID,
-      TYPE_ID,
-      UNTIL_ID,
-      USE_ID,
-      WHEN_ID,
-      WHILE_ID,
-      WITH_ID,
-      XOR_ID,
-      LEFT_PAREN_ID,
-      LEFT_SQUARE_BRACKET_ID,
-      RIGHT_PAREN_ID,
-      RIGHT_SQUARE_BRACKET_ID,
-      AMPERSAND_ID,
-      AT_SIGN_ID,
-      BAR_ID,
-      BOX_ID,
-      COLON_ID,
-      COLON_EQUAL_ID,
-      COMMA_ID,
-      DOT_ID,
-      DOT_DOT_ID,
-      EQUAL_ID,
-      EQUAL_GREATER_ID,
-      GREATER_ID,
-      GREATER_EQUAL_ID,
-      GREATER_GREATER_ID,
-      LESS_ID,
-      LESS_EQUAL_ID,
-      LESS_LESS_ID,
-      MINUS_ID,
-      PLUS_ID,
-      SEMICOLON_ID,
-      SLASH_ID,
-      SLASH_EQUAL_ID,
-      STAR_ID,
-      STAR_STAR_ID,
-      TICK_1_ID,
-      TICK_2_ID,
-      NUMERIC_LITERAL_ID,
-      IDENTIFIER_ID,
-      STRING_LITERAL_ID,
-      CHARACTER_LITERAL_ID,
-      Wisi_EOI_ID,
-      wisitoken_accept_ID,
-      abstract_limited_synchronized_opt_ID,
-      abstract_limited_opt_ID,
-      abstract_tagged_limited_opt_ID,
-      abstract_subprogram_declaration_ID,
-      accept_statement_ID,
-      access_definition_ID,
-      actual_parameter_part_ID,
-      actual_parameter_part_opt_ID,
-      aggregate_ID,
-      aliased_opt_ID,
-      and_interface_list_opt_ID,
-      array_type_definition_ID,
-      aspect_clause_ID,
-      aspect_specification_opt_ID,
-      assignment_statement_ID,
-      association_opt_ID,
-      association_list_ID,
-      asynchronous_select_ID,
-      at_clause_ID,
-      attribute_reference_ID,
-      attribute_designator_ID,
-      binary_adding_operator_ID,
-      block_label_ID,
-      block_label_opt_ID,
-      block_statement_ID,
-      body_g_ID,
-      body_stub_ID,
-      case_expression_ID,
-      case_expression_alternative_ID,
-      case_expression_alternative_list_ID,
-      case_statement_ID,
-      case_statement_alternative_ID,
-      case_statement_alternative_list_ID,
-      compilation_unit_ID,
-      compilation_ID,
-      component_clause_ID,
-      component_clause_list_ID,
-      component_declaration_ID,
-      component_definition_ID,
-      component_item_ID,
-      component_list_ID,
-      component_list_opt_ID,
-      compound_statement_ID,
-      conditional_entry_call_ID,
-      conditional_quantified_expression_ID,
-      constant_opt_ID,
-      constraint_ID,
-      constraint_opt_ID,
-      declaration_ID,
-      declarations_ID,
-      declarative_part_opt_ID,
-      delay_alternative_ID,
-      delay_statement_ID,
-      derived_type_definition_ID,
-      direct_name_ID,
-      direct_name_opt_ID,
-      discrete_choice_ID,
-      discrete_choice_list_ID,
-      discrete_subtype_definition_ID,
-      discrete_subtype_definition_list_ID,
-      discriminant_part_opt_ID,
-      discriminant_specification_opt_ID,
-      discriminant_specification_list_ID,
-      elsif_expression_item_ID,
-      elsif_expression_list_ID,
-      elsif_statement_item_ID,
-      elsif_statement_list_ID,
-      entry_body_ID,
-      entry_body_formal_part_ID,
-      entry_call_alternative_ID,
-      entry_declaration_ID,
-      enumeration_literal_ID,
-      enumeration_literal_list_ID,
-      enumeration_representation_clause_ID,
-      enumeration_type_definition_ID,
-      exception_choice_ID,
-      exception_choice_list_ID,
-      exception_declaration_ID,
-      exception_handler_ID,
-      exception_handler_list_ID,
-      exception_handler_list_opt_ID,
-      exit_statement_ID,
-      expression_ID,
-      expression_opt_ID,
-      expression_function_declaration_ID,
-      extended_return_object_declaration_ID,
-      extended_return_object_declaration_opt_ID,
-      extended_return_statement_ID,
-      factor_ID,
-      formal_object_declaration_ID,
-      formal_part_ID,
-      formal_subprogram_declaration_ID,
-      formal_type_declaration_ID,
-      formal_type_definition_ID,
-      formal_derived_type_definition_ID,
-      formal_package_declaration_ID,
-      formal_package_actual_part_ID,
-      full_type_declaration_ID,
-      function_specification_ID,
-      general_access_modifier_opt_ID,
-      generic_declaration_ID,
-      generic_formal_part_ID,
-      generic_formal_parameter_declarations_ID,
-      generic_formal_parameter_declaration_ID,
-      generic_instantiation_ID,
-      generic_package_declaration_ID,
-      generic_renaming_declaration_ID,
-      generic_subprogram_declaration_ID,
-      goto_label_ID,
-      handled_sequence_of_statements_ID,
-      identifier_list_ID,
-      identifier_opt_ID,
-      if_expression_ID,
-      if_statement_ID,
-      incomplete_type_declaration_ID,
-      index_constraint_ID,
-      index_subtype_definition_ID,
-      index_subtype_definition_list_ID,
-      interface_list_ID,
-      interface_type_definition_ID,
-      iteration_scheme_ID,
-      iterator_specification_ID,
-      iterator_specification_opt_ID,
-      loop_statement_ID,
-      membership_choice_list_ID,
-      membership_choice_ID,
-      mod_clause_opt_ID,
-      mode_opt_ID,
-      multiplying_operator_ID,
-      name_list_ID,
-      name_ID,
-      name_opt_ID,
-      null_exclusion_opt_ID,
-      null_exclusion_opt_name_type_ID,
-      null_procedure_declaration_ID,
-      object_declaration_ID,
-      object_renaming_declaration_ID,
-      overriding_indicator_opt_ID,
-      package_body_ID,
-      package_body_stub_ID,
-      package_declaration_ID,
-      package_renaming_declaration_ID,
-      package_specification_ID,
-      parameter_and_result_profile_ID,
-      parameter_profile_opt_ID,
-      parameter_specification_ID,
-      parameter_specification_list_ID,
-      paren_expression_ID,
-      pragma_g_ID,
-      primary_ID,
-      private_extension_declaration_ID,
-      private_type_declaration_ID,
-      procedure_call_statement_ID,
-      procedure_specification_ID,
-      proper_body_ID,
-      protected_body_ID,
-      protected_body_stub_ID,
-      protected_definition_ID,
-      protected_operation_item_ID,
-      protected_operation_item_list_ID,
-      protected_operation_item_list_opt_ID,
-      protected_opt_ID,
-      protected_type_declaration_ID,
-      qualified_expression_ID,
-      quantified_expression_ID,
-      quantifier_ID,
-      raise_expression_ID,
-      raise_statement_ID,
-      range_g_ID,
-      range_list_ID,
-      real_range_specification_opt_ID,
-      record_definition_ID,
-      record_representation_clause_ID,
-      relation_and_list_ID,
-      relation_and_then_list_ID,
-      relation_or_list_ID,
-      relation_or_else_list_ID,
-      relation_xor_list_ID,
-      relation_ID,
-      relational_operator_ID,
-      renaming_declaration_ID,
-      requeue_statement_ID,
-      result_profile_ID,
-      return_subtype_indication_ID,
-      selected_component_ID,
-      selective_accept_ID,
-      select_alternative_ID,
-      select_alternative_list_ID,
-      select_alternative_list_opt_ID,
-      select_statement_ID,
-      sequence_of_statements_ID,
-      sequence_of_statements_opt_ID,
-      simple_expression_ID,
-      simple_return_statement_ID,
-      simple_statement_ID,
-      single_protected_declaration_ID,
-      single_task_declaration_ID,
-      statement_ID,
-      subprogram_body_ID,
-      subprogram_body_stub_ID,
-      subprogram_declaration_ID,
-      subprogram_default_ID,
-      subprogram_renaming_declaration_ID,
-      subprogram_specification_ID,
-      subtype_declaration_ID,
-      subtype_indication_ID,
-      subunit_ID,
-      task_body_ID,
-      task_body_stub_ID,
-      task_definition_ID,
-      task_type_declaration_ID,
-      term_ID,
-      term_list_ID,
-      tick_ID,
-      timed_entry_call_ID,
-      triggering_alternative_ID,
-      type_declaration_ID,
-      type_definition_ID,
-      variant_part_ID,
-      variant_list_ID,
-      variant_ID,
-      unary_adding_operator_ID,
-      use_clause_ID,
-      with_clause_ID);
-
-   type Token_Enum_ID_Array is array (Positive range <>) of Token_Enum_ID;
-   use all type WisiToken.Token_ID;
-   function "+" (Item : in Token_Enum_ID) return WisiToken.Token_ID
-     is (WisiToken.Token_ID'First + Token_Enum_ID'Pos (Item));
-   function To_Token_Enum (Item : in WisiToken.Token_ID) return Token_Enum_ID
-     is (Token_Enum_ID'Val (Item - WisiToken.Token_ID'First));
-   function "-" (Item : in WisiToken.Token_ID) return Token_Enum_ID renames 
To_Token_Enum;
-
-   procedure abstract_subprogram_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure accept_statement_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure accept_statement_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure access_definition_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure access_definition_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure access_definition_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure actual_parameter_part_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure actual_parameter_part_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure aggregate_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure aggregate_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure aggregate_3
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure aggregate_4
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure aggregate_5
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure aggregate_6
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure array_type_definition_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure array_type_definition_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure aspect_clause_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure aspect_specification_opt_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure assignment_statement_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure association_opt_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure association_opt_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure association_opt_3
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure association_opt_4
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure association_opt_6
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure association_opt_7
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure asynchronous_select_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure at_clause_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure block_label_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure block_statement_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure block_statement_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure case_expression_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure case_expression_alternative_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure case_expression_alternative_list_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure case_statement_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure case_statement_alternative_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure case_statement_alternative_list_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure compilation_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure compilation_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure component_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure component_declaration_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure component_list_4
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure conditional_entry_call_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure declaration_9
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure delay_statement_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure delay_statement_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure derived_type_definition_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure derived_type_definition_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure discriminant_part_opt_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure elsif_expression_item_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure elsif_expression_list_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure elsif_statement_item_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure elsif_statement_list_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure entry_body_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure entry_body_formal_part_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure entry_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure entry_declaration_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure enumeration_representation_clause_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure enumeration_type_definition_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure exception_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure exception_handler_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure exception_handler_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure exception_handler_list_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure exit_statement_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure exit_statement_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure expression_function_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure extended_return_object_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure extended_return_object_declaration_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure extended_return_statement_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure extended_return_statement_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure formal_object_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure formal_object_declaration_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure formal_object_declaration_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure formal_object_declaration_3
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure formal_part_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure formal_subprogram_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure formal_subprogram_declaration_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure formal_subprogram_declaration_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure formal_subprogram_declaration_3
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure formal_type_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure formal_type_declaration_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure formal_type_declaration_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure formal_derived_type_definition_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure formal_derived_type_definition_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure formal_package_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure full_type_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure function_specification_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure generic_formal_part_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure generic_formal_part_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure generic_instantiation_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure generic_instantiation_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure generic_instantiation_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure generic_package_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure generic_renaming_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure generic_renaming_declaration_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure generic_renaming_declaration_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure generic_subprogram_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure goto_label_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure handled_sequence_of_statements_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure identifier_list_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure identifier_list_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure if_expression_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure if_expression_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure if_expression_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure if_expression_3
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure if_statement_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure if_statement_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure if_statement_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure if_statement_3
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure incomplete_type_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure incomplete_type_declaration_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure index_constraint_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure interface_list_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure interface_list_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure iteration_scheme_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure iteration_scheme_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure iterator_specification_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure iterator_specification_5
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure loop_statement_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure loop_statement_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure name_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure name_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure name_5
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure null_exclusion_opt_name_type_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure null_exclusion_opt_name_type_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure null_exclusion_opt_name_type_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure null_exclusion_opt_name_type_3
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure null_procedure_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure object_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure object_declaration_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure object_declaration_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure object_declaration_3
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure object_declaration_4
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure object_declaration_5
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure object_renaming_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure object_renaming_declaration_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure object_renaming_declaration_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure overriding_indicator_opt_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure overriding_indicator_opt_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure package_body_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure package_body_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure package_body_stub_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure package_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure package_renaming_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure package_specification_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure package_specification_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure parameter_and_result_profile_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure parameter_specification_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure parameter_specification_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure parameter_specification_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure parameter_specification_3
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure paren_expression_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure pragma_g_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure pragma_g_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure pragma_g_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure primary_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure primary_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure primary_4
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure private_extension_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure private_type_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure procedure_call_statement_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure procedure_specification_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure protected_body_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure protected_body_stub_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure protected_definition_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure protected_definition_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure protected_type_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure protected_type_declaration_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure qualified_expression_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure quantified_expression_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure raise_expression_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure raise_statement_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure raise_statement_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure raise_statement_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure range_g_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure record_definition_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure record_representation_clause_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure requeue_statement_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure requeue_statement_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure result_profile_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure result_profile_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure selected_component_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure selected_component_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure selected_component_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure selected_component_3
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure selective_accept_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure selective_accept_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure select_alternative_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure select_alternative_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure select_alternative_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure select_alternative_4
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure select_alternative_list_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure select_alternative_list_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure simple_return_statement_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure simple_statement_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure simple_statement_3
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure simple_statement_8
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure single_protected_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure single_protected_declaration_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure single_task_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure single_task_declaration_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure single_task_declaration_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure subprogram_body_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure subprogram_body_stub_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure subprogram_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure subprogram_default_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure subprogram_renaming_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure subtype_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure subtype_indication_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure subtype_indication_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure subtype_indication_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure subtype_indication_3
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure subunit_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure task_body_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure task_body_stub_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure task_definition_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure task_definition_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure task_type_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure task_type_declaration_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure task_type_declaration_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure timed_entry_call_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure variant_part_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure variant_list_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure variant_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure use_clause_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure use_clause_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure use_clause_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure with_clause_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure with_clause_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure with_clause_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure with_clause_3
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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;
-     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;
-     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;
-     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;
-     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;
-     Recover_Active : in     Boolean)
-    return WisiToken.Semantic_Checks.Check_Status;
-   function compilation_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;
-     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;
-     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;
-     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;
-     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;
-     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;
-     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;
-     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;
-     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;
-     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;
-     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;
-     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;
-     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;
-     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;
-     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;
-     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;
-     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;
-     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;
-     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;
-     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;
-     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;
-     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;
-     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;
-     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;
-     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;
-     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;
-     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;
-     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;
-     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;
-     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;
-     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;
-     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
deleted file mode 100644
index 6c39695..0000000
--- a/packages/ada-mode/ada_process_lalr_main.adb
+++ /dev/null
@@ -1,16487 +0,0 @@
---  generated parser support file.
---  command line: wisitoken-bnf-generate.exe  --generate LALR Ada_Emacs re2c 
PROCESS ada.wy
---
-
---  Copyright (C) 2013 - 2020 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
---  published by the Free Software Foundation; either version 3, or (at
---  your option) any later version.
---
---  This software 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/>.
-
-with Ada_Process_Actions; use Ada_Process_Actions;
-with WisiToken.Lexer.re2c;
-with ada_re2c_c;
-package body Ada_Process_LALR_Main is
-
-   package Lexer is new WisiToken.Lexer.re2c
-     (ada_re2c_c.New_Lexer,
-      ada_re2c_c.Free_Lexer,
-      ada_re2c_c.Reset_Lexer,
-      ada_re2c_c.Next_Token);
-
-   procedure Create_Parser
-     (Parser                         :    out WisiToken.Parse.LR.Parser.Parser;
-      Language_Fixes                 : in     
WisiToken.Parse.LR.Parser.Language_Fixes_Access;
-      Language_Matching_Begin_Tokens : in     
WisiToken.Parse.LR.Parser.Language_Matching_Begin_Tokens_Access;
-      Language_String_ID_Set       : in     
WisiToken.Parse.LR.Parser.Language_String_ID_Set_Access;
-      Trace                        : not null access WisiToken.Trace'Class;
-      User_Data                    : in     
WisiToken.Syntax_Trees.User_Data_Access)
-   is
-      use WisiToken.Parse.LR;
-      McKenzie_Param : constant McKenzie_Param_Type :=
-        (First_Terminal    => 3,
-         Last_Terminal     => 110,
-         First_Nonterminal => 111,
-         Last_Nonterminal  => 335,
-         Insert =>
-           (4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 4, 4, 4, 4, 4, 4, 4, 4, 3, 
4, 4, 4, 4, 4, 4, 4, 2, 4, 4, 4, 4, 4, 4,
-            4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
-            4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4),
-         Delete =>
-           (4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
-            4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
-            4, 4, 4, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4),
-         Push_Back =>
-           (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, 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, 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, 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, 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, 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, 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),
-         Undo_Reduce =>
-           (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, 2, 0, 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, 2, 2, 2, 2, 2, 2,
-            2, 2, 0, 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, 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, 0, 0, 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),
-         Minimal_Complete_Cost_Delta => -3,
-         Fast_Forward =>  2,
-         Matching_Begin =>  3,
-         Ignore_Check_Fail  => 2,
-         Task_Count  => 0,
-         Check_Limit => 4,
-         Check_Delta_Limit => 100,
-         Enqueue_Limit => 58000);
-
-      Table : constant Parse_Table_Ptr := new Parse_Table
-        (State_First       => 0,
-         State_Last        => 1302,
-         First_Terminal    => 3,
-         Last_Terminal     => 110,
-         First_Nonterminal => 111,
-         Last_Nonterminal  => 335);
-   begin
-      Table.McKenzie_Param := McKenzie_Param;
-      declare
-         procedure Subr_1
-         is begin
-            Table.States (0).Action_List.Set_Capacity (39);
-            Add_Action (Table.States (0), 4, (116, 0), 1);
-            Add_Action (Table.States (0), 5, (306, 8), 2);
-            Add_Action (Table.States (0), 13, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (0), 15, (142, 0), 3);
-            Add_Action (Table.States (0), 17, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (0), 18, (164, 0), 4);
-            Add_Action (Table.States (0), 25, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (0), 27, (193, 0), 5);
-            Add_Action (Table.States (0), 28, (124, 0), 6);
-            Add_Conflict (Table.States (0), 28, (135, 1),  0, null, null);
-            Add_Action (Table.States (0), 29, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (0), 30, (213, 0), 8);
-            Add_Action (Table.States (0), 31, (306, 3), 9);
-            Add_Action (Table.States (0), 32, (225, 0), 10);
-            Add_Action (Table.States (0), 36, (335, 0), 11);
-            Add_Action (Table.States (0), 37, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (0), 40, (249, 0), 12);
-            Add_Action (Table.States (0), 41, (306, 0), 13);
-            Add_Action (Table.States (0), 46, (249, 1), 14);
-            Add_Action (Table.States (0), 47, (216, 0), 15);
-            Add_Action (Table.States (0), 48, (260, 0), 16);
-            Add_Action (Table.States (0), 49, (145, 2), 17);
-            Add_Action (Table.States (0), 50, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (0), 51, (267, 0), 19);
-            Add_Action (Table.States (0), 52, (279, 0), 20);
-            Add_Action (Table.States (0), 57, (293, 0), 21);
-            Add_Action (Table.States (0), 58, (199, 0), 22);
-            Add_Action (Table.States (0), 60, (318, 0), 23);
-            Add_Action (Table.States (0), 61, (129, 0), 24);
-            Add_Action (Table.States (0), 63, (316, 0), 25);
-            Add_Action (Table.States (0), 66, (308, 0), 26);
-            Add_Action (Table.States (0), 69, (209, 0), 27);
-            Add_Action (Table.States (0), 71, (334, 0), 28);
-            Add_Action (Table.States (0), 73, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (0), 74, (335, 3), 30);
-            Add_Action (Table.States (0), 81, (242, 8), 31);
-            Add_Action (Table.States (0), 96, (220, 0), 32);
-            Add_Action (Table.States (0), 107, (134, 0), 33);
-            Add_Action (Table.States (0), 108, (242, 7), 34);
-            Add_Action (Table.States (0), 109, (242, 6), 35);
-            Table.States (0).Goto_List.Set_Capacity (83);
-            Add_Goto (Table.States (0), 115, 36);
-            Add_Goto (Table.States (0), 116, 37);
-            Add_Goto (Table.States (0), 124, 38);
-            Add_Goto (Table.States (0), 126, 39);
-            Add_Goto (Table.States (0), 129, 40);
-            Add_Goto (Table.States (0), 130, 41);
-            Add_Goto (Table.States (0), 131, 42);
-            Add_Goto (Table.States (0), 134, 43);
-            Add_Goto (Table.States (0), 135, 44);
-            Add_Goto (Table.States (0), 136, 45);
-            Add_Goto (Table.States (0), 137, 46);
-            Add_Goto (Table.States (0), 138, 47);
-            Add_Goto (Table.States (0), 142, 48);
-            Add_Goto (Table.States (0), 145, 49);
-            Add_Goto (Table.States (0), 146, 50);
-            Add_Goto (Table.States (0), 154, 51);
-            Add_Goto (Table.States (0), 155, 52);
-            Add_Goto (Table.States (0), 160, 53);
-            Add_Goto (Table.States (0), 164, 54);
-            Add_Goto (Table.States (0), 182, 55);
-            Add_Goto (Table.States (0), 185, 56);
-            Add_Goto (Table.States (0), 189, 57);
-            Add_Goto (Table.States (0), 193, 58);
-            Add_Goto (Table.States (0), 196, 59);
-            Add_Goto (Table.States (0), 199, 60);
-            Add_Goto (Table.States (0), 209, 61);
-            Add_Goto (Table.States (0), 210, 62);
-            Add_Goto (Table.States (0), 212, 63);
-            Add_Goto (Table.States (0), 213, 64);
-            Add_Goto (Table.States (0), 216, 65);
-            Add_Goto (Table.States (0), 217, 66);
-            Add_Goto (Table.States (0), 218, 67);
-            Add_Goto (Table.States (0), 219, 68);
-            Add_Goto (Table.States (0), 220, 69);
-            Add_Goto (Table.States (0), 222, 70);
-            Add_Goto (Table.States (0), 225, 71);
-            Add_Goto (Table.States (0), 226, 72);
-            Add_Goto (Table.States (0), 235, 73);
-            Add_Goto (Table.States (0), 242, 74);
-            Add_Goto (Table.States (0), 246, 75);
-            Add_Goto (Table.States (0), 247, 76);
-            Add_Goto (Table.States (0), 248, 77);
-            Add_Goto (Table.States (0), 249, 78);
-            Add_Goto (Table.States (0), 250, 79);
-            Add_Goto (Table.States (0), 251, 80);
-            Add_Goto (Table.States (0), 252, 81);
-            Add_Goto (Table.States (0), 253, 82);
-            Add_Goto (Table.States (0), 254, 83);
-            Add_Goto (Table.States (0), 260, 84);
-            Add_Goto (Table.States (0), 262, 85);
-            Add_Goto (Table.States (0), 263, 86);
-            Add_Goto (Table.States (0), 264, 87);
-            Add_Goto (Table.States (0), 265, 88);
-            Add_Goto (Table.States (0), 266, 89);
-            Add_Goto (Table.States (0), 267, 90);
-            Add_Goto (Table.States (0), 268, 91);
-            Add_Goto (Table.States (0), 274, 92);
-            Add_Goto (Table.States (0), 275, 93);
-            Add_Goto (Table.States (0), 279, 94);
-            Add_Goto (Table.States (0), 284, 95);
-            Add_Goto (Table.States (0), 292, 96);
-            Add_Goto (Table.States (0), 293, 97);
-            Add_Goto (Table.States (0), 296, 98);
-            Add_Goto (Table.States (0), 297, 99);
-            Add_Goto (Table.States (0), 301, 100);
-            Add_Goto (Table.States (0), 305, 101);
-            Add_Goto (Table.States (0), 306, 102);
-            Add_Goto (Table.States (0), 307, 103);
-            Add_Goto (Table.States (0), 308, 104);
-            Add_Goto (Table.States (0), 309, 105);
-            Add_Goto (Table.States (0), 310, 106);
-            Add_Goto (Table.States (0), 311, 107);
-            Add_Goto (Table.States (0), 312, 108);
-            Add_Goto (Table.States (0), 314, 109);
-            Add_Goto (Table.States (0), 316, 110);
-            Add_Goto (Table.States (0), 318, 111);
-            Add_Goto (Table.States (0), 319, 112);
-            Add_Goto (Table.States (0), 320, 113);
-            Add_Goto (Table.States (0), 322, 114);
-            Add_Goto (Table.States (0), 326, 115);
-            Add_Goto (Table.States (0), 328, 116);
-            Add_Goto (Table.States (0), 334, 117);
-            Add_Goto (Table.States (0), 335, 118);
-            Table.States (1).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1), 107, (116, 0), 119);
-            Table.States (1).Kernel := To_Vector ((((116, 0),  4,  4, 
(2147483647, 0),  0), ((116, 1),  4,  2,
-            (2147483647, 0),  0)));
-            Table.States (1).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (116, 0),  107, 119)));
-            Table.States (2).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (2), 81, (242, 8), 31);
-            Add_Action (Table.States (2), 107, (242, 5), 120);
-            Add_Action (Table.States (2), 108, (242, 7), 34);
-            Add_Action (Table.States (2), 109, (242, 6), 35);
-            Table.States (2).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (2), 131, 42);
-            Add_Goto (Table.States (2), 242, 121);
-            Add_Goto (Table.States (2), 275, 93);
-            Add_Goto (Table.States (2), 296, 98);
-            Table.States (2).Kernel := To_Vector ((0 => ((306, 8),  5,  2, 
(2147483647, 0),  0)));
-            Table.States (2).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (3).Action_List.Set_Capacity (15);
-            Add_Action (Table.States (3), 3, (200, 2), 122);
-            Add_Action (Table.States (3), 35, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (3), 39, (261, 4), 123);
-            Add_Action (Table.States (3), 40, (200, 3), 124);
-            Add_Action (Table.States (3), 41, (261, 1), 125);
-            Add_Action (Table.States (3), 52, (278, 0), 126);
-            Add_Action (Table.States (3), 76, (120, 0), 127);
-            Add_Action (Table.States (3), 77, (120, 5), 128);
-            Add_Action (Table.States (3), 81, (242, 8), 31);
-            Add_Action (Table.States (3), 97, (333, 1), 129);
-            Add_Action (Table.States (3), 98, (333, 0), 130);
-            Add_Action (Table.States (3), 106, (261, 0), 131);
-            Add_Action (Table.States (3), 107, (242, 5), 120);
-            Add_Action (Table.States (3), 108, (242, 7), 34);
-            Add_Action (Table.States (3), 109, (242, 6), 35);
-            Table.States (3).Goto_List.Set_Capacity (20);
-            Add_Goto (Table.States (3), 120, 132);
-            Add_Goto (Table.States (3), 131, 42);
-            Add_Goto (Table.States (3), 194, 133);
-            Add_Goto (Table.States (3), 195, 134);
-            Add_Goto (Table.States (3), 200, 135);
-            Add_Goto (Table.States (3), 242, 136);
-            Add_Goto (Table.States (3), 261, 137);
-            Add_Goto (Table.States (3), 275, 93);
-            Add_Goto (Table.States (3), 278, 138);
-            Add_Goto (Table.States (3), 285, 139);
-            Add_Goto (Table.States (3), 286, 140);
-            Add_Goto (Table.States (3), 287, 141);
-            Add_Goto (Table.States (3), 288, 142);
-            Add_Goto (Table.States (3), 289, 143);
-            Add_Goto (Table.States (3), 290, 144);
-            Add_Goto (Table.States (3), 296, 98);
-            Add_Goto (Table.States (3), 304, 145);
-            Add_Goto (Table.States (3), 323, 146);
-            Add_Goto (Table.States (3), 324, 147);
-            Add_Goto (Table.States (3), 333, 148);
-            Table.States (3).Kernel := To_Vector ((0 => ((142, 0),  15,  6, 
(2147483647, 0),  0)));
-            Table.States (3).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (195, 1),  0)));
-            Table.States (4).Action_List.Set_Capacity (16);
-            Add_Action (Table.States (4), 3, (200, 2), 122);
-            Add_Action (Table.States (4), 39, (261, 4), 123);
-            Add_Action (Table.States (4), 40, (200, 3), 124);
-            Add_Action (Table.States (4), 41, (261, 1), 125);
-            Add_Action (Table.States (4), 52, (278, 0), 126);
-            Add_Action (Table.States (4), 70, (164, 0), 149);
-            Add_Action (Table.States (4), 76, (120, 0), 127);
-            Add_Action (Table.States (4), 77, (120, 5), 128);
-            Add_Action (Table.States (4), 81, (242, 8), 31);
-            Add_Action (Table.States (4), 97, (333, 1), 129);
-            Add_Action (Table.States (4), 98, (333, 0), 130);
-            Add_Action (Table.States (4), 99, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (4), 106, (261, 0), 131);
-            Add_Action (Table.States (4), 107, (242, 5), 120);
-            Add_Action (Table.States (4), 108, (242, 7), 34);
-            Add_Action (Table.States (4), 109, (242, 6), 35);
-            Table.States (4).Goto_List.Set_Capacity (20);
-            Add_Goto (Table.States (4), 120, 132);
-            Add_Goto (Table.States (4), 131, 42);
-            Add_Goto (Table.States (4), 194, 133);
-            Add_Goto (Table.States (4), 195, 150);
-            Add_Goto (Table.States (4), 200, 135);
-            Add_Goto (Table.States (4), 242, 136);
-            Add_Goto (Table.States (4), 261, 137);
-            Add_Goto (Table.States (4), 275, 93);
-            Add_Goto (Table.States (4), 278, 138);
-            Add_Goto (Table.States (4), 285, 139);
-            Add_Goto (Table.States (4), 286, 140);
-            Add_Goto (Table.States (4), 287, 141);
-            Add_Goto (Table.States (4), 288, 142);
-            Add_Goto (Table.States (4), 289, 143);
-            Add_Goto (Table.States (4), 290, 144);
-            Add_Goto (Table.States (4), 296, 98);
-            Add_Goto (Table.States (4), 304, 145);
-            Add_Goto (Table.States (4), 323, 146);
-            Add_Goto (Table.States (4), 324, 147);
-            Add_Goto (Table.States (4), 333, 148);
-            Table.States (4).Kernel := To_Vector ((((164, 0),  18,  2, 
(2147483647, 0),  0), ((164, 1),  18,  1,
-            (2147483647, 0),  0)));
-            Table.States (4).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (195, 1),  0)));
-            Table.States (5).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (5), 72, Reduce, (223, 1),  0, null, 
null);
-            Add_Action (Table.States (5), 99, Reduce, (223, 1),  0, null, 
null);
-            Add_Action (Table.States (5), 107, (223, 0), 151);
-            Table.States (5).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (5), 223, 152);
-            Table.States (5).Kernel := To_Vector ((((193, 0),  27,  2, 
(2147483647, 0),  0), ((193, 1),  27,  1,
-            (2147483647, 0),  0)));
-            Table.States (5).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (223, 1),  0)));
-            Table.States (6).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (6), 81, (242, 8), 31);
-            Add_Action (Table.States (6), 107, (166, 0), 153);
-            Add_Action (Table.States (6), 108, (166, 1), 154);
-            Add_Action (Table.States (6), 109, (242, 6), 35);
-            Table.States (6).Goto_List.Set_Capacity (7);
-            Add_Goto (Table.States (6), 131, 155);
-            Add_Goto (Table.States (6), 166, 156);
-            Add_Goto (Table.States (6), 233, 157);
-            Add_Goto (Table.States (6), 234, 158);
-            Add_Goto (Table.States (6), 242, 159);
-            Add_Goto (Table.States (6), 275, 93);
-            Add_Goto (Table.States (6), 296, 98);
-            Table.States (6).Kernel := To_Vector ((((124, 0),  28,  5, 
(2147483647, 0),  0), ((130, 0),  28,  4,
-            (2147483647, 0),  0), ((185, 0),  28,  5, (2147483647, 0),  0), 
((232, 1),  28,  0, (234, 1),  0), ((284,
-            0),  28,  14, (2147483647, 0),  0)));
-            Table.States (6).Minimal_Complete_Actions := To_Vector (((Shift, 
(166, 0),  107, 153), (Reduce, (234, 1),
-            0)));
-            Table.States (7).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (7), 81, (242, 8), 31);
-            Add_Action (Table.States (7), 107, (242, 5), 120);
-            Add_Action (Table.States (7), 108, (242, 7), 34);
-            Add_Action (Table.States (7), 109, (242, 6), 35);
-            Table.States (7).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (7), 131, 42);
-            Add_Goto (Table.States (7), 242, 160);
-            Add_Goto (Table.States (7), 275, 93);
-            Add_Goto (Table.States (7), 296, 98);
-            Table.States (7).Kernel := To_Vector ((0 => ((210, 0),  29,  2, 
(2147483647, 0),  0)));
-            Table.States (7).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (8).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (8), 29, (218, 2), 161);
-            Add_Conflict (Table.States (8), 29, (213, 1),  1, 
generic_formal_part_1'Access, null);
-            Add_Action (Table.States (8), 47, (218, 0), 162);
-            Add_Conflict (Table.States (8), 47, (213, 1),  1, 
generic_formal_part_1'Access, null);
-            Add_Action (Table.States (8), 48, (260, 0), 16);
-            Add_Action (Table.States (8), 50, (218, 1), 163);
-            Add_Conflict (Table.States (8), 50, (213, 1),  1, 
generic_formal_part_1'Access, null);
-            Add_Action (Table.States (8), 69, (204, 0), 164);
-            Add_Action (Table.States (8), 71, (334, 0), 28);
-            Add_Action (Table.States (8), 74, (203, 0), 165);
-            Add_Action (Table.States (8), 107, (222, 1), 166);
-            Table.States (8).Goto_List.Set_Capacity (9);
-            Add_Goto (Table.States (8), 201, 167);
-            Add_Goto (Table.States (8), 203, 168);
-            Add_Goto (Table.States (8), 204, 169);
-            Add_Goto (Table.States (8), 207, 170);
-            Add_Goto (Table.States (8), 214, 171);
-            Add_Goto (Table.States (8), 215, 172);
-            Add_Goto (Table.States (8), 222, 173);
-            Add_Goto (Table.States (8), 260, 174);
-            Add_Goto (Table.States (8), 334, 175);
-            Table.States (8).Kernel := To_Vector ((((213, 0),  30,  3, 
(2147483647, 0),  0), ((213, 1),  30,  0, (213,
-            1),  1), ((218, 0),  30,  5, (2147483647, 0),  0), ((218, 1),  30, 
 5, (2147483647, 0),  0), ((218, 2),
-            30,  5, (2147483647, 0),  0)));
-            Table.States (8).Minimal_Complete_Actions := To_Vector (((Shift, 
(204, 0),  69, 164), (Reduce, (213, 1),
-            1)));
-            Table.States (9).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (9), 107, (306, 3), 176);
-            Table.States (9).Kernel := To_Vector ((0 => ((306, 3),  31,  2, 
(2147483647, 0),  0)));
-            Table.States (9).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (306, 3),  107, 176)));
-            Table.States (10).Action_List.Set_Capacity (15);
-            Add_Action (Table.States (10), 3, (200, 2), 122);
-            Add_Action (Table.States (10), 39, (261, 4), 123);
-            Add_Action (Table.States (10), 40, (200, 3), 124);
-            Add_Action (Table.States (10), 41, (261, 1), 125);
-            Add_Action (Table.States (10), 52, (278, 0), 126);
-            Add_Action (Table.States (10), 68, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (10), 76, (120, 0), 127);
-            Add_Action (Table.States (10), 77, (120, 5), 128);
-            Add_Action (Table.States (10), 81, (242, 8), 31);
-            Add_Action (Table.States (10), 97, (333, 1), 129);
-            Add_Action (Table.States (10), 98, (333, 0), 130);
-            Add_Action (Table.States (10), 106, (261, 0), 131);
-            Add_Action (Table.States (10), 107, (242, 5), 120);
-            Add_Action (Table.States (10), 108, (242, 7), 34);
-            Add_Action (Table.States (10), 109, (242, 6), 35);
-            Table.States (10).Goto_List.Set_Capacity (20);
-            Add_Goto (Table.States (10), 120, 132);
-            Add_Goto (Table.States (10), 131, 42);
-            Add_Goto (Table.States (10), 194, 133);
-            Add_Goto (Table.States (10), 195, 177);
-            Add_Goto (Table.States (10), 200, 135);
-            Add_Goto (Table.States (10), 242, 136);
-            Add_Goto (Table.States (10), 261, 137);
-            Add_Goto (Table.States (10), 275, 93);
-            Add_Goto (Table.States (10), 278, 138);
-            Add_Goto (Table.States (10), 285, 139);
-            Add_Goto (Table.States (10), 286, 140);
-            Add_Goto (Table.States (10), 287, 141);
-            Add_Goto (Table.States (10), 288, 142);
-            Add_Goto (Table.States (10), 289, 143);
-            Add_Goto (Table.States (10), 290, 144);
-            Add_Goto (Table.States (10), 296, 98);
-            Add_Goto (Table.States (10), 304, 145);
-            Add_Goto (Table.States (10), 323, 146);
-            Add_Goto (Table.States (10), 324, 147);
-            Add_Goto (Table.States (10), 333, 148);
-            Table.States (10).Kernel := To_Vector ((((225, 0),  32,  7, 
(2147483647, 0),  0), ((225, 1),  32,  5,
-            (2147483647, 0),  0), ((225, 2),  32,  6, (2147483647, 0),  0), 
((225, 3),  32,  4, (2147483647, 0),  0)));
-            Table.States (10).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (195, 1),  0)));
-            Table.States (11).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (11), 49, (335, 0), 178);
-            Add_Action (Table.States (11), 74, (335, 1), 179);
-            Table.States (11).Kernel := To_Vector ((((335, 0),  36,  4, 
(2147483647, 0),  0), ((335, 1),  36,  3,
-            (2147483647, 0),  0)));
-            Table.States (11).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (335, 1),  74, 179)));
-            Table.States (12).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (12), 46, (249, 0), 180);
-            Table.States (12).Kernel := To_Vector ((0 => ((249, 0),  40,  1, 
(2147483647, 0),  0)));
-            Table.States (12).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (249, 0),  46, 180)));
-            Table.States (13).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (13), 99, (306, 0), 181);
-            Table.States (13).Kernel := To_Vector ((0 => ((306, 0),  41,  1, 
(2147483647, 0),  0)));
-            Table.States (13).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (306, 0),  99, 181)));
-            Table.States (14).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (14), (25, 29, 50), (249, 1),  1, 
overriding_indicator_opt_1'Access, null);
-            Table.States (14).Kernel := To_Vector ((0 => ((249, 1),  46,  0, 
(249, 1),  1)));
-            Table.States (14).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (249, 1),  1)));
-            Table.States (15).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (15), 14, (250, 0), 182);
-            Add_Action (Table.States (15), 81, (242, 8), 31);
-            Add_Action (Table.States (15), 107, (242, 5), 120);
-            Add_Action (Table.States (15), 108, (242, 7), 34);
-            Add_Action (Table.States (15), 109, (242, 6), 35);
-            Table.States (15).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (15), 131, 42);
-            Add_Goto (Table.States (15), 242, 183);
-            Add_Goto (Table.States (15), 275, 93);
-            Add_Goto (Table.States (15), 296, 98);
-            Table.States (15).Kernel := To_Vector ((((216, 0),  47,  5, 
(2147483647, 0),  0), ((250, 0),  47,  6,
-            (2147483647, 0),  0), ((250, 1),  47,  5, (2147483647, 0),  0), 
((251, 0),  47,  5, (2147483647, 0),  0),
-            ((253, 0),  47,  4, (2147483647, 0),  0), ((254, 0),  47,  4, 
(2147483647, 0),  0), ((254, 1),  47,  3,
-            (2147483647, 0),  0)));
-            Table.States (15).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (16).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (16), 107, (260, 0), 184);
-            Table.States (16).Kernel := To_Vector ((((260, 0),  48,  4, 
(2147483647, 0),  0), ((260, 1),  48,  6,
-            (2147483647, 0),  0), ((260, 2),  48,  2, (2147483647, 0),  0)));
-            Table.States (16).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (260, 0),  107, 184)));
-            Table.States (17).Action_List.Set_Capacity (15);
-            Add_Action (Table.States (17), 25, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (17), 28, (124, 0), 185);
-            Add_Action (Table.States (17), 29, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (17), 30, (213, 0), 8);
-            Add_Action (Table.States (17), 40, (249, 0), 12);
-            Add_Action (Table.States (17), 46, (249, 1), 14);
-            Add_Action (Table.States (17), 47, (216, 0), 15);
-            Add_Action (Table.States (17), 50, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (17), 51, (267, 0), 19);
-            Add_Action (Table.States (17), 63, (316, 0), 25);
-            Add_Action (Table.States (17), 66, (308, 0), 26);
-            Add_Action (Table.States (17), 69, (209, 0), 27);
-            Add_Action (Table.States (17), 71, (334, 0), 28);
-            Add_Action (Table.States (17), 74, (335, 2), 186);
-            Add_Action (Table.States (17), 107, (222, 1), 187);
-            Table.States (17).Goto_List.Set_Capacity (50);
-            Add_Goto (Table.States (17), 115, 36);
-            Add_Goto (Table.States (17), 124, 38);
-            Add_Goto (Table.States (17), 130, 41);
-            Add_Goto (Table.States (17), 137, 46);
-            Add_Goto (Table.States (17), 138, 47);
-            Add_Goto (Table.States (17), 160, 188);
-            Add_Goto (Table.States (17), 182, 55);
-            Add_Goto (Table.States (17), 185, 56);
-            Add_Goto (Table.States (17), 189, 57);
-            Add_Goto (Table.States (17), 196, 59);
-            Add_Goto (Table.States (17), 209, 61);
-            Add_Goto (Table.States (17), 210, 62);
-            Add_Goto (Table.States (17), 212, 63);
-            Add_Goto (Table.States (17), 213, 64);
-            Add_Goto (Table.States (17), 216, 65);
-            Add_Goto (Table.States (17), 217, 66);
-            Add_Goto (Table.States (17), 218, 67);
-            Add_Goto (Table.States (17), 219, 68);
-            Add_Goto (Table.States (17), 222, 70);
-            Add_Goto (Table.States (17), 226, 72);
-            Add_Goto (Table.States (17), 246, 75);
-            Add_Goto (Table.States (17), 247, 76);
-            Add_Goto (Table.States (17), 248, 77);
-            Add_Goto (Table.States (17), 249, 78);
-            Add_Goto (Table.States (17), 250, 79);
-            Add_Goto (Table.States (17), 251, 80);
-            Add_Goto (Table.States (17), 252, 81);
-            Add_Goto (Table.States (17), 253, 82);
-            Add_Goto (Table.States (17), 254, 83);
-            Add_Goto (Table.States (17), 262, 85);
-            Add_Goto (Table.States (17), 263, 86);
-            Add_Goto (Table.States (17), 265, 88);
-            Add_Goto (Table.States (17), 266, 89);
-            Add_Goto (Table.States (17), 267, 90);
-            Add_Goto (Table.States (17), 268, 91);
-            Add_Goto (Table.States (17), 274, 92);
-            Add_Goto (Table.States (17), 284, 95);
-            Add_Goto (Table.States (17), 292, 96);
-            Add_Goto (Table.States (17), 307, 103);
-            Add_Goto (Table.States (17), 308, 104);
-            Add_Goto (Table.States (17), 310, 106);
-            Add_Goto (Table.States (17), 311, 107);
-            Add_Goto (Table.States (17), 312, 108);
-            Add_Goto (Table.States (17), 314, 109);
-            Add_Goto (Table.States (17), 316, 110);
-            Add_Goto (Table.States (17), 319, 112);
-            Add_Goto (Table.States (17), 320, 113);
-            Add_Goto (Table.States (17), 322, 114);
-            Add_Goto (Table.States (17), 328, 116);
-            Add_Goto (Table.States (17), 334, 117);
-            Table.States (17).Kernel := To_Vector ((((145, 2),  49,  3, 
(2147483647, 0),  0), ((335, 2),  49,  3,
-            (2147483647, 0),  0)));
-            Table.States (17).Minimal_Complete_Actions := To_Vector (((Reduce, 
(249, 2),  0), (Shift, (335, 2),  74,
-            186)));
-            Table.States (18).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (18), 81, (242, 8), 31);
-            Add_Action (Table.States (18), 107, (242, 5), 120);
-            Add_Action (Table.States (18), 108, (242, 7), 34);
-            Add_Action (Table.States (18), 109, (242, 6), 35);
-            Table.States (18).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (18), 131, 42);
-            Add_Goto (Table.States (18), 242, 189);
-            Add_Goto (Table.States (18), 275, 93);
-            Add_Goto (Table.States (18), 296, 98);
-            Table.States (18).Kernel := To_Vector ((0 => ((265, 0),  50,  1, 
(2147483647, 0),  0)));
-            Table.States (18).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (19).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (19), 14, (267, 0), 190);
-            Add_Action (Table.States (19), 69, (274, 0), 191);
-            Add_Action (Table.States (19), 107, (307, 0), 192);
-            Table.States (19).Kernel := To_Vector ((((267, 0),  51,  5, 
(2147483647, 0),  0), ((268, 0),  51,  5,
-            (2147483647, 0),  0), ((274, 0),  51,  8, (2147483647, 0),  0), 
((274, 1),  51,  5, (2147483647, 0),  0),
-            ((307, 0),  51,  7, (2147483647, 0),  0), ((307, 1),  51,  4, 
(2147483647, 0),  0)));
-            Table.States (19).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (307, 0),  107, 192)));
-            Table.States (20).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (20), 81, (242, 8), 31);
-            Add_Action (Table.States (20), 99, (279, 2), 193);
-            Add_Action (Table.States (20), 107, (242, 5), 120);
-            Add_Action (Table.States (20), 108, (242, 7), 34);
-            Add_Action (Table.States (20), 109, (242, 6), 35);
-            Table.States (20).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (20), 131, 42);
-            Add_Goto (Table.States (20), 242, 194);
-            Add_Goto (Table.States (20), 275, 93);
-            Add_Goto (Table.States (20), 296, 98);
-            Table.States (20).Kernel := To_Vector ((((279, 0),  52,  3, 
(2147483647, 0),  0), ((279, 1),  52,  2,
-            (2147483647, 0),  0), ((279, 2),  52,  1, (2147483647, 0),  0)));
-            Table.States (20).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (279, 2),  99, 193)));
-            Table.States (21).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (21), 81, (242, 8), 31);
-            Add_Action (Table.States (21), 107, (242, 5), 120);
-            Add_Action (Table.States (21), 108, (242, 7), 34);
-            Add_Action (Table.States (21), 109, (242, 6), 35);
-            Table.States (21).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (21), 131, 42);
-            Add_Goto (Table.States (21), 242, 195);
-            Add_Goto (Table.States (21), 275, 93);
-            Add_Goto (Table.States (21), 296, 98);
-            Table.States (21).Kernel := To_Vector ((((293, 0),  57,  4, 
(2147483647, 0),  0), ((293, 1),  57,  2,
-            (2147483647, 0),  0)));
-            Table.States (21).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (22).Action_List.Set_Capacity (16);
-            Add_Action (Table.States (22), 3, (200, 2), 122);
-            Add_Action (Table.States (22), 21, Reduce, (198, 1),  0, null, 
null);
-            Add_Action (Table.States (22), 39, (261, 4), 123);
-            Add_Action (Table.States (22), 40, (200, 3), 124);
-            Add_Action (Table.States (22), 41, (261, 1), 125);
-            Add_Action (Table.States (22), 52, (278, 0), 126);
-            Add_Action (Table.States (22), 76, (120, 0), 127);
-            Add_Action (Table.States (22), 77, (120, 5), 128);
-            Add_Action (Table.States (22), 81, (242, 8), 31);
-            Add_Action (Table.States (22), 97, (333, 1), 129);
-            Add_Action (Table.States (22), 98, (333, 0), 130);
-            Add_Action (Table.States (22), 99, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (22), 106, (261, 0), 131);
-            Add_Action (Table.States (22), 107, (197, 0), 196);
-            Add_Action (Table.States (22), 108, (242, 7), 34);
-            Add_Action (Table.States (22), 109, (242, 6), 35);
-            Table.States (22).Goto_List.Set_Capacity (22);
-            Add_Goto (Table.States (22), 120, 132);
-            Add_Goto (Table.States (22), 131, 42);
-            Add_Goto (Table.States (22), 194, 133);
-            Add_Goto (Table.States (22), 195, 197);
-            Add_Goto (Table.States (22), 197, 198);
-            Add_Goto (Table.States (22), 198, 199);
-            Add_Goto (Table.States (22), 200, 135);
-            Add_Goto (Table.States (22), 242, 136);
-            Add_Goto (Table.States (22), 261, 137);
-            Add_Goto (Table.States (22), 275, 93);
-            Add_Goto (Table.States (22), 278, 138);
-            Add_Goto (Table.States (22), 285, 139);
-            Add_Goto (Table.States (22), 286, 140);
-            Add_Goto (Table.States (22), 287, 141);
-            Add_Goto (Table.States (22), 288, 142);
-            Add_Goto (Table.States (22), 289, 143);
-            Add_Goto (Table.States (22), 290, 144);
-            Add_Goto (Table.States (22), 296, 98);
-            Add_Goto (Table.States (22), 304, 145);
-            Add_Goto (Table.States (22), 323, 146);
-            Add_Goto (Table.States (22), 324, 147);
-            Add_Goto (Table.States (22), 333, 148);
-            Table.States (22).Kernel := To_Vector ((((199, 0),  58,  4, 
(2147483647, 0),  0), ((199, 1),  58,  4,
-            (2147483647, 0),  0), ((305, 0),  58,  1, (2147483647, 0),  0)));
-            Table.States (22).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (195, 1),  0)));
-            Table.States (23).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (23), 76, (318, 0), 200);
-            Table.States (23).Kernel := To_Vector ((0 => ((318, 0),  60,  9, 
(2147483647, 0),  0)));
-            Table.States (23).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (318, 0),  76, 200)));
-            Table.States (24).Action_List.Set_Capacity (10);
-            Add_Action (Table.States (24), 4, (116, 0), 1);
-            Add_Action (Table.States (24), 18, (164, 0), 4);
-            Add_Action (Table.States (24), 22, Reduce, (300, 1),  0, null, 
null);
-            Add_Action (Table.States (24), 24, Reduce, (300, 1),  0, null, 
null);
-            Add_Action (Table.States (24), 67, (298, 4), 201);
-            Add_Action (Table.States (24), 72, (298, 0), 202);
-            Add_Action (Table.States (24), 81, (242, 8), 31);
-            Add_Action (Table.States (24), 107, (242, 5), 120);
-            Add_Action (Table.States (24), 108, (242, 7), 34);
-            Add_Action (Table.States (24), 109, (242, 6), 35);
-            Table.States (24).Goto_List.Set_Capacity (13);
-            Add_Goto (Table.States (24), 116, 203);
-            Add_Goto (Table.States (24), 131, 42);
-            Add_Goto (Table.States (24), 163, 204);
-            Add_Goto (Table.States (24), 164, 205);
-            Add_Goto (Table.States (24), 181, 206);
-            Add_Goto (Table.States (24), 242, 207);
-            Add_Goto (Table.States (24), 264, 208);
-            Add_Goto (Table.States (24), 275, 93);
-            Add_Goto (Table.States (24), 296, 98);
-            Add_Goto (Table.States (24), 298, 209);
-            Add_Goto (Table.States (24), 299, 210);
-            Add_Goto (Table.States (24), 300, 211);
-            Add_Goto (Table.States (24), 327, 212);
-            Table.States (24).Kernel := To_Vector ((((129, 0),  61,  6, 
(2147483647, 0),  0), ((155, 0),  61,  5,
-            (2147483647, 0),  0), ((297, 0),  61,  4, (2147483647, 0),  0), 
((297, 1),  61,  3, (2147483647, 0),  0),
-            ((326, 0),  61,  7, (2147483647, 0),  0)));
-            Table.States (24).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (300, 1),  0)));
-            Table.States (25).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (25), 107, (316, 0), 213);
-            Table.States (25).Kernel := To_Vector ((0 => ((316, 0),  63,  4, 
(2147483647, 0),  0)));
-            Table.States (25).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (316, 0),  107, 213)));
-            Table.States (26).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (26), 14, (319, 0), 214);
-            Add_Action (Table.States (26), 69, (322, 0), 215);
-            Add_Action (Table.States (26), 107, (308, 0), 216);
-            Table.States (26).Kernel := To_Vector ((((308, 0),  66,  7, 
(2147483647, 0),  0), ((308, 1),  66,  4,
-            (2147483647, 0),  0), ((308, 2),  66,  2, (2147483647, 0),  0), 
((319, 0),  66,  6, (2147483647, 0),  0),
-            ((320, 0),  66,  5, (2147483647, 0),  0), ((322, 0),  66,  8, 
(2147483647, 0),  0), ((322, 1),  66,  5,
-            (2147483647, 0),  0), ((322, 2),  66,  3, (2147483647, 0),  0)));
-            Table.States (26).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (308, 0),  107, 216)));
-            Table.States (27).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (27), 107, (209, 0), 217);
-            Table.States (27).Kernel := To_Vector ((((209, 0),  69,  4, 
(2147483647, 0),  0), ((226, 0),  69,  4,
-            (2147483647, 0),  0), ((226, 1),  69,  2, (2147483647, 0),  0), 
((262, 0),  69,  7, (2147483647, 0),  0),
-            ((263, 0),  69,  4, (2147483647, 0),  0)));
-            Table.States (27).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (209, 0),  107, 217)));
-            Table.States (28).Action_List.Set_Capacity (6);
-            Add_Action (Table.States (28), 9, (334, 0), 218);
-            Add_Action (Table.States (28), 69, (334, 1), 219);
-            Add_Action (Table.States (28), 81, (242, 8), 31);
-            Add_Action (Table.States (28), 107, (242, 5), 120);
-            Add_Action (Table.States (28), 108, (242, 7), 34);
-            Add_Action (Table.States (28), 109, (242, 6), 35);
-            Table.States (28).Goto_List.Set_Capacity (5);
-            Add_Goto (Table.States (28), 131, 42);
-            Add_Goto (Table.States (28), 241, 220);
-            Add_Goto (Table.States (28), 242, 221);
-            Add_Goto (Table.States (28), 275, 93);
-            Add_Goto (Table.States (28), 296, 98);
-            Table.States (28).Kernel := To_Vector ((((334, 0),  71,  4, 
(2147483647, 0),  0), ((334, 1),  71,  3,
-            (2147483647, 0),  0), ((334, 2),  71,  2, (2147483647, 0),  0)));
-            Table.States (28).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (29).Action_List.Set_Capacity (15);
-            Add_Action (Table.States (29), 3, (200, 2), 122);
-            Add_Action (Table.States (29), 37, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (29), 39, (261, 4), 123);
-            Add_Action (Table.States (29), 40, (200, 3), 124);
-            Add_Action (Table.States (29), 41, (261, 1), 125);
-            Add_Action (Table.States (29), 52, (278, 0), 126);
-            Add_Action (Table.States (29), 76, (120, 0), 127);
-            Add_Action (Table.States (29), 77, (120, 5), 128);
-            Add_Action (Table.States (29), 81, (242, 8), 31);
-            Add_Action (Table.States (29), 97, (333, 1), 129);
-            Add_Action (Table.States (29), 98, (333, 0), 130);
-            Add_Action (Table.States (29), 106, (261, 0), 131);
-            Add_Action (Table.States (29), 107, (242, 5), 120);
-            Add_Action (Table.States (29), 108, (242, 7), 34);
-            Add_Action (Table.States (29), 109, (242, 6), 35);
-            Table.States (29).Goto_List.Set_Capacity (20);
-            Add_Goto (Table.States (29), 120, 132);
-            Add_Goto (Table.States (29), 131, 42);
-            Add_Goto (Table.States (29), 194, 133);
-            Add_Goto (Table.States (29), 195, 222);
-            Add_Goto (Table.States (29), 200, 135);
-            Add_Goto (Table.States (29), 242, 136);
-            Add_Goto (Table.States (29), 261, 137);
-            Add_Goto (Table.States (29), 275, 93);
-            Add_Goto (Table.States (29), 278, 138);
-            Add_Goto (Table.States (29), 285, 139);
-            Add_Goto (Table.States (29), 286, 140);
-            Add_Goto (Table.States (29), 287, 141);
-            Add_Goto (Table.States (29), 288, 142);
-            Add_Goto (Table.States (29), 289, 143);
-            Add_Goto (Table.States (29), 290, 144);
-            Add_Goto (Table.States (29), 296, 98);
-            Add_Goto (Table.States (29), 304, 145);
-            Add_Goto (Table.States (29), 323, 146);
-            Add_Goto (Table.States (29), 324, 147);
-            Add_Goto (Table.States (29), 333, 148);
-            Table.States (29).Kernel := To_Vector ((0 => ((232, 0),  73,  0, 
(195, 1),  0)));
-            Table.States (29).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (195, 1),  0)));
-            Table.States (30).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (30), 81, (242, 8), 31);
-            Add_Action (Table.States (30), 107, (242, 5), 120);
-            Add_Action (Table.States (30), 108, (242, 7), 34);
-            Add_Action (Table.States (30), 109, (242, 6), 35);
-            Table.States (30).Goto_List.Set_Capacity (5);
-            Add_Goto (Table.States (30), 131, 42);
-            Add_Goto (Table.States (30), 241, 223);
-            Add_Goto (Table.States (30), 242, 221);
-            Add_Goto (Table.States (30), 275, 93);
-            Add_Goto (Table.States (30), 296, 98);
-            Table.States (30).Kernel := To_Vector ((0 => ((335, 3),  74,  2, 
(2147483647, 0),  0)));
-            Table.States (30).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (31).Action_List.Set_Capacity (65);
-            Add_Action (Table.States (31), (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, 78, 79, 80, 81, 82, 85, 86, 87, 88,
-            89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 
105, 107, 108, 109), (242, 8),  1, null,
-            null);
-            Table.States (31).Kernel := To_Vector ((0 => ((242, 8),  81,  0, 
(242, 8),  1)));
-            Table.States (31).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (242, 8),  1)));
-            Table.States (32).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (32), 107, (220, 0), 224);
-            Table.States (32).Kernel := To_Vector ((0 => ((220, 0),  96,  2, 
(2147483647, 0),  0)));
-            Table.States (32).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (220, 0),  107, 224)));
-            Table.States (33).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (33), 76, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (33), 84, (134, 0), 225);
-            Add_Conflict (Table.States (33), 84, (222, 1),  1, 
identifier_list_1'Access, null);
-            Add_Action (Table.States (33), 85, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (33), 86, Reduce, (222, 1),  1, 
identifier_list_1'Access, null);
-            Add_Action (Table.States (33), 87, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (33), 99, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (33), 104, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (33), 105, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Table.States (33).Kernel := To_Vector ((((134, 0),  107,  1, 
(2147483647, 0),  0), ((222, 1),  107,  0,
-            (222, 1),  1), ((242, 5),  107,  0, (242, 5),  1), ((248, 0),  
107,  5, (2147483647, 0),  0), ((248, 1),
-            107,  6, (2147483647, 0),  0), ((248, 2),  107,  5, (2147483647, 
0),  0)));
-            Table.States (33).Minimal_Complete_Actions := To_Vector (((Shift, 
(134, 0),  84, 225), (Reduce, (222, 1),
-            1), (Reduce, (242, 5),  1)));
-            Table.States (34).Action_List.Set_Capacity (64);
-            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, 73, 74, 75, 
76, 78, 79, 80, 81, 82, 85, 86, 87, 88, 89,
-            90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 
107, 108, 109), (242, 7),  1, null,
-            name_7_check'Access);
-            Table.States (34).Kernel := To_Vector ((0 => ((242, 7),  108,  0, 
(242, 7),  1)));
-            Table.States (34).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (242, 7),  1)));
-            Table.States (35).Action_List.Set_Capacity (65);
-            Add_Action (Table.States (35), (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, 78, 79, 80, 81, 82, 85, 86, 87, 88,
-            89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 
105, 107, 108, 109), (242, 6),  1, null,
-            null);
-            Table.States (35).Kernel := To_Vector ((0 => ((242, 6),  109,  0, 
(242, 6),  1)));
-            Table.States (35).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (242, 6),  1)));
-            Table.States (36).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (36), (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, 
81, 96, 107, 108, 109, 110), (160, 0),  1,
-            null, null);
-            Table.States (36).Kernel := To_Vector ((0 => ((160, 0),  115,  0, 
(160, 0),  1)));
-            Table.States (36).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (160, 0),  1)));
-            Table.States (37).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (37), (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, 81, 96, 107, 108,
-            109, 110), (154, 5),  1, null, null);
-            Table.States (37).Kernel := To_Vector ((0 => ((154, 5),  116,  0, 
(154, 5),  1)));
-            Table.States (37).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (154, 5),  1)));
-            Table.States (38).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (38), (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, 
81, 96, 107, 108, 109, 110), (160, 1),  1,
-            null, null);
-            Table.States (38).Kernel := To_Vector ((0 => ((160, 1),  124,  0, 
(160, 1),  1)));
-            Table.States (38).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (160, 1),  1)));
-            Table.States (39).Action_List.Set_Capacity (47);
-            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, 81, 96, 107, 108,
-            109, 110), (306, 1),  1, null, null);
-            Table.States (39).Kernel := To_Vector ((0 => ((306, 1),  126,  0, 
(306, 1),  1)));
-            Table.States (39).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (306, 1),  1)));
-            Table.States (40).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (40), (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, 81, 96, 107, 108,
-            109, 110), (301, 3),  1, null, null);
-            Table.States (40).Kernel := To_Vector ((0 => ((301, 3),  129,  0, 
(301, 3),  1)));
-            Table.States (40).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (301, 3),  1)));
-            Table.States (41).Action_List.Set_Capacity (42);
-            Add_Action (Table.States (41), (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, 81, 96, 107, 108, 109, 110), (124, 3),
-            1, null, null);
-            Table.States (41).Kernel := To_Vector ((0 => ((124, 3),  130,  0, 
(124, 3),  1)));
-            Table.States (41).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (124, 3),  1)));
-            Table.States (42).Action_List.Set_Capacity (64);
-            Add_Action (Table.States (42), (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, 73, 74, 75, 
76, 78, 79, 80, 81, 82, 85, 86, 87, 88, 89,
-            90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 
107, 108, 109), (242, 3),  1, null, null);
-            Table.States (42).Kernel := To_Vector ((0 => ((242, 3),  131,  0, 
(242, 3),  1)));
-            Table.States (42).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (242, 3),  1)));
-            Table.States (43).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (43), (13, 17, 28, 37, 73), (135, 0),  1, 
null, block_label_opt_0_check'Access);
-            Table.States (43).Kernel := To_Vector ((0 => ((135, 0),  134,  0, 
(135, 0),  1)));
-            Table.States (43).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (135, 0),  1)));
-            Table.States (44).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (44), 13, (136, 1), 226);
-            Add_Action (Table.States (44), 17, (136, 0), 227);
-            Add_Action (Table.States (44), 28, (232, 1), 228);
-            Add_Action (Table.States (44), 37, (235, 1), 229);
-            Add_Action (Table.States (44), 73, (232, 0), 29);
-            Table.States (44).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (44), 232, 230);
-            Table.States (44).Kernel := To_Vector ((((136, 0),  135,  4, 
(2147483647, 0),  0), ((136, 1),  135,  3,
-            (2147483647, 0),  0), ((235, 0),  135,  5, (2147483647, 0),  0), 
((235, 1),  135,  4, (2147483647, 0),
-            0)));
-            Table.States (44).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (136, 1),  13, 226)));
-            Table.States (45).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (45), (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, 81, 96, 107, 108,
-            109, 110), (154, 3),  1, null, null);
-            Table.States (45).Kernel := To_Vector ((0 => ((154, 3),  136,  0, 
(154, 3),  1)));
-            Table.States (45).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (154, 3),  1)));
-            Table.States (46).Action_List.Set_Capacity (41);
-            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, 
81, 96, 107, 108, 109, 110), (160, 2),  1,
-            null, null);
-            Table.States (46).Kernel := To_Vector ((0 => ((160, 2),  137,  0, 
(160, 2),  1)));
-            Table.States (46).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (160, 2),  1)));
-         end Subr_1;
-         procedure Subr_2
-         is begin
-            Table.States (47).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (47), (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, 
81, 96, 107, 108, 109, 110), (137, 1),  1,
-            null, null);
-            Table.States (47).Kernel := To_Vector ((0 => ((137, 1),  138,  0, 
(137, 1),  1)));
-            Table.States (47).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (137, 1),  1)));
-            Table.States (48).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (48), (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, 81, 96, 107, 108,
-            109, 110), (154, 1),  1, null, null);
-            Table.States (48).Kernel := To_Vector ((0 => ((154, 1),  142,  0, 
(154, 1),  1)));
-            Table.States (48).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (154, 1),  1)));
-            Table.States (49).Action_List.Set_Capacity (40);
-            Add_Action (Table.States (49), (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, 81, 
96, 107, 108, 109, 110), (146, 1),  1,
-            compilation_1'Access, compilation_1_check'Access);
-            Table.States (49).Kernel := To_Vector ((0 => ((146, 1),  145,  0, 
(146, 1),  1)));
-            Table.States (49).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (146, 1),  1)));
-            Table.States (50).Action_List.Set_Capacity (40);
-            Add_Action (Table.States (50), 4, (116, 0), 1);
-            Add_Action (Table.States (50), 5, (306, 8), 2);
-            Add_Action (Table.States (50), 13, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (50), 15, (142, 0), 3);
-            Add_Action (Table.States (50), 17, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (50), 18, (164, 0), 4);
-            Add_Action (Table.States (50), 25, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (50), 27, (193, 0), 5);
-            Add_Action (Table.States (50), 28, (124, 0), 6);
-            Add_Conflict (Table.States (50), 28, (135, 1),  0, null, null);
-            Add_Action (Table.States (50), 29, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (50), 30, (213, 0), 8);
-            Add_Action (Table.States (50), 31, (306, 3), 9);
-            Add_Action (Table.States (50), 32, (225, 0), 10);
-            Add_Action (Table.States (50), 36, (335, 0), 11);
-            Add_Action (Table.States (50), 37, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (50), 40, (249, 0), 12);
-            Add_Action (Table.States (50), 41, (306, 0), 13);
-            Add_Action (Table.States (50), 46, (249, 1), 14);
-            Add_Action (Table.States (50), 47, (216, 0), 15);
-            Add_Action (Table.States (50), 48, (260, 0), 16);
-            Add_Action (Table.States (50), 49, (145, 2), 17);
-            Add_Action (Table.States (50), 50, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (50), 51, (267, 0), 19);
-            Add_Action (Table.States (50), 52, (279, 0), 20);
-            Add_Action (Table.States (50), 57, (293, 0), 21);
-            Add_Action (Table.States (50), 58, (199, 0), 22);
-            Add_Action (Table.States (50), 60, (318, 0), 23);
-            Add_Action (Table.States (50), 61, (129, 0), 24);
-            Add_Action (Table.States (50), 63, (316, 0), 25);
-            Add_Action (Table.States (50), 66, (308, 0), 26);
-            Add_Action (Table.States (50), 69, (209, 0), 27);
-            Add_Action (Table.States (50), 71, (334, 0), 28);
-            Add_Action (Table.States (50), 73, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (50), 74, (335, 3), 30);
-            Add_Action (Table.States (50), 81, (242, 8), 31);
-            Add_Action (Table.States (50), 96, (220, 0), 32);
-            Add_Action (Table.States (50), 107, (134, 0), 33);
-            Add_Action (Table.States (50), 108, (242, 7), 34);
-            Add_Action (Table.States (50), 109, (242, 6), 35);
-            Add_Action (Table.States (50), 110, Accept_It, (111, 0),  1, null, 
null);
-            Table.States (50).Goto_List.Set_Capacity (82);
-            Add_Goto (Table.States (50), 115, 36);
-            Add_Goto (Table.States (50), 116, 37);
-            Add_Goto (Table.States (50), 124, 38);
-            Add_Goto (Table.States (50), 126, 39);
-            Add_Goto (Table.States (50), 129, 40);
-            Add_Goto (Table.States (50), 130, 41);
-            Add_Goto (Table.States (50), 131, 42);
-            Add_Goto (Table.States (50), 134, 43);
-            Add_Goto (Table.States (50), 135, 44);
-            Add_Goto (Table.States (50), 136, 45);
-            Add_Goto (Table.States (50), 137, 46);
-            Add_Goto (Table.States (50), 138, 47);
-            Add_Goto (Table.States (50), 142, 48);
-            Add_Goto (Table.States (50), 145, 231);
-            Add_Goto (Table.States (50), 154, 51);
-            Add_Goto (Table.States (50), 155, 52);
-            Add_Goto (Table.States (50), 160, 53);
-            Add_Goto (Table.States (50), 164, 54);
-            Add_Goto (Table.States (50), 182, 55);
-            Add_Goto (Table.States (50), 185, 56);
-            Add_Goto (Table.States (50), 189, 57);
-            Add_Goto (Table.States (50), 193, 58);
-            Add_Goto (Table.States (50), 196, 59);
-            Add_Goto (Table.States (50), 199, 60);
-            Add_Goto (Table.States (50), 209, 61);
-            Add_Goto (Table.States (50), 210, 62);
-            Add_Goto (Table.States (50), 212, 63);
-            Add_Goto (Table.States (50), 213, 64);
-            Add_Goto (Table.States (50), 216, 65);
-            Add_Goto (Table.States (50), 217, 66);
-            Add_Goto (Table.States (50), 218, 67);
-            Add_Goto (Table.States (50), 219, 68);
-            Add_Goto (Table.States (50), 220, 69);
-            Add_Goto (Table.States (50), 222, 70);
-            Add_Goto (Table.States (50), 225, 71);
-            Add_Goto (Table.States (50), 226, 72);
-            Add_Goto (Table.States (50), 235, 73);
-            Add_Goto (Table.States (50), 242, 74);
-            Add_Goto (Table.States (50), 246, 75);
-            Add_Goto (Table.States (50), 247, 76);
-            Add_Goto (Table.States (50), 248, 77);
-            Add_Goto (Table.States (50), 249, 78);
-            Add_Goto (Table.States (50), 250, 79);
-            Add_Goto (Table.States (50), 251, 80);
-            Add_Goto (Table.States (50), 252, 81);
-            Add_Goto (Table.States (50), 253, 82);
-            Add_Goto (Table.States (50), 254, 83);
-            Add_Goto (Table.States (50), 260, 84);
-            Add_Goto (Table.States (50), 262, 85);
-            Add_Goto (Table.States (50), 263, 86);
-            Add_Goto (Table.States (50), 264, 87);
-            Add_Goto (Table.States (50), 265, 88);
-            Add_Goto (Table.States (50), 266, 89);
-            Add_Goto (Table.States (50), 267, 90);
-            Add_Goto (Table.States (50), 268, 91);
-            Add_Goto (Table.States (50), 274, 92);
-            Add_Goto (Table.States (50), 275, 93);
-            Add_Goto (Table.States (50), 279, 94);
-            Add_Goto (Table.States (50), 284, 95);
-            Add_Goto (Table.States (50), 292, 96);
-            Add_Goto (Table.States (50), 293, 97);
-            Add_Goto (Table.States (50), 296, 98);
-            Add_Goto (Table.States (50), 297, 99);
-            Add_Goto (Table.States (50), 301, 100);
-            Add_Goto (Table.States (50), 305, 101);
-            Add_Goto (Table.States (50), 306, 102);
-            Add_Goto (Table.States (50), 307, 103);
-            Add_Goto (Table.States (50), 308, 104);
-            Add_Goto (Table.States (50), 309, 105);
-            Add_Goto (Table.States (50), 310, 106);
-            Add_Goto (Table.States (50), 311, 107);
-            Add_Goto (Table.States (50), 312, 108);
-            Add_Goto (Table.States (50), 314, 109);
-            Add_Goto (Table.States (50), 316, 110);
-            Add_Goto (Table.States (50), 318, 111);
-            Add_Goto (Table.States (50), 319, 112);
-            Add_Goto (Table.States (50), 320, 113);
-            Add_Goto (Table.States (50), 322, 114);
-            Add_Goto (Table.States (50), 326, 115);
-            Add_Goto (Table.States (50), 328, 116);
-            Add_Goto (Table.States (50), 334, 117);
-            Add_Goto (Table.States (50), 335, 118);
-            Table.States (51).Action_List.Set_Capacity (47);
-            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, 81, 96, 107, 108,
-            109, 110), (309, 2),  1, null, null);
-            Table.States (51).Kernel := To_Vector ((0 => ((309, 2),  154,  0, 
(309, 2),  1)));
-            Table.States (51).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (309, 2),  1)));
-            Table.States (52).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (52), (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, 81, 96, 107, 108,
-            109, 110), (301, 2),  1, null, null);
-            Table.States (52).Kernel := To_Vector ((0 => ((301, 2),  155,  0, 
(301, 2),  1)));
-            Table.States (52).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (301, 2),  1)));
-            Table.States (53).Action_List.Set_Capacity (40);
-            Add_Action (Table.States (53), (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, 81, 
96, 107, 108, 109, 110), (145, 3),  1,
-            null, null);
-            Table.States (53).Kernel := To_Vector ((0 => ((145, 3),  160,  0, 
(145, 3),  1)));
-            Table.States (53).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (145, 3),  1)));
-            Table.States (54).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (54), (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, 81, 96, 107, 108,
-            109, 110), (306, 7),  1, null, null);
-            Table.States (54).Kernel := To_Vector ((0 => ((306, 7),  164,  0, 
(306, 7),  1)));
-            Table.States (54).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (306, 7),  1)));
-            Table.States (55).Action_List.Set_Capacity (41);
-            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, 73, 74, 
81, 96, 107, 108, 109, 110), (160, 3),  1,
-            null, null);
-            Table.States (55).Kernel := To_Vector ((0 => ((160, 3),  182,  0, 
(160, 3),  1)));
-            Table.States (55).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (160, 3),  1)));
-            Table.States (56).Action_List.Set_Capacity (42);
-            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, 72, 73, 
74, 81, 96, 107, 108, 109, 110), (124, 1),
-            1, null, null);
-            Table.States (56).Kernel := To_Vector ((0 => ((124, 1),  185,  0, 
(124, 1),  1)));
-            Table.States (56).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (124, 1),  1)));
-            Table.States (57).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (57), (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, 
81, 96, 107, 108, 109, 110), (160, 4),  1,
-            null, null);
-            Table.States (57).Kernel := To_Vector ((0 => ((160, 4),  189,  0, 
(160, 4),  1)));
-            Table.States (57).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (160, 4),  1)));
-            Table.States (58).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (58), (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, 81, 96, 107, 108,
-            109, 110), (306, 2),  1, null, null);
-            Table.States (58).Kernel := To_Vector ((0 => ((306, 2),  193,  0, 
(306, 2),  1)));
-            Table.States (58).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (306, 2),  1)));
-            Table.States (59).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (59), (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, 
81, 96, 107, 108, 109, 110), (160, 5),  1,
-            null, null);
-            Table.States (59).Kernel := To_Vector ((0 => ((160, 5),  196,  0, 
(160, 5),  1)));
-            Table.States (59).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (160, 5),  1)));
-            Table.States (60).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (60), (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, 81, 96, 107, 108,
-            109, 110), (154, 4),  1, null, null);
-            Table.States (60).Kernel := To_Vector ((0 => ((154, 4),  199,  0, 
(154, 4),  1)));
-            Table.States (60).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (154, 4),  1)));
-            Table.States (61).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (61), (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, 
81, 96, 107, 108, 109, 110), (328, 0),  1,
-            null, null);
-            Table.States (61).Kernel := To_Vector ((0 => ((328, 0),  209,  0, 
(328, 0),  1)));
-            Table.States (61).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (328, 0),  1)));
-            Table.States (62).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (62), (35, 74, 99), (315, 1),  1, null, 
subprogram_specification_1_check'Access);
-            Table.States (62).Kernel := To_Vector ((0 => ((315, 1),  210,  0, 
(315, 1),  1)));
-            Table.States (62).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (315, 1),  1)));
-            Table.States (63).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (63), (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, 
81, 96, 107, 108, 109, 110), (160, 6),  1,
-            null, null);
-            Table.States (63).Kernel := To_Vector ((0 => ((160, 6),  212,  0, 
(160, 6),  1)));
-            Table.States (63).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (160, 6),  1)));
-            Table.States (64).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (64), 29, (210, 0), 7);
-            Add_Action (Table.States (64), 47, (254, 0), 232);
-            Add_Action (Table.States (64), 50, (265, 0), 18);
-            Table.States (64).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (64), 210, 62);
-            Add_Goto (Table.States (64), 254, 233);
-            Add_Goto (Table.States (64), 265, 88);
-            Add_Goto (Table.States (64), 315, 234);
-            Table.States (64).Kernel := To_Vector ((((217, 0),  213,  5, 
(2147483647, 0),  0), ((219, 0),  213,  3,
-            (2147483647, 0),  0)));
-            Table.States (64).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (265, 0),  50, 18)));
-            Table.States (65).Action_List.Set_Capacity (41);
-            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, 
81, 96, 107, 108, 109, 110), (160, 7),  1,
-            null, null);
-            Table.States (65).Kernel := To_Vector ((0 => ((160, 7),  216,  0, 
(160, 7),  1)));
-            Table.States (65).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (160, 7),  1)));
-            Table.States (66).Action_List.Set_Capacity (41);
-            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, 
81, 96, 107, 108, 109, 110), (212, 1),  1,
-            null, null);
-            Table.States (66).Kernel := To_Vector ((0 => ((212, 1),  217,  0, 
(212, 1),  1)));
-            Table.States (66).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (212, 1),  1)));
-            Table.States (67).Action_List.Set_Capacity (41);
-            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, 
81, 96, 107, 108, 109, 110), (292, 3),  1,
-            null, null);
-            Table.States (67).Kernel := To_Vector ((0 => ((292, 3),  218,  0, 
(292, 3),  1)));
-            Table.States (67).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (292, 3),  1)));
-            Table.States (68).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (68), (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, 
81, 96, 107, 108, 109, 110), (212, 0),  1,
-            null, null);
-            Table.States (68).Kernel := To_Vector ((0 => ((212, 0),  219,  0, 
(212, 0),  1)));
-            Table.States (68).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (212, 0),  1)));
-            Table.States (69).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (69), (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, 81, 96, 107, 108,
-            109, 110), (309, 0),  1, null, null);
-            Table.States (69).Kernel := To_Vector ((0 => ((309, 0),  220,  0, 
(309, 0),  1)));
-            Table.States (69).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (309, 0),  1)));
-            Table.States (70).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (70), 84, (160, 9), 235);
-            Add_Action (Table.States (70), 86, (222, 0), 236);
-            Table.States (70).Kernel := To_Vector ((((160, 9),  222,  4, 
(2147483647, 0),  0), ((189, 0),  222,  3,
-            (2147483647, 0),  0), ((222, 0),  222,  2, (2147483647, 0),  0), 
((247, 0),  222,  4, (2147483647, 0),  0),
-            ((247, 1),  222,  5, (2147483647, 0),  0), ((247, 2),  222,  11, 
(2147483647, 0),  0), ((247, 3),  222,  3,
-            (2147483647, 0),  0), ((247, 4),  222,  4, (2147483647, 0),  0), 
((247, 5),  222,  10, (2147483647, 0),
-            0)));
-            Table.States (70).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (160, 9),  84, 235)));
-            Table.States (71).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (71), (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, 81, 96, 107, 108,
-            109, 110), (154, 0),  1, null, null);
-            Table.States (71).Kernel := To_Vector ((0 => ((154, 0),  225,  0, 
(154, 0),  1)));
-            Table.States (71).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (154, 0),  1)));
-            Table.States (72).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (72), (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, 
81, 96, 107, 108, 109, 110), (328, 1),  1,
-            null, null);
-            Table.States (72).Kernel := To_Vector ((0 => ((328, 1),  226,  0, 
(328, 1),  1)));
-            Table.States (72).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (328, 1),  1)));
-            Table.States (73).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (73), (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, 81, 96, 107, 108,
-            109, 110), (154, 2),  1, null, null);
-            Table.States (73).Kernel := To_Vector ((0 => ((154, 2),  235,  0, 
(154, 2),  1)));
-            Table.States (73).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (154, 2),  1)));
-            Table.States (74).Action_List.Set_Capacity (6);
-            Add_Action (Table.States (74), 76, (118, 0), 237);
-            Add_Action (Table.States (74), 85, (126, 0), 238);
-            Add_Action (Table.States (74), 87, (296, 0), 239);
-            Add_Action (Table.States (74), 99, (264, 0), 240);
-            Add_Action (Table.States (74), 104, (325, 0), 241);
-            Add_Action (Table.States (74), 105, (325, 1), 242);
-            Table.States (74).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (74), 118, 243);
-            Add_Goto (Table.States (74), 325, 244);
-            Table.States (74).Kernel := To_Vector ((((126, 0),  242,  2, 
(2147483647, 0),  0), ((131, 0),  242,  2,
-            (2147483647, 0),  0), ((242, 0),  242,  5, (2147483647, 0),  0), 
((242, 1),  242,  2, (2147483647, 0),  0),
-            ((264, 0),  242,  1, (2147483647, 0),  0), ((275, 0),  242,  3, 
(2147483647, 0),  0), ((296, 0),  242,  2,
-            (2147483647, 0),  0), ((296, 1),  242,  2, (2147483647, 0),  0), 
((296, 2),  242,  2, (2147483647, 0),  0),
-            ((296, 3),  242,  2, (2147483647, 0),  0)));
-            Table.States (74).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (264, 0),  99, 240)));
-            Table.States (75).Action_List.Set_Capacity (41);
-            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, 
81, 96, 107, 108, 109, 110), (160, 8),  1,
-            null, null);
-            Table.States (75).Kernel := To_Vector ((0 => ((160, 8),  246,  0, 
(160, 8),  1)));
-            Table.States (75).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (160, 8),  1)));
-            Table.States (76).Action_List.Set_Capacity (41);
-            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, 
81, 96, 107, 108, 109, 110), (160, 10),  1,
-            null, null);
-            Table.States (76).Kernel := To_Vector ((0 => ((160, 10),  247,  0, 
(160, 10),  1)));
-            Table.States (76).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (160, 10),  1)));
-            Table.States (77).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (77), (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, 
81, 96, 107, 108, 109, 110), (292, 0),  1,
-            null, null);
-            Table.States (77).Kernel := To_Vector ((0 => ((292, 0),  248,  0, 
(292, 0),  1)));
-            Table.States (77).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (292, 0),  1)));
-            Table.States (78).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (78), 25, (182, 0), 245);
-            Add_Action (Table.States (78), 29, (210, 0), 246);
-            Add_Action (Table.States (78), 50, (216, 1), 247);
-            Table.States (78).Goto_List.Set_Capacity (3);
-            Add_Goto (Table.States (78), 210, 248);
-            Add_Goto (Table.States (78), 265, 249);
-            Add_Goto (Table.States (78), 315, 250);
-            Table.States (78).Kernel := To_Vector ((((115, 0),  249,  5, 
(2147483647, 0),  0), ((182, 0),  249,  6,
-            (2147483647, 0),  0), ((182, 1),  249,  3, (2147483647, 0),  0), 
((196, 0),  249,  7, (2147483647, 0),  0),
-            ((216, 1),  249,  6, (2147483647, 0),  0), ((216, 2),  249,  6, 
(2147483647, 0),  0), ((246, 0),  249,  5,
-            (2147483647, 0),  0), ((310, 0),  249,  6, (2147483647, 0),  0), 
((311, 0),  249,  5, (2147483647, 0),  0),
-            ((312, 0),  249,  3, (2147483647, 0),  0), ((314, 0),  249,  5, 
(2147483647, 0),  0)));
-            Table.States (78).Minimal_Complete_Actions := To_Vector (((Shift, 
(182, 0),  25, 245), (Shift, (216, 1),
-            50, 247)));
-            Table.States (79).Action_List.Set_Capacity (41);
-            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, 
81, 96, 107, 108, 109, 110), (266, 1),  1,
-            null, null);
-            Table.States (79).Kernel := To_Vector ((0 => ((266, 1),  250,  0, 
(266, 1),  1)));
-            Table.States (79).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (266, 1),  1)));
-            Table.States (80).Action_List.Set_Capacity (41);
-            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, 
81, 96, 107, 108, 109, 110), (138, 1),  1,
-            null, null);
-            Table.States (80).Kernel := To_Vector ((0 => ((138, 1),  251,  0, 
(138, 1),  1)));
-            Table.States (80).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (138, 1),  1)));
-            Table.States (81).Action_List.Set_Capacity (41);
-            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, 
81, 96, 107, 108, 109, 110), (160, 11),  1,
-            null, null);
-            Table.States (81).Kernel := To_Vector ((0 => ((160, 11),  252,  0, 
(160, 11),  1)));
-            Table.States (81).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (160, 11),  1)));
-            Table.States (82).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (82), (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, 
81, 96, 107, 108, 109, 110), (292, 1),  1,
-            null, null);
-            Table.States (82).Kernel := To_Vector ((0 => ((292, 1),  253,  0, 
(292, 1),  1)));
-            Table.States (82).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (292, 1),  1)));
-            Table.States (83).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (83), 99, (252, 0), 251);
-            Table.States (83).Kernel := To_Vector ((0 => ((252, 0),  254,  1, 
(2147483647, 0),  0)));
-            Table.States (83).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (252, 0),  99, 251)));
-            Table.States (84).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (84), (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, 81, 96, 107, 108,
-            109, 110), (306, 10),  1, null, null);
-            Table.States (84).Kernel := To_Vector ((0 => ((306, 10),  260,  0, 
(306, 10),  1)));
-            Table.States (84).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (306, 10),  1)));
-            Table.States (85).Action_List.Set_Capacity (41);
-            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, 
81, 96, 107, 108, 109, 110), (328, 3),  1,
-            null, null);
-            Table.States (85).Kernel := To_Vector ((0 => ((328, 3),  262,  0, 
(328, 3),  1)));
-            Table.States (85).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (328, 3),  1)));
-            Table.States (86).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (86), (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, 
81, 96, 107, 108, 109, 110), (328, 2),  1,
-            null, null);
-            Table.States (86).Kernel := To_Vector ((0 => ((328, 2),  263,  0, 
(328, 2),  1)));
-            Table.States (86).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (328, 2),  1)));
-            Table.States (87).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (87), (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, 81, 96, 107, 108,
-            109, 110), (306, 4),  1, null, null);
-            Table.States (87).Kernel := To_Vector ((0 => ((306, 4),  264,  0, 
(306, 4),  1)));
-            Table.States (87).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (306, 4),  1)));
-            Table.States (88).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (88), (35, 74, 99), (315, 0),  1, null, 
subprogram_specification_0_check'Access);
-            Table.States (88).Kernel := To_Vector ((0 => ((315, 0),  265,  0, 
(315, 0),  1)));
-            Table.States (88).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (315, 0),  1)));
-            Table.States (89).Action_List.Set_Capacity (41);
-            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, 
81, 96, 107, 108, 109, 110), (137, 0),  1,
-            null, null);
-            Table.States (89).Kernel := To_Vector ((0 => ((137, 0),  266,  0, 
(137, 0),  1)));
-            Table.States (89).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (137, 0),  1)));
-            Table.States (90).Action_List.Set_Capacity (41);
-            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, 
81, 96, 107, 108, 109, 110), (266, 3),  1,
-            null, null);
-            Table.States (90).Kernel := To_Vector ((0 => ((266, 3),  267,  0, 
(266, 3),  1)));
-            Table.States (90).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (266, 3),  1)));
-            Table.States (91).Action_List.Set_Capacity (41);
-            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, 
81, 96, 107, 108, 109, 110), (138, 3),  1,
-            null, null);
-            Table.States (91).Kernel := To_Vector ((0 => ((138, 3),  268,  0, 
(138, 3),  1)));
-            Table.States (91).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (138, 3),  1)));
-            Table.States (92).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (92), (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, 
81, 96, 107, 108, 109, 110), (209, 2),  1,
-            null, null);
-            Table.States (92).Kernel := To_Vector ((0 => ((209, 2),  274,  0, 
(209, 2),  1)));
-            Table.States (92).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (209, 2),  1)));
-            Table.States (93).Action_List.Set_Capacity (65);
-            Add_Action (Table.States (93), (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, 78, 79, 80, 81, 82, 85, 86, 87, 88,
-            89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 
105, 107, 108, 109), (242, 4),  1, null,
-            null);
-            Table.States (93).Kernel := To_Vector ((0 => ((242, 4),  275,  0, 
(242, 4),  1)));
-            Table.States (93).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (242, 4),  1)));
-            Table.States (94).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (94), (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, 81, 96, 107, 108,
-            109, 110), (306, 9),  1, null, null);
-            Table.States (94).Kernel := To_Vector ((0 => ((306, 9),  279,  0, 
(306, 9),  1)));
-            Table.States (94).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (306, 9),  1)));
-            Table.States (95).Action_List.Set_Capacity (42);
-            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, 72, 73, 
74, 81, 96, 107, 108, 109, 110), (124, 2),
-            1, null, null);
-            Table.States (95).Kernel := To_Vector ((0 => ((124, 2),  284,  0, 
(124, 2),  1)));
-            Table.States (95).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (124, 2),  1)));
-            Table.States (96).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (96), (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, 
81, 96, 107, 108, 109, 110), (160, 12),  1,
-            null, null);
-            Table.States (96).Kernel := To_Vector ((0 => ((160, 12),  292,  0, 
(160, 12),  1)));
-            Table.States (96).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (160, 12),  1)));
-            Table.States (97).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (97), (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, 81, 96, 107, 108,
-            109, 110), (306, 6),  1, null, null);
-            Table.States (97).Kernel := To_Vector ((0 => ((306, 6),  293,  0, 
(306, 6),  1)));
-            Table.States (97).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (306, 6),  1)));
-            Table.States (98).Action_List.Set_Capacity (65);
-            Add_Action (Table.States (98), (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, 78, 79, 80, 81, 82, 85, 86, 87, 88,
-            89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 
105, 107, 108, 109), (242, 2),  1, null,
-            name_2_check'Access);
-            Table.States (98).Kernel := To_Vector ((0 => ((242, 2),  296,  0, 
(242, 2),  1)));
-            Table.States (98).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (242, 2),  1)));
-            Table.States (99).Action_List.Set_Capacity (47);
-            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, 81, 96, 107, 108,
-            109, 110), (301, 0),  1, null, null);
-            Table.States (99).Kernel := To_Vector ((0 => ((301, 0),  297,  0, 
(301, 0),  1)));
-            Table.States (99).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (301, 0),  1)));
-            Table.States (100).Action_List.Set_Capacity (47);
-            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, 81, 96, 107, 108,
-            109, 110), (154, 6),  1, null, null);
-            Table.States (100).Kernel := To_Vector ((0 => ((154, 6),  301,  0, 
(154, 6),  1)));
-            Table.States (100).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (154, 6),  1)));
-            Table.States (101).Action_List.Set_Capacity (47);
-            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, 81, 96, 107, 108,
-            109, 110), (306, 5),  1, null, null);
-            Table.States (101).Kernel := To_Vector ((0 => ((306, 5),  305,  0, 
(306, 5),  1)));
-            Table.States (101).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (306, 5),  1)));
-            Table.States (102).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (102), (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, 81, 96, 107, 108,
-            109, 110), (309, 1),  1, null, null);
-            Table.States (102).Kernel := To_Vector ((0 => ((309, 1),  306,  0, 
(309, 1),  1)));
-            Table.States (102).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (309, 1),  1)));
-            Table.States (103).Action_List.Set_Capacity (41);
-            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, 
81, 96, 107, 108, 109, 110), (247, 7),  1,
-            null, null);
-            Table.States (103).Kernel := To_Vector ((0 => ((247, 7),  307,  0, 
(247, 7),  1)));
-            Table.States (103).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (247, 7),  1)));
-            Table.States (104).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (104), (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, 
81, 96, 107, 108, 109, 110), (247, 6),  1,
-            null, null);
-            Table.States (104).Kernel := To_Vector ((0 => ((247, 6),  308,  0, 
(247, 6),  1)));
-            Table.States (104).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (247, 6),  1)));
-            Table.States (105).Action_List.Set_Capacity (40);
-            Add_Action (Table.States (105), (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, 81, 
96, 107, 108, 109, 110), (145, 4),  1,
-            null, null);
-            Table.States (105).Kernel := To_Vector ((0 => ((145, 4),  309,  0, 
(145, 4),  1)));
-            Table.States (105).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (145, 4),  1)));
-            Table.States (106).Action_List.Set_Capacity (41);
-            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, 
81, 96, 107, 108, 109, 110), (266, 0),  1,
-            null, null);
-            Table.States (106).Kernel := To_Vector ((0 => ((266, 0),  310,  0, 
(266, 0),  1)));
-            Table.States (106).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (266, 0),  1)));
-            Table.States (107).Action_List.Set_Capacity (41);
-            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, 
81, 96, 107, 108, 109, 110), (138, 0),  1,
-            null, null);
-            Table.States (107).Kernel := To_Vector ((0 => ((138, 0),  311,  0, 
(138, 0),  1)));
-            Table.States (107).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (138, 0),  1)));
-            Table.States (108).Action_List.Set_Capacity (41);
-            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, 
81, 96, 107, 108, 109, 110), (160, 13),  1,
-            null, null);
-            Table.States (108).Kernel := To_Vector ((0 => ((160, 13),  312,  
0, (160, 13),  1)));
-            Table.States (108).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (160, 13),  1)));
-            Table.States (109).Action_List.Set_Capacity (41);
-            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, 
81, 96, 107, 108, 109, 110), (292, 2),  1,
-            null, null);
-            Table.States (109).Kernel := To_Vector ((0 => ((292, 2),  314,  0, 
(292, 2),  1)));
-            Table.States (109).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (292, 2),  1)));
-            Table.States (110).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (110), (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, 
81, 96, 107, 108, 109, 110), (160, 14),  1,
-            null, null);
-            Table.States (110).Kernel := To_Vector ((0 => ((160, 14),  316,  
0, (160, 14),  1)));
-            Table.States (110).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (160, 14),  1)));
-            Table.States (111).Action_List.Set_Capacity (40);
-            Add_Action (Table.States (111), (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, 81, 
96, 107, 108, 109, 110), (145, 1),  1,
-            null, null);
-            Table.States (111).Kernel := To_Vector ((0 => ((145, 1),  318,  0, 
(145, 1),  1)));
-            Table.States (111).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (145, 1),  1)));
-            Table.States (112).Action_List.Set_Capacity (41);
-            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, 
81, 96, 107, 108, 109, 110), (266, 2),  1,
-            null, null);
-            Table.States (112).Kernel := To_Vector ((0 => ((266, 2),  319,  0, 
(266, 2),  1)));
-            Table.States (112).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (266, 2),  1)));
-            Table.States (113).Action_List.Set_Capacity (41);
-            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, 
81, 96, 107, 108, 109, 110), (138, 2),  1,
-            null, null);
-            Table.States (113).Kernel := To_Vector ((0 => ((138, 2),  320,  0, 
(138, 2),  1)));
-            Table.States (113).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (138, 2),  1)));
-            Table.States (114).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (114), (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, 
81, 96, 107, 108, 109, 110), (209, 1),  1,
-            null, null);
-            Table.States (114).Kernel := To_Vector ((0 => ((209, 1),  322,  0, 
(209, 1),  1)));
-            Table.States (114).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (209, 1),  1)));
-            Table.States (115).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (115), (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, 81, 96, 107, 108,
-            109, 110), (301, 1),  1, null, null);
-            Table.States (115).Kernel := To_Vector ((0 => ((301, 1),  326,  0, 
(301, 1),  1)));
-            Table.States (115).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (301, 1),  1)));
-            Table.States (116).Action_List.Set_Capacity (41);
-            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, 
81, 96, 107, 108, 109, 110), (160, 15),  1,
-            null, null);
-            Table.States (116).Kernel := To_Vector ((0 => ((160, 15),  328,  
0, (160, 15),  1)));
-            Table.States (116).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (160, 15),  1)));
-            Table.States (117).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (117), (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, 
81, 96, 107, 108, 109, 110), (160, 16),  1,
-            null, null);
-            Table.States (117).Kernel := To_Vector ((0 => ((160, 16),  334,  
0, (160, 16),  1)));
-            Table.States (117).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (160, 16),  1)));
-            Table.States (118).Action_List.Set_Capacity (40);
-            Add_Action (Table.States (118), (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, 81, 
96, 107, 108, 109, 110), (145, 0),  1,
-            null, null);
-            Table.States (118).Kernel := To_Vector ((0 => ((145, 0),  335,  0, 
(145, 0),  1)));
-            Table.States (118).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (145, 0),  1)));
-            Table.States (119).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (119), 21, Reduce, (119, 1),  0, null, 
null);
-            Add_Action (Table.States (119), 76, (118, 0), 252);
-            Add_Conflict (Table.States (119), 76, (119, 1),  0, null, null);
-            Add_Action (Table.States (119), 99, Reduce, (119, 1),  0, null, 
null);
-            Table.States (119).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (119), 118, 253);
-            Add_Goto (Table.States (119), 119, 254);
-            Table.States (119).Kernel := To_Vector ((((116, 0),  107,  3, 
(2147483647, 0),  0), ((116, 1),  107,  1,
-            (2147483647, 0),  0)));
-            Table.States (119).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (119, 1),  0)));
-            Table.States (120).Action_List.Set_Capacity (64);
-            Add_Action (Table.States (120), (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, 73, 74, 75, 
76, 78, 79, 80, 81, 82, 85, 86, 87, 88, 89,
-            90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 
107, 108, 109), (242, 5),  1,
-            name_5'Access, name_5_check'Access);
-            Table.States (120).Kernel := To_Vector ((0 => ((242, 5),  107,  0, 
(242, 5),  1)));
-            Table.States (120).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (242, 5),  1)));
-            Table.States (121).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (121), 76, (118, 0), 237);
-            Add_Action (Table.States (121), 87, (296, 0), 239);
-            Add_Action (Table.States (121), 99, (306, 8), 255);
-            Add_Action (Table.States (121), 104, (325, 0), 241);
-            Add_Action (Table.States (121), 105, (325, 1), 242);
-            Table.States (121).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (121), 118, 243);
-            Add_Goto (Table.States (121), 325, 244);
-            Table.States (121).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((242, 0),  242,  5,
-            (2147483647, 0),  0), ((242, 1),  242,  2, (2147483647, 0),  0), 
((275, 0),  242,  3, (2147483647, 0),  0),
-            ((296, 0),  242,  2, (2147483647, 0),  0), ((296, 1),  242,  2, 
(2147483647, 0),  0), ((296, 2),  242,  2,
-            (2147483647, 0),  0), ((296, 3),  242,  2, (2147483647, 0),  0), 
((306, 8),  242,  1, (2147483647, 0),
-            0)));
-            Table.States (121).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (306, 8),  99, 255)));
-            Table.States (122).Action_List.Set_Capacity (9);
-            Add_Action (Table.States (122), 39, (261, 4), 123);
-            Add_Action (Table.States (122), 41, (261, 1), 125);
-            Add_Action (Table.States (122), 76, (120, 0), 127);
-            Add_Action (Table.States (122), 77, (120, 5), 128);
-            Add_Action (Table.States (122), 81, (242, 8), 31);
-            Add_Action (Table.States (122), 106, (261, 0), 131);
-            Add_Action (Table.States (122), 107, (242, 5), 120);
-            Add_Action (Table.States (122), 108, (242, 7), 34);
-            Add_Action (Table.States (122), 109, (242, 6), 35);
-            Table.States (122).Goto_List.Set_Capacity (6);
-            Add_Goto (Table.States (122), 120, 132);
-            Add_Goto (Table.States (122), 131, 42);
-            Add_Goto (Table.States (122), 242, 136);
-            Add_Goto (Table.States (122), 261, 256);
-            Add_Goto (Table.States (122), 275, 93);
-            Add_Goto (Table.States (122), 296, 98);
-            Table.States (122).Kernel := To_Vector ((0 => ((200, 2),  3,  1, 
(2147483647, 0),  0)));
-            Table.States (122).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (261, 0),  106, 131)));
-            Table.States (123).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (123), 81, (242, 8), 31);
-            Add_Action (Table.States (123), 107, (242, 5), 120);
-            Add_Action (Table.States (123), 108, (242, 7), 34);
-            Add_Action (Table.States (123), 109, (242, 6), 35);
-            Table.States (123).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (123), 131, 42);
-            Add_Goto (Table.States (123), 242, 257);
-            Add_Goto (Table.States (123), 275, 93);
-            Add_Goto (Table.States (123), 296, 98);
-            Table.States (123).Kernel := To_Vector ((0 => ((261, 4),  39,  1, 
(2147483647, 0),  0)));
-            Table.States (123).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (124).Action_List.Set_Capacity (9);
-            Add_Action (Table.States (124), 39, (261, 4), 123);
-            Add_Action (Table.States (124), 41, (261, 1), 125);
-            Add_Action (Table.States (124), 76, (120, 0), 127);
-            Add_Action (Table.States (124), 77, (120, 5), 128);
-            Add_Action (Table.States (124), 81, (242, 8), 31);
-            Add_Action (Table.States (124), 106, (261, 0), 131);
-            Add_Action (Table.States (124), 107, (242, 5), 120);
-            Add_Action (Table.States (124), 108, (242, 7), 34);
-            Add_Action (Table.States (124), 109, (242, 6), 35);
-            Table.States (124).Goto_List.Set_Capacity (6);
-            Add_Goto (Table.States (124), 120, 132);
-            Add_Goto (Table.States (124), 131, 42);
-            Add_Goto (Table.States (124), 242, 136);
-            Add_Goto (Table.States (124), 261, 258);
-            Add_Goto (Table.States (124), 275, 93);
-            Add_Goto (Table.States (124), 296, 98);
-            Table.States (124).Kernel := To_Vector ((0 => ((200, 3),  40,  1, 
(2147483647, 0),  0)));
-            Table.States (124).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (261, 0),  106, 131)));
-            Table.States (125).Action_List.Set_Capacity (37);
-            Add_Action (Table.States (125), (10, 20, 21, 22, 23, 33, 35, 37, 
38, 40, 42, 43, 53, 55, 68, 74, 75, 78,
-            79, 80, 82, 85, 86, 88, 89, 90, 91, 92, 94, 95, 97, 98, 99, 100, 
101, 102, 103), (261, 1),  1, null, null);
-            Table.States (125).Kernel := To_Vector ((0 => ((261, 1),  41,  0, 
(261, 1),  1)));
-            Table.States (125).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (261, 1),  1)));
-            Table.States (126).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (126), 81, (242, 8), 31);
-            Add_Action (Table.States (126), 107, (242, 5), 120);
-            Add_Action (Table.States (126), 108, (242, 7), 34);
-            Add_Action (Table.States (126), 109, (242, 6), 35);
-            Table.States (126).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (126), 131, 42);
-            Add_Goto (Table.States (126), 242, 259);
-            Add_Goto (Table.States (126), 275, 93);
-            Add_Goto (Table.States (126), 296, 98);
-            Table.States (126).Kernel := To_Vector ((((278, 0),  52,  2, 
(2147483647, 0),  0), ((278, 1),  52,  1,
-            (2147483647, 0),  0)));
-            Table.States (126).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (127).Action_List.Set_Capacity (23);
-            Add_Action (Table.States (127), 3, (200, 2), 122);
-            Add_Action (Table.States (127), 15, (139, 0), 260);
-            Add_Action (Table.States (127), 28, (127, 6), 261);
-            Add_Action (Table.States (127), 32, (224, 0), 262);
-            Add_Action (Table.States (127), 39, (261, 4), 123);
-            Add_Action (Table.States (127), 40, (168, 1), 263);
-            Add_Action (Table.States (127), 41, (120, 1), 264);
-            Add_Action (Table.States (127), 44, (168, 3), 265);
-            Add_Action (Table.States (127), 52, (278, 0), 126);
-            Add_Action (Table.States (127), 74, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (127), 76, (120, 0), 127);
-            Add_Action (Table.States (127), 77, (120, 5), 128);
-            Add_Action (Table.States (127), 78, Reduce, (127, 5),  0, null, 
null);
-            Add_Action (Table.States (127), 81, (242, 8), 31);
-            Add_Action (Table.States (127), 82, Reduce, (169, 2),  0, null, 
null);
-            Add_Action (Table.States (127), 86, Reduce, (127, 5),  0, null, 
null);
-            Add_Action (Table.States (127), 90, Reduce, (169, 2),  0, null, 
null);
-            Add_Action (Table.States (127), 97, (333, 1), 129);
-            Add_Action (Table.States (127), 98, (333, 0), 130);
-            Add_Action (Table.States (127), 106, (261, 0), 131);
-            Add_Action (Table.States (127), 107, (242, 5), 120);
-            Add_Action (Table.States (127), 108, (242, 7), 34);
-            Add_Action (Table.States (127), 109, (127, 0), 266);
-            Table.States (127).Goto_List.Set_Capacity (29);
-            Add_Goto (Table.States (127), 120, 132);
-            Add_Goto (Table.States (127), 127, 267);
-            Add_Goto (Table.States (127), 128, 268);
-            Add_Goto (Table.States (127), 131, 42);
-            Add_Goto (Table.States (127), 139, 269);
-            Add_Goto (Table.States (127), 156, 270);
-            Add_Goto (Table.States (127), 168, 271);
-            Add_Goto (Table.States (127), 169, 272);
-            Add_Goto (Table.States (127), 194, 273);
-            Add_Goto (Table.States (127), 195, 274);
-            Add_Goto (Table.States (127), 200, 135);
-            Add_Goto (Table.States (127), 224, 275);
-            Add_Goto (Table.States (127), 242, 276);
-            Add_Goto (Table.States (127), 261, 137);
-            Add_Goto (Table.States (127), 275, 93);
-            Add_Goto (Table.States (127), 276, 277);
-            Add_Goto (Table.States (127), 278, 138);
-            Add_Goto (Table.States (127), 280, 278);
-            Add_Goto (Table.States (127), 285, 139);
-            Add_Goto (Table.States (127), 286, 140);
-            Add_Goto (Table.States (127), 287, 141);
-            Add_Goto (Table.States (127), 288, 142);
-            Add_Goto (Table.States (127), 289, 143);
-            Add_Goto (Table.States (127), 290, 144);
-            Add_Goto (Table.States (127), 296, 98);
-            Add_Goto (Table.States (127), 304, 279);
-            Add_Goto (Table.States (127), 323, 146);
-            Add_Goto (Table.States (127), 324, 147);
-            Add_Goto (Table.States (127), 333, 148);
-            Table.States (127).Kernel := To_Vector ((((120, 0),  76,  1, 
(2147483647, 0),  0), ((120, 1),  76,  3,
-            (2147483647, 0),  0), ((120, 2),  76,  4, (2147483647, 0),  0), 
((120, 3),  76,  2, (2147483647, 0),  0),
-            ((120, 4),  76,  4, (2147483647, 0),  0), ((120, 6),  76,  3, 
(2147483647, 0),  0)));
-            Table.States (127).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (128, 1),  0)));
-            Table.States (128).Action_List.Set_Capacity (14);
-            Add_Action (Table.States (128), 3, (200, 2), 122);
-            Add_Action (Table.States (128), 39, (261, 4), 123);
-            Add_Action (Table.States (128), 40, (200, 3), 124);
-            Add_Action (Table.States (128), 41, (261, 1), 125);
-            Add_Action (Table.States (128), 52, (278, 0), 126);
-            Add_Action (Table.States (128), 76, (120, 0), 127);
-            Add_Action (Table.States (128), 77, (120, 5), 128);
-            Add_Action (Table.States (128), 81, (242, 8), 31);
-            Add_Action (Table.States (128), 97, (333, 1), 129);
-            Add_Action (Table.States (128), 98, (333, 0), 130);
-            Add_Action (Table.States (128), 106, (261, 0), 131);
-            Add_Action (Table.States (128), 107, (242, 5), 120);
-            Add_Action (Table.States (128), 108, (242, 7), 34);
-            Add_Action (Table.States (128), 109, (242, 6), 35);
-            Table.States (128).Goto_List.Set_Capacity (19);
-            Add_Goto (Table.States (128), 120, 132);
-            Add_Goto (Table.States (128), 131, 42);
-            Add_Goto (Table.States (128), 194, 280);
-            Add_Goto (Table.States (128), 200, 135);
-            Add_Goto (Table.States (128), 242, 136);
-            Add_Goto (Table.States (128), 261, 137);
-            Add_Goto (Table.States (128), 275, 93);
-            Add_Goto (Table.States (128), 278, 138);
-            Add_Goto (Table.States (128), 285, 139);
-            Add_Goto (Table.States (128), 286, 140);
-            Add_Goto (Table.States (128), 287, 141);
-            Add_Goto (Table.States (128), 288, 142);
-            Add_Goto (Table.States (128), 289, 143);
-            Add_Goto (Table.States (128), 290, 144);
-            Add_Goto (Table.States (128), 296, 98);
-            Add_Goto (Table.States (128), 304, 145);
-            Add_Goto (Table.States (128), 323, 146);
-            Add_Goto (Table.States (128), 324, 147);
-            Add_Goto (Table.States (128), 333, 148);
-            Table.States (128).Kernel := To_Vector ((0 => ((120, 5),  77,  4, 
(2147483647, 0),  0)));
-            Table.States (128).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (261, 0),  106, 131)));
-            Table.States (129).Action_List.Set_Capacity (11);
-            Add_Action (Table.States (129), (3, 39, 40, 41, 76, 77, 81, 106, 
107, 108, 109), (333, 1),  1, null, null);
-            Table.States (129).Kernel := To_Vector ((0 => ((333, 1),  97,  0, 
(333, 1),  1)));
-            Table.States (129).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (333, 1),  1)));
-            Table.States (130).Action_List.Set_Capacity (11);
-            Add_Action (Table.States (130), (3, 39, 40, 41, 76, 77, 81, 106, 
107, 108, 109), (333, 0),  1, null, null);
-            Table.States (130).Kernel := To_Vector ((0 => ((333, 0),  98,  0, 
(333, 0),  1)));
-            Table.States (130).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (333, 0),  1)));
-            Table.States (131).Action_List.Set_Capacity (37);
-            Add_Action (Table.States (131), (10, 20, 21, 22, 23, 33, 35, 37, 
38, 40, 42, 43, 53, 55, 68, 74, 75, 78,
-            79, 80, 82, 85, 86, 88, 89, 90, 91, 92, 94, 95, 97, 98, 99, 100, 
101, 102, 103), (261, 0),  1,
-            primary_0'Access, null);
-            Table.States (131).Kernel := To_Vector ((0 => ((261, 0),  106,  0, 
(261, 0),  1)));
-            Table.States (131).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (261, 0),  1)));
-            Table.States (132).Action_List.Set_Capacity (37);
-            Add_Action (Table.States (132), (10, 20, 21, 22, 23, 33, 35, 37, 
38, 40, 42, 43, 53, 55, 68, 74, 75, 78,
-            79, 80, 82, 85, 86, 88, 89, 90, 91, 92, 94, 95, 97, 98, 99, 100, 
101, 102, 103), (261, 2),  1,
-            primary_2'Access, null);
-            Table.States (132).Kernel := To_Vector ((0 => ((261, 2),  120,  0, 
(261, 2),  1)));
-            Table.States (132).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (261, 2),  1)));
-            Table.States (133).Action_List.Set_Capacity (18);
-            Add_Action (Table.States (133), (10, 20, 21, 22, 23, 35, 37, 43, 
53, 68, 74, 75, 78, 79, 82, 86, 90, 99),
-            (195, 0),  1, null, null);
-            Table.States (133).Kernel := To_Vector ((0 => ((195, 0),  194,  0, 
(195, 0),  1)));
-            Table.States (133).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (195, 0),  1)));
-            Table.States (134).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (134), 35, (142, 0), 281);
-            Table.States (134).Kernel := To_Vector ((0 => ((142, 0),  195,  6, 
(2147483647, 0),  0)));
-            Table.States (134).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (142, 0),  35, 281)));
-         end Subr_2;
-         procedure Subr_3
-         is begin
-            Table.States (135).Action_List.Set_Capacity (36);
-            Add_Action (Table.States (135), (10, 20, 21, 22, 23, 33, 35, 37, 
38, 40, 42, 43, 53, 55, 68, 74, 75, 78,
-            79, 80, 82, 85, 86, 88, 89, 90, 91, 92, 94, 95, 97, 98, 99, 100, 
101, 102), (323, 1),  1, null, null);
-            Table.States (135).Kernel := To_Vector ((0 => ((323, 1),  200,  0, 
(323, 1),  1)));
-            Table.States (135).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (323, 1),  1)));
-            Table.States (136).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (136), 10, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (136), 20, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (136), 21, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (136), 22, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (136), 23, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (136), 33, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (136), 35, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (136), 37, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (136), 38, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (136), 40, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (136), 42, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (136), 43, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (136), 53, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (136), 55, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (136), 68, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (136), 74, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (136), 75, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (136), 76, (118, 0), 237);
-            Add_Action (Table.States (136), 78, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (136), 79, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (136), 80, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (136), 82, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (136), 85, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (136), 86, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (136), 87, (296, 0), 239);
-            Add_Action (Table.States (136), 88, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (136), 89, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (136), 90, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (136), 91, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (136), 92, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (136), 94, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (136), 95, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (136), 97, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (136), 98, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (136), 99, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (136), 100, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (136), 101, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (136), 102, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (136), 103, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (136), 104, (325, 0), 241);
-            Add_Action (Table.States (136), 105, (325, 1), 242);
-            Table.States (136).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (136), 118, 243);
-            Add_Goto (Table.States (136), 325, 244);
-            Table.States (136).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((242, 0),  242,  5,
-            (2147483647, 0),  0), ((242, 1),  242,  2, (2147483647, 0),  0), 
((261, 3),  242,  0, (261, 3),  1), ((275,
-            0),  242,  3, (2147483647, 0),  0), ((296, 0),  242,  2, 
(2147483647, 0),  0), ((296, 1),  242,  2,
-            (2147483647, 0),  0), ((296, 2),  242,  2, (2147483647, 0),  0), 
((296, 3),  242,  2, (2147483647, 0),
-            0)));
-            Table.States (136).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (261, 3),  1)));
-            Table.States (137).Action_List.Set_Capacity (37);
-            Add_Action (Table.States (137), 10, Reduce, (200, 1),  1, null, 
null);
-            Add_Action (Table.States (137), 20, Reduce, (200, 1),  1, null, 
null);
-            Add_Action (Table.States (137), 21, Reduce, (200, 1),  1, null, 
null);
-            Add_Action (Table.States (137), 22, Reduce, (200, 1),  1, null, 
null);
-            Add_Action (Table.States (137), 23, Reduce, (200, 1),  1, null, 
null);
-            Add_Action (Table.States (137), 33, Reduce, (200, 1),  1, null, 
null);
-            Add_Action (Table.States (137), 35, Reduce, (200, 1),  1, null, 
null);
-            Add_Action (Table.States (137), 37, Reduce, (200, 1),  1, null, 
null);
-            Add_Action (Table.States (137), 38, Reduce, (200, 1),  1, null, 
null);
-            Add_Action (Table.States (137), 40, Reduce, (200, 1),  1, null, 
null);
-            Add_Action (Table.States (137), 42, Reduce, (200, 1),  1, null, 
null);
-            Add_Action (Table.States (137), 43, Reduce, (200, 1),  1, null, 
null);
-            Add_Action (Table.States (137), 53, Reduce, (200, 1),  1, null, 
null);
-            Add_Action (Table.States (137), 55, Reduce, (200, 1),  1, null, 
null);
-            Add_Action (Table.States (137), 68, Reduce, (200, 1),  1, null, 
null);
-            Add_Action (Table.States (137), 74, Reduce, (200, 1),  1, null, 
null);
-            Add_Action (Table.States (137), 75, Reduce, (200, 1),  1, null, 
null);
-            Add_Action (Table.States (137), 78, Reduce, (200, 1),  1, null, 
null);
-            Add_Action (Table.States (137), 79, Reduce, (200, 1),  1, null, 
null);
-            Add_Action (Table.States (137), 80, Reduce, (200, 1),  1, null, 
null);
-            Add_Action (Table.States (137), 82, Reduce, (200, 1),  1, null, 
null);
-            Add_Action (Table.States (137), 85, Reduce, (200, 1),  1, null, 
null);
-            Add_Action (Table.States (137), 86, Reduce, (200, 1),  1, null, 
null);
-            Add_Action (Table.States (137), 88, Reduce, (200, 1),  1, null, 
null);
-            Add_Action (Table.States (137), 89, Reduce, (200, 1),  1, null, 
null);
-            Add_Action (Table.States (137), 90, Reduce, (200, 1),  1, null, 
null);
-            Add_Action (Table.States (137), 91, Reduce, (200, 1),  1, null, 
null);
-            Add_Action (Table.States (137), 92, Reduce, (200, 1),  1, null, 
null);
-            Add_Action (Table.States (137), 94, Reduce, (200, 1),  1, null, 
null);
-            Add_Action (Table.States (137), 95, Reduce, (200, 1),  1, null, 
null);
-            Add_Action (Table.States (137), 97, Reduce, (200, 1),  1, null, 
null);
-            Add_Action (Table.States (137), 98, Reduce, (200, 1),  1, null, 
null);
-            Add_Action (Table.States (137), 99, Reduce, (200, 1),  1, null, 
null);
-            Add_Action (Table.States (137), 100, Reduce, (200, 1),  1, null, 
null);
-            Add_Action (Table.States (137), 101, Reduce, (200, 1),  1, null, 
null);
-            Add_Action (Table.States (137), 102, Reduce, (200, 1),  1, null, 
null);
-            Add_Action (Table.States (137), 103, (200, 0), 282);
-            Table.States (137).Kernel := To_Vector ((((200, 0),  261,  2, 
(2147483647, 0),  0), ((200, 1),  261,  0,
-            (200, 1),  1)));
-            Table.States (137).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (200, 1),  1)));
-            Table.States (138).Action_List.Set_Capacity (18);
-            Add_Action (Table.States (138), (10, 20, 21, 22, 23, 35, 37, 43, 
53, 68, 74, 75, 78, 79, 82, 86, 90, 99),
-            (290, 4),  1, null, null);
-            Table.States (138).Kernel := To_Vector ((0 => ((290, 4),  278,  0, 
(290, 4),  1)));
-            Table.States (138).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (290, 4),  1)));
-            Table.States (139).Action_List.Set_Capacity (18);
-            Add_Action (Table.States (139), 10, (285, 0), 283);
-            Add_Conflict (Table.States (139), 10, (194, 1),  1, null, null);
-            Add_Action (Table.States (139), 20, Reduce, (194, 1),  1, null, 
null);
-            Add_Action (Table.States (139), 21, Reduce, (194, 1),  1, null, 
null);
-            Add_Action (Table.States (139), 22, Reduce, (194, 1),  1, null, 
null);
-            Add_Action (Table.States (139), 23, Reduce, (194, 1),  1, null, 
null);
-            Add_Action (Table.States (139), 35, Reduce, (194, 1),  1, null, 
null);
-            Add_Action (Table.States (139), 37, Reduce, (194, 1),  1, null, 
null);
-            Add_Action (Table.States (139), 43, Reduce, (194, 1),  1, null, 
null);
-            Add_Action (Table.States (139), 53, Reduce, (194, 1),  1, null, 
null);
-            Add_Action (Table.States (139), 68, Reduce, (194, 1),  1, null, 
null);
-            Add_Action (Table.States (139), 74, Reduce, (194, 1),  1, null, 
null);
-            Add_Action (Table.States (139), 75, Reduce, (194, 1),  1, null, 
null);
-            Add_Action (Table.States (139), 78, Reduce, (194, 1),  1, null, 
null);
-            Add_Action (Table.States (139), 79, Reduce, (194, 1),  1, null, 
null);
-            Add_Action (Table.States (139), 82, Reduce, (194, 1),  1, null, 
null);
-            Add_Action (Table.States (139), 86, Reduce, (194, 1),  1, null, 
null);
-            Add_Action (Table.States (139), 90, Reduce, (194, 1),  1, null, 
null);
-            Add_Action (Table.States (139), 99, Reduce, (194, 1),  1, null, 
null);
-            Table.States (139).Kernel := To_Vector ((((194, 1),  285,  0, 
(194, 1),  1), ((285, 0),  285,  2,
-            (2147483647, 0),  0)));
-            Table.States (139).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (194, 1),  1)));
-            Table.States (140).Action_List.Set_Capacity (18);
-            Add_Action (Table.States (140), 10, (286, 0), 284);
-            Add_Conflict (Table.States (140), 10, (194, 2),  1, null, null);
-            Add_Action (Table.States (140), 20, Reduce, (194, 2),  1, null, 
null);
-            Add_Action (Table.States (140), 21, Reduce, (194, 2),  1, null, 
null);
-            Add_Action (Table.States (140), 22, Reduce, (194, 2),  1, null, 
null);
-            Add_Action (Table.States (140), 23, Reduce, (194, 2),  1, null, 
null);
-            Add_Action (Table.States (140), 35, Reduce, (194, 2),  1, null, 
null);
-            Add_Action (Table.States (140), 37, Reduce, (194, 2),  1, null, 
null);
-            Add_Action (Table.States (140), 43, Reduce, (194, 2),  1, null, 
null);
-            Add_Action (Table.States (140), 53, Reduce, (194, 2),  1, null, 
null);
-            Add_Action (Table.States (140), 68, Reduce, (194, 2),  1, null, 
null);
-            Add_Action (Table.States (140), 74, Reduce, (194, 2),  1, null, 
null);
-            Add_Action (Table.States (140), 75, Reduce, (194, 2),  1, null, 
null);
-            Add_Action (Table.States (140), 78, Reduce, (194, 2),  1, null, 
null);
-            Add_Action (Table.States (140), 79, Reduce, (194, 2),  1, null, 
null);
-            Add_Action (Table.States (140), 82, Reduce, (194, 2),  1, null, 
null);
-            Add_Action (Table.States (140), 86, Reduce, (194, 2),  1, null, 
null);
-            Add_Action (Table.States (140), 90, Reduce, (194, 2),  1, null, 
null);
-            Add_Action (Table.States (140), 99, Reduce, (194, 2),  1, null, 
null);
-            Table.States (140).Kernel := To_Vector ((((194, 2),  286,  0, 
(194, 2),  1), ((286, 0),  286,  3,
-            (2147483647, 0),  0)));
-            Table.States (140).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (194, 2),  1)));
-            Table.States (141).Action_List.Set_Capacity (18);
-            Add_Action (Table.States (141), 10, Reduce, (194, 3),  1, null, 
null);
-            Add_Action (Table.States (141), 20, Reduce, (194, 3),  1, null, 
null);
-            Add_Action (Table.States (141), 21, Reduce, (194, 3),  1, null, 
null);
-            Add_Action (Table.States (141), 22, Reduce, (194, 3),  1, null, 
null);
-            Add_Action (Table.States (141), 23, Reduce, (194, 3),  1, null, 
null);
-            Add_Action (Table.States (141), 35, Reduce, (194, 3),  1, null, 
null);
-            Add_Action (Table.States (141), 37, Reduce, (194, 3),  1, null, 
null);
-            Add_Action (Table.States (141), 43, (287, 0), 285);
-            Add_Conflict (Table.States (141), 43, (194, 3),  1, null, null);
-            Add_Action (Table.States (141), 53, Reduce, (194, 3),  1, null, 
null);
-            Add_Action (Table.States (141), 68, Reduce, (194, 3),  1, null, 
null);
-            Add_Action (Table.States (141), 74, Reduce, (194, 3),  1, null, 
null);
-            Add_Action (Table.States (141), 75, Reduce, (194, 3),  1, null, 
null);
-            Add_Action (Table.States (141), 78, Reduce, (194, 3),  1, null, 
null);
-            Add_Action (Table.States (141), 79, Reduce, (194, 3),  1, null, 
null);
-            Add_Action (Table.States (141), 82, Reduce, (194, 3),  1, null, 
null);
-            Add_Action (Table.States (141), 86, Reduce, (194, 3),  1, null, 
null);
-            Add_Action (Table.States (141), 90, Reduce, (194, 3),  1, null, 
null);
-            Add_Action (Table.States (141), 99, Reduce, (194, 3),  1, null, 
null);
-            Table.States (141).Kernel := To_Vector ((((194, 3),  287,  0, 
(194, 3),  1), ((287, 0),  287,  2,
-            (2147483647, 0),  0)));
-            Table.States (141).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (194, 3),  1)));
-            Table.States (142).Action_List.Set_Capacity (18);
-            Add_Action (Table.States (142), 10, Reduce, (194, 4),  1, null, 
null);
-            Add_Action (Table.States (142), 20, Reduce, (194, 4),  1, null, 
null);
-            Add_Action (Table.States (142), 21, Reduce, (194, 4),  1, null, 
null);
-            Add_Action (Table.States (142), 22, Reduce, (194, 4),  1, null, 
null);
-            Add_Action (Table.States (142), 23, Reduce, (194, 4),  1, null, 
null);
-            Add_Action (Table.States (142), 35, Reduce, (194, 4),  1, null, 
null);
-            Add_Action (Table.States (142), 37, Reduce, (194, 4),  1, null, 
null);
-            Add_Action (Table.States (142), 43, (288, 0), 286);
-            Add_Conflict (Table.States (142), 43, (194, 4),  1, null, null);
-            Add_Action (Table.States (142), 53, Reduce, (194, 4),  1, null, 
null);
-            Add_Action (Table.States (142), 68, Reduce, (194, 4),  1, null, 
null);
-            Add_Action (Table.States (142), 74, Reduce, (194, 4),  1, null, 
null);
-            Add_Action (Table.States (142), 75, Reduce, (194, 4),  1, null, 
null);
-            Add_Action (Table.States (142), 78, Reduce, (194, 4),  1, null, 
null);
-            Add_Action (Table.States (142), 79, Reduce, (194, 4),  1, null, 
null);
-            Add_Action (Table.States (142), 82, Reduce, (194, 4),  1, null, 
null);
-            Add_Action (Table.States (142), 86, Reduce, (194, 4),  1, null, 
null);
-            Add_Action (Table.States (142), 90, Reduce, (194, 4),  1, null, 
null);
-            Add_Action (Table.States (142), 99, Reduce, (194, 4),  1, null, 
null);
-            Table.States (142).Kernel := To_Vector ((((194, 4),  288,  0, 
(194, 4),  1), ((288, 0),  288,  3,
-            (2147483647, 0),  0)));
-            Table.States (142).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (194, 4),  1)));
-            Table.States (143).Action_List.Set_Capacity (18);
-            Add_Action (Table.States (143), 10, Reduce, (194, 5),  1, null, 
null);
-            Add_Action (Table.States (143), 20, Reduce, (194, 5),  1, null, 
null);
-            Add_Action (Table.States (143), 21, Reduce, (194, 5),  1, null, 
null);
-            Add_Action (Table.States (143), 22, Reduce, (194, 5),  1, null, 
null);
-            Add_Action (Table.States (143), 23, Reduce, (194, 5),  1, null, 
null);
-            Add_Action (Table.States (143), 35, Reduce, (194, 5),  1, null, 
null);
-            Add_Action (Table.States (143), 37, Reduce, (194, 5),  1, null, 
null);
-            Add_Action (Table.States (143), 43, Reduce, (194, 5),  1, null, 
null);
-            Add_Action (Table.States (143), 53, Reduce, (194, 5),  1, null, 
null);
-            Add_Action (Table.States (143), 68, Reduce, (194, 5),  1, null, 
null);
-            Add_Action (Table.States (143), 74, Reduce, (194, 5),  1, null, 
null);
-            Add_Action (Table.States (143), 75, (289, 0), 287);
-            Add_Conflict (Table.States (143), 75, (194, 5),  1, null, null);
-            Add_Action (Table.States (143), 78, Reduce, (194, 5),  1, null, 
null);
-            Add_Action (Table.States (143), 79, Reduce, (194, 5),  1, null, 
null);
-            Add_Action (Table.States (143), 82, Reduce, (194, 5),  1, null, 
null);
-            Add_Action (Table.States (143), 86, Reduce, (194, 5),  1, null, 
null);
-            Add_Action (Table.States (143), 90, Reduce, (194, 5),  1, null, 
null);
-            Add_Action (Table.States (143), 99, Reduce, (194, 5),  1, null, 
null);
-            Table.States (143).Kernel := To_Vector ((((194, 5),  289,  0, 
(194, 5),  1), ((289, 0),  289,  2,
-            (2147483647, 0),  0)));
-            Table.States (143).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (194, 5),  1)));
-            Table.States (144).Action_List.Set_Capacity (18);
-            Add_Action (Table.States (144), 10, (285, 1), 288);
-            Add_Conflict (Table.States (144), 10, (194, 0),  1, null, null);
-            Add_Action (Table.States (144), 20, Reduce, (194, 0),  1, null, 
null);
-            Add_Action (Table.States (144), 21, Reduce, (194, 0),  1, null, 
null);
-            Add_Action (Table.States (144), 22, Reduce, (194, 0),  1, null, 
null);
-            Add_Action (Table.States (144), 23, Reduce, (194, 0),  1, null, 
null);
-            Add_Action (Table.States (144), 35, Reduce, (194, 0),  1, null, 
null);
-            Add_Action (Table.States (144), 37, Reduce, (194, 0),  1, null, 
null);
-            Add_Action (Table.States (144), 43, (287, 1), 289);
-            Add_Conflict (Table.States (144), 43, (194, 0),  1, null, null);
-            Add_Action (Table.States (144), 53, Reduce, (194, 0),  1, null, 
null);
-            Add_Action (Table.States (144), 68, Reduce, (194, 0),  1, null, 
null);
-            Add_Action (Table.States (144), 74, Reduce, (194, 0),  1, null, 
null);
-            Add_Action (Table.States (144), 75, (289, 1), 290);
-            Add_Conflict (Table.States (144), 75, (194, 0),  1, null, null);
-            Add_Action (Table.States (144), 78, Reduce, (194, 0),  1, null, 
null);
-            Add_Action (Table.States (144), 79, Reduce, (194, 0),  1, null, 
null);
-            Add_Action (Table.States (144), 82, Reduce, (194, 0),  1, null, 
null);
-            Add_Action (Table.States (144), 86, Reduce, (194, 0),  1, null, 
null);
-            Add_Action (Table.States (144), 90, Reduce, (194, 0),  1, null, 
null);
-            Add_Action (Table.States (144), 99, Reduce, (194, 0),  1, null, 
null);
-            Table.States (144).Kernel := To_Vector ((((194, 0),  290,  0, 
(194, 0),  1), ((285, 1),  290,  2,
-            (2147483647, 0),  0), ((286, 1),  290,  3, (2147483647, 0),  0), 
((287, 1),  290,  2, (2147483647, 0),  0),
-            ((288, 1),  290,  3, (2147483647, 0),  0), ((289, 1),  290,  2, 
(2147483647, 0),  0)));
-            Table.States (144).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (194, 0),  1)));
-            Table.States (145).Action_List.Set_Capacity (26);
-            Add_Action (Table.States (145), 10, Reduce, (290, 3),  1, null, 
null);
-            Add_Action (Table.States (145), 20, Reduce, (290, 3),  1, null, 
null);
-            Add_Action (Table.States (145), 21, Reduce, (290, 3),  1, null, 
null);
-            Add_Action (Table.States (145), 22, Reduce, (290, 3),  1, null, 
null);
-            Add_Action (Table.States (145), 23, Reduce, (290, 3),  1, null, 
null);
-            Add_Action (Table.States (145), 33, (290, 1), 291);
-            Add_Action (Table.States (145), 35, Reduce, (290, 3),  1, null, 
null);
-            Add_Action (Table.States (145), 37, Reduce, (290, 3),  1, null, 
null);
-            Add_Action (Table.States (145), 40, (290, 0), 292);
-            Add_Action (Table.States (145), 43, Reduce, (290, 3),  1, null, 
null);
-            Add_Action (Table.States (145), 53, Reduce, (290, 3),  1, null, 
null);
-            Add_Action (Table.States (145), 68, Reduce, (290, 3),  1, null, 
null);
-            Add_Action (Table.States (145), 74, Reduce, (290, 3),  1, null, 
null);
-            Add_Action (Table.States (145), 75, Reduce, (290, 3),  1, null, 
null);
-            Add_Action (Table.States (145), 78, Reduce, (290, 3),  1, null, 
null);
-            Add_Action (Table.States (145), 79, Reduce, (290, 3),  1, null, 
null);
-            Add_Action (Table.States (145), 82, Reduce, (290, 3),  1, null, 
null);
-            Add_Action (Table.States (145), 86, Reduce, (290, 3),  1, null, 
null);
-            Add_Action (Table.States (145), 89, (291, 0), 293);
-            Add_Action (Table.States (145), 90, Reduce, (290, 3),  1, null, 
null);
-            Add_Action (Table.States (145), 91, (291, 4), 294);
-            Add_Action (Table.States (145), 92, (291, 5), 295);
-            Add_Action (Table.States (145), 94, (291, 2), 296);
-            Add_Action (Table.States (145), 95, (291, 3), 297);
-            Add_Action (Table.States (145), 99, Reduce, (290, 3),  1, null, 
null);
-            Add_Action (Table.States (145), 101, (291, 1), 298);
-            Table.States (145).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (145), 291, 299);
-            Table.States (145).Kernel := To_Vector ((((290, 0),  304,  3, 
(2147483647, 0),  0), ((290, 1),  304,  2,
-            (2147483647, 0),  0), ((290, 2),  304,  2, (2147483647, 0),  0), 
((290, 3),  304,  0, (290, 3),  1)));
-            Table.States (145).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (290, 3),  1)));
-            Table.States (146).Action_List.Set_Capacity (36);
-            Add_Action (Table.States (146), 10, Reduce, (324, 1),  1, null, 
null);
-            Add_Action (Table.States (146), 20, Reduce, (324, 1),  1, null, 
null);
-            Add_Action (Table.States (146), 21, Reduce, (324, 1),  1, null, 
null);
-            Add_Action (Table.States (146), 22, Reduce, (324, 1),  1, null, 
null);
-            Add_Action (Table.States (146), 23, Reduce, (324, 1),  1, null, 
null);
-            Add_Action (Table.States (146), 33, Reduce, (324, 1),  1, null, 
null);
-            Add_Action (Table.States (146), 35, Reduce, (324, 1),  1, null, 
null);
-            Add_Action (Table.States (146), 37, Reduce, (324, 1),  1, null, 
null);
-            Add_Action (Table.States (146), 38, (240, 2), 300);
-            Add_Action (Table.States (146), 40, Reduce, (324, 1),  1, null, 
null);
-            Add_Action (Table.States (146), 42, Reduce, (324, 1),  1, null, 
null);
-            Add_Action (Table.States (146), 43, Reduce, (324, 1),  1, null, 
null);
-            Add_Action (Table.States (146), 53, Reduce, (324, 1),  1, null, 
null);
-            Add_Action (Table.States (146), 55, (240, 3), 301);
-            Add_Action (Table.States (146), 68, Reduce, (324, 1),  1, null, 
null);
-            Add_Action (Table.States (146), 74, Reduce, (324, 1),  1, null, 
null);
-            Add_Action (Table.States (146), 75, Reduce, (324, 1),  1, null, 
null);
-            Add_Action (Table.States (146), 78, Reduce, (324, 1),  1, null, 
null);
-            Add_Action (Table.States (146), 79, Reduce, (324, 1),  1, null, 
null);
-            Add_Action (Table.States (146), 80, Reduce, (324, 1),  1, null, 
null);
-            Add_Action (Table.States (146), 82, Reduce, (324, 1),  1, null, 
null);
-            Add_Action (Table.States (146), 85, Reduce, (324, 1),  1, null, 
null);
-            Add_Action (Table.States (146), 86, Reduce, (324, 1),  1, null, 
null);
-            Add_Action (Table.States (146), 88, Reduce, (324, 1),  1, null, 
null);
-            Add_Action (Table.States (146), 89, Reduce, (324, 1),  1, null, 
null);
-            Add_Action (Table.States (146), 90, Reduce, (324, 1),  1, null, 
null);
-            Add_Action (Table.States (146), 91, Reduce, (324, 1),  1, null, 
null);
-            Add_Action (Table.States (146), 92, Reduce, (324, 1),  1, null, 
null);
-            Add_Action (Table.States (146), 94, Reduce, (324, 1),  1, null, 
null);
-            Add_Action (Table.States (146), 95, Reduce, (324, 1),  1, null, 
null);
-            Add_Action (Table.States (146), 97, Reduce, (324, 1),  1, null, 
null);
-            Add_Action (Table.States (146), 98, Reduce, (324, 1),  1, null, 
null);
-            Add_Action (Table.States (146), 99, Reduce, (324, 1),  1, null, 
null);
-            Add_Action (Table.States (146), 100, (240, 1), 302);
-            Add_Action (Table.States (146), 101, Reduce, (324, 1),  1, null, 
null);
-            Add_Action (Table.States (146), 102, (240, 0), 303);
-            Table.States (146).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (146), 240, 304);
-            Table.States (146).Kernel := To_Vector ((((323, 0),  323,  2, 
(2147483647, 0),  0), ((324, 1),  323,  0,
-            (324, 1),  1)));
-            Table.States (146).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (324, 1),  1)));
-            Table.States (147).Action_List.Set_Capacity (32);
-            Add_Action (Table.States (147), 10, Reduce, (304, 1),  1, null, 
null);
-            Add_Action (Table.States (147), 20, Reduce, (304, 1),  1, null, 
null);
-            Add_Action (Table.States (147), 21, Reduce, (304, 1),  1, null, 
null);
-            Add_Action (Table.States (147), 22, Reduce, (304, 1),  1, null, 
null);
-            Add_Action (Table.States (147), 23, Reduce, (304, 1),  1, null, 
null);
-            Add_Action (Table.States (147), 33, Reduce, (304, 1),  1, null, 
null);
-            Add_Action (Table.States (147), 35, Reduce, (304, 1),  1, null, 
null);
-            Add_Action (Table.States (147), 37, Reduce, (304, 1),  1, null, 
null);
-            Add_Action (Table.States (147), 40, Reduce, (304, 1),  1, null, 
null);
-            Add_Action (Table.States (147), 42, Reduce, (304, 1),  1, null, 
null);
-            Add_Action (Table.States (147), 43, Reduce, (304, 1),  1, null, 
null);
-            Add_Action (Table.States (147), 53, Reduce, (304, 1),  1, null, 
null);
-            Add_Action (Table.States (147), 68, Reduce, (304, 1),  1, null, 
null);
-            Add_Action (Table.States (147), 74, Reduce, (304, 1),  1, null, 
null);
-            Add_Action (Table.States (147), 75, Reduce, (304, 1),  1, null, 
null);
-            Add_Action (Table.States (147), 78, Reduce, (304, 1),  1, null, 
null);
-            Add_Action (Table.States (147), 79, Reduce, (304, 1),  1, null, 
null);
-            Add_Action (Table.States (147), 80, (133, 2), 305);
-            Add_Action (Table.States (147), 82, Reduce, (304, 1),  1, null, 
null);
-            Add_Action (Table.States (147), 85, Reduce, (304, 1),  1, null, 
null);
-            Add_Action (Table.States (147), 86, Reduce, (304, 1),  1, null, 
null);
-            Add_Action (Table.States (147), 88, Reduce, (304, 1),  1, null, 
null);
-            Add_Action (Table.States (147), 89, Reduce, (304, 1),  1, null, 
null);
-            Add_Action (Table.States (147), 90, Reduce, (304, 1),  1, null, 
null);
-            Add_Action (Table.States (147), 91, Reduce, (304, 1),  1, null, 
null);
-            Add_Action (Table.States (147), 92, Reduce, (304, 1),  1, null, 
null);
-            Add_Action (Table.States (147), 94, Reduce, (304, 1),  1, null, 
null);
-            Add_Action (Table.States (147), 95, Reduce, (304, 1),  1, null, 
null);
-            Add_Action (Table.States (147), 97, (133, 1), 306);
-            Add_Action (Table.States (147), 98, (133, 0), 307);
-            Add_Action (Table.States (147), 99, Reduce, (304, 1),  1, null, 
null);
-            Add_Action (Table.States (147), 101, Reduce, (304, 1),  1, null, 
null);
-            Table.States (147).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (147), 133, 308);
-            Table.States (147).Kernel := To_Vector ((((304, 1),  324,  0, 
(304, 1),  1), ((324, 0),  324,  2,
-            (2147483647, 0),  0)));
-            Table.States (147).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (304, 1),  1)));
-            Table.States (148).Action_List.Set_Capacity (11);
-            Add_Action (Table.States (148), 3, (200, 2), 122);
-            Add_Action (Table.States (148), 39, (261, 4), 123);
-            Add_Action (Table.States (148), 40, (200, 3), 124);
-            Add_Action (Table.States (148), 41, (261, 1), 125);
-            Add_Action (Table.States (148), 76, (120, 0), 127);
-            Add_Action (Table.States (148), 77, (120, 5), 128);
-            Add_Action (Table.States (148), 81, (242, 8), 31);
-            Add_Action (Table.States (148), 106, (261, 0), 131);
-            Add_Action (Table.States (148), 107, (242, 5), 120);
-            Add_Action (Table.States (148), 108, (242, 7), 34);
-            Add_Action (Table.States (148), 109, (242, 6), 35);
-            Table.States (148).Goto_List.Set_Capacity (9);
-            Add_Goto (Table.States (148), 120, 132);
-            Add_Goto (Table.States (148), 131, 42);
-            Add_Goto (Table.States (148), 200, 135);
-            Add_Goto (Table.States (148), 242, 136);
-            Add_Goto (Table.States (148), 261, 137);
-            Add_Goto (Table.States (148), 275, 93);
-            Add_Goto (Table.States (148), 296, 98);
-            Add_Goto (Table.States (148), 323, 146);
-            Add_Goto (Table.States (148), 324, 309);
-            Table.States (148).Kernel := To_Vector ((0 => ((304, 0),  333,  1, 
(2147483647, 0),  0)));
-            Table.States (148).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (261, 0),  106, 131)));
-            Table.States (149).Action_List.Set_Capacity (15);
-            Add_Action (Table.States (149), 3, (200, 2), 122);
-            Add_Action (Table.States (149), 39, (261, 4), 123);
-            Add_Action (Table.States (149), 40, (200, 3), 124);
-            Add_Action (Table.States (149), 41, (261, 1), 125);
-            Add_Action (Table.States (149), 52, (278, 0), 126);
-            Add_Action (Table.States (149), 76, (120, 0), 127);
-            Add_Action (Table.States (149), 77, (120, 5), 128);
-            Add_Action (Table.States (149), 81, (242, 8), 31);
-            Add_Action (Table.States (149), 97, (333, 1), 129);
-            Add_Action (Table.States (149), 98, (333, 0), 130);
-            Add_Action (Table.States (149), 99, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (149), 106, (261, 0), 131);
-            Add_Action (Table.States (149), 107, (242, 5), 120);
-            Add_Action (Table.States (149), 108, (242, 7), 34);
-            Add_Action (Table.States (149), 109, (242, 6), 35);
-            Table.States (149).Goto_List.Set_Capacity (20);
-            Add_Goto (Table.States (149), 120, 132);
-            Add_Goto (Table.States (149), 131, 42);
-            Add_Goto (Table.States (149), 194, 133);
-            Add_Goto (Table.States (149), 195, 310);
-            Add_Goto (Table.States (149), 200, 135);
-            Add_Goto (Table.States (149), 242, 136);
-            Add_Goto (Table.States (149), 261, 137);
-            Add_Goto (Table.States (149), 275, 93);
-            Add_Goto (Table.States (149), 278, 138);
-            Add_Goto (Table.States (149), 285, 139);
-            Add_Goto (Table.States (149), 286, 140);
-            Add_Goto (Table.States (149), 287, 141);
-            Add_Goto (Table.States (149), 288, 142);
-            Add_Goto (Table.States (149), 289, 143);
-            Add_Goto (Table.States (149), 290, 144);
-            Add_Goto (Table.States (149), 296, 98);
-            Add_Goto (Table.States (149), 304, 145);
-            Add_Goto (Table.States (149), 323, 146);
-            Add_Goto (Table.States (149), 324, 147);
-            Add_Goto (Table.States (149), 333, 148);
-            Table.States (149).Kernel := To_Vector ((0 => ((164, 0),  70,  1, 
(2147483647, 0),  0)));
-            Table.States (149).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (195, 1),  0)));
-            Table.States (150).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (150), 99, (164, 1), 311);
-            Table.States (150).Kernel := To_Vector ((0 => ((164, 1),  195,  1, 
(2147483647, 0),  0)));
-            Table.States (150).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (164, 1),  99, 311)));
-            Table.States (151).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (151), (72, 99), (223, 0),  1, null, 
identifier_opt_0_check'Access);
-            Table.States (151).Kernel := To_Vector ((0 => ((223, 0),  107,  0, 
(223, 0),  1)));
-            Table.States (151).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (223, 0),  1)));
-            Table.States (152).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (152), 72, (193, 0), 312);
-            Add_Action (Table.States (152), 99, (193, 1), 313);
-            Table.States (152).Kernel := To_Vector ((((193, 0),  223,  2, 
(2147483647, 0),  0), ((193, 1),  223,  1,
-            (2147483647, 0),  0)));
-            Table.States (152).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (193, 1),  99, 313)));
-            Table.States (153).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (153), 33, (233, 2), 314);
-            Add_Action (Table.States (153), 42, (233, 3), 315);
-            Add_Action (Table.States (153), 71, Reduce, (166, 0),  1, null, 
null);
-            Add_Conflict (Table.States (153), 71, (242, 5),  1, name_5'Access, 
name_5_check'Access);
-            Add_Action (Table.States (153), 76, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (153), 84, (233, 0), 316);
-            Add_Action (Table.States (153), 87, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (153), 104, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (153), 105, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Table.States (153).Kernel := To_Vector ((((166, 0),  107,  0, 
(166, 0),  1), ((233, 0),  107,  5,
-            (2147483647, 0),  0), ((233, 1),  107,  4, (2147483647, 0),  0), 
((233, 2),  107,  3, (2147483647, 0),  0),
-            ((233, 3),  107,  3, (2147483647, 0),  0), ((233, 4),  107,  2, 
(2147483647, 0),  0), ((233, 5),  107,  2,
-            (2147483647, 0),  0), ((242, 5),  107,  0, (242, 5),  1)));
-            Table.States (153).Minimal_Complete_Actions := To_Vector 
(((Reduce, (166, 0),  1), (Shift, (233, 3),  42,
-            315), (Shift, (233, 2),  33, 314), (Reduce, (242, 5),  1)));
-            Table.States (154).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (154), 71, Reduce, (166, 1),  1, null, 
null);
-            Add_Conflict (Table.States (154), 71, (242, 7),  1, null, 
name_7_check'Access);
-            Add_Action (Table.States (154), 76, Reduce, (242, 7),  1, null, 
name_7_check'Access);
-            Add_Action (Table.States (154), 87, Reduce, (242, 7),  1, null, 
name_7_check'Access);
-            Add_Action (Table.States (154), 104, Reduce, (242, 7),  1, null, 
name_7_check'Access);
-            Add_Action (Table.States (154), 105, Reduce, (242, 7),  1, null, 
name_7_check'Access);
-            Table.States (154).Kernel := To_Vector ((((166, 1),  108,  0, 
(166, 1),  1), ((242, 7),  108,  0, (242, 7),
-             1)));
-            Table.States (154).Minimal_Complete_Actions := To_Vector 
(((Reduce, (166, 1),  1), (Reduce, (242, 7),
-            1)));
-            Table.States (155).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (155), 71, (124, 0), 317);
-            Add_Conflict (Table.States (155), 71, (242, 3),  1, null, null);
-            Add_Action (Table.States (155), 76, Reduce, (242, 3),  1, null, 
null);
-            Add_Action (Table.States (155), 87, Reduce, (242, 3),  1, null, 
null);
-            Add_Action (Table.States (155), 104, Reduce, (242, 3),  1, null, 
null);
-            Add_Action (Table.States (155), 105, Reduce, (242, 3),  1, null, 
null);
-            Table.States (155).Kernel := To_Vector ((((124, 0),  131,  2, 
(2147483647, 0),  0), ((242, 3),  131,  0,
-            (242, 3),  1)));
-            Table.States (155).Minimal_Complete_Actions := To_Vector (((Shift, 
(124, 0),  71, 317), (Reduce, (242, 3),
-            1)));
-            Table.States (156).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (156), 71, (130, 0), 318);
-            Table.States (156).Kernel := To_Vector ((0 => ((130, 0),  166,  3, 
(2147483647, 0),  0)));
-            Table.States (156).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (130, 0),  71, 318)));
-            Table.States (157).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (157), (1 =>  37), (234, 0),  1, null, 
null);
-            Table.States (157).Kernel := To_Vector ((0 => ((234, 0),  233,  0, 
(234, 0),  1)));
-            Table.States (157).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (234, 0),  1)));
-            Table.States (158).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (158), (1 =>  37), (232, 1),  2, 
iteration_scheme_1'Access, null);
-            Table.States (158).Kernel := To_Vector ((0 => ((232, 1),  234,  0, 
(232, 1),  2)));
-            Table.States (158).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (232, 1),  2)));
-            Table.States (159).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (159), 71, (185, 0), 319);
-            Add_Action (Table.States (159), 76, (118, 0), 237);
-            Add_Action (Table.States (159), 87, (296, 0), 239);
-            Add_Action (Table.States (159), 104, (325, 0), 241);
-            Add_Action (Table.States (159), 105, (325, 1), 242);
-            Table.States (159).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (159), 118, 243);
-            Add_Goto (Table.States (159), 325, 244);
-            Table.States (159).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((185, 0),  242,  4,
-            (2147483647, 0),  0), ((242, 0),  242,  5, (2147483647, 0),  0), 
((242, 1),  242,  2, (2147483647, 0),  0),
-            ((275, 0),  242,  3, (2147483647, 0),  0), ((284, 0),  242,  13, 
(2147483647, 0),  0), ((296, 0),  242,  2,
-            (2147483647, 0),  0), ((296, 1),  242,  2, (2147483647, 0),  0), 
((296, 2),  242,  2, (2147483647, 0),  0),
-            ((296, 3),  242,  2, (2147483647, 0),  0)));
-            Table.States (159).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (185, 0),  71, 319)));
-            Table.States (160).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (160), 58, (294, 0), 320);
-            Add_Action (Table.States (160), 76, (118, 0), 321);
-            Add_Action (Table.States (160), 87, (296, 0), 239);
-            Add_Action (Table.States (160), 104, (325, 0), 241);
-            Add_Action (Table.States (160), 105, (325, 1), 242);
-            Table.States (160).Goto_List.Set_Capacity (5);
-            Add_Goto (Table.States (160), 118, 243);
-            Add_Goto (Table.States (160), 202, 322);
-            Add_Goto (Table.States (160), 255, 323);
-            Add_Goto (Table.States (160), 294, 324);
-            Add_Goto (Table.States (160), 325, 244);
-            Table.States (160).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((210, 0),  242,  1,
-            (2147483647, 0),  0), ((242, 0),  242,  5, (2147483647, 0),  0), 
((242, 1),  242,  2, (2147483647, 0),  0),
-            ((275, 0),  242,  3, (2147483647, 0),  0), ((296, 0),  242,  2, 
(2147483647, 0),  0), ((296, 1),  242,  2,
-            (2147483647, 0),  0), ((296, 2),  242,  2, (2147483647, 0),  0), 
((296, 3),  242,  2, (2147483647, 0),
-            0)));
-            Table.States (160).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (294, 0),  58, 320)));
-            Table.States (161).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (161), 81, (242, 8), 31);
-            Add_Action (Table.States (161), 107, (242, 5), 120);
-            Add_Action (Table.States (161), 108, (242, 7), 34);
-            Add_Action (Table.States (161), 109, (242, 6), 35);
-            Table.States (161).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (161), 131, 42);
-            Add_Goto (Table.States (161), 242, 325);
-            Add_Goto (Table.States (161), 275, 93);
-            Add_Goto (Table.States (161), 296, 98);
-            Table.States (161).Kernel := To_Vector ((0 => ((218, 2),  29,  4, 
(2147483647, 0),  0)));
-            Table.States (161).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (162).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (162), 81, (242, 8), 31);
-            Add_Action (Table.States (162), 107, (242, 5), 120);
-            Add_Action (Table.States (162), 108, (242, 7), 34);
-            Add_Action (Table.States (162), 109, (242, 6), 35);
-            Table.States (162).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (162), 131, 42);
-            Add_Goto (Table.States (162), 242, 326);
-            Add_Goto (Table.States (162), 275, 93);
-            Add_Goto (Table.States (162), 296, 98);
-            Table.States (162).Kernel := To_Vector ((0 => ((218, 0),  47,  4, 
(2147483647, 0),  0)));
-            Table.States (162).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (163).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (163), 81, (242, 8), 31);
-            Add_Action (Table.States (163), 107, (242, 5), 120);
-            Add_Action (Table.States (163), 108, (242, 7), 34);
-            Add_Action (Table.States (163), 109, (242, 6), 35);
-            Table.States (163).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (163), 131, 42);
-            Add_Goto (Table.States (163), 242, 327);
-            Add_Goto (Table.States (163), 275, 93);
-            Add_Goto (Table.States (163), 296, 98);
-            Table.States (163).Kernel := To_Vector ((0 => ((218, 1),  50,  4, 
(2147483647, 0),  0)));
-            Table.States (163).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (164).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (164), 107, (204, 0), 328);
-            Table.States (164).Kernel := To_Vector ((((204, 0),  69,  4, 
(2147483647, 0),  0), ((204, 1),  69,  4,
-            (2147483647, 0),  0), ((204, 2),  69,  2, (2147483647, 0),  0)));
-            Table.States (164).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (204, 0),  107, 328)));
-            Table.States (165).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (165), 29, (210, 0), 7);
-            Add_Action (Table.States (165), 47, (207, 0), 329);
-            Add_Action (Table.States (165), 50, (265, 0), 18);
-            Table.States (165).Goto_List.Set_Capacity (3);
-            Add_Goto (Table.States (165), 210, 62);
-            Add_Goto (Table.States (165), 265, 88);
-            Add_Goto (Table.States (165), 315, 330);
-            Table.States (165).Kernel := To_Vector ((((203, 0),  74,  6, 
(2147483647, 0),  0), ((203, 1),  74,  5,
-            (2147483647, 0),  0), ((203, 2),  74,  5, (2147483647, 0),  0), 
((203, 3),  74,  3, (2147483647, 0),  0),
-            ((207, 0),  74,  6, (2147483647, 0),  0)));
-            Table.States (165).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (265, 0),  50, 18)));
-            Table.States (166).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (166), (84, 86), (222, 1),  1, 
identifier_list_1'Access, null);
-            Table.States (166).Kernel := To_Vector ((0 => ((222, 1),  107,  0, 
(222, 1),  1)));
-            Table.States (166).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (222, 1),  1)));
-            Table.States (167).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (167), (29, 47, 48, 50, 69, 71, 74, 107), 
(215, 0),  1, null, null);
-            Table.States (167).Kernel := To_Vector ((0 => ((215, 0),  201,  0, 
(215, 0),  1)));
-            Table.States (167).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (215, 0),  1)));
-            Table.States (168).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (168), (29, 47, 48, 50, 69, 71, 74, 107), 
(215, 2),  1, null, null);
-            Table.States (168).Kernel := To_Vector ((0 => ((215, 2),  203,  0, 
(215, 2),  1)));
-            Table.States (168).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (215, 2),  1)));
-            Table.States (169).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (169), (29, 47, 48, 50, 69, 71, 74, 107), 
(215, 1),  1, null, null);
-            Table.States (169).Kernel := To_Vector ((0 => ((215, 1),  204,  0, 
(215, 1),  1)));
-            Table.States (169).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (215, 1),  1)));
-            Table.States (170).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (170), (29, 47, 48, 50, 69, 71, 74, 107), 
(215, 3),  1, null, null);
-            Table.States (170).Kernel := To_Vector ((0 => ((215, 3),  207,  0, 
(215, 3),  1)));
-            Table.States (170).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (215, 3),  1)));
-            Table.States (171).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (171), 29, Reduce, (213, 0),  2, 
generic_formal_part_0'Access, null);
-            Add_Action (Table.States (171), 47, Reduce, (213, 0),  2, 
generic_formal_part_0'Access, null);
-            Add_Action (Table.States (171), 48, (260, 0), 16);
-            Add_Action (Table.States (171), 50, Reduce, (213, 0),  2, 
generic_formal_part_0'Access, null);
-            Add_Action (Table.States (171), 69, (204, 0), 164);
-            Add_Action (Table.States (171), 71, (334, 0), 28);
-            Add_Action (Table.States (171), 74, (203, 0), 165);
-            Add_Action (Table.States (171), 107, (222, 1), 166);
-            Table.States (171).Goto_List.Set_Capacity (8);
-            Add_Goto (Table.States (171), 201, 167);
-            Add_Goto (Table.States (171), 203, 168);
-            Add_Goto (Table.States (171), 204, 169);
-            Add_Goto (Table.States (171), 207, 170);
-            Add_Goto (Table.States (171), 215, 331);
-            Add_Goto (Table.States (171), 222, 173);
-            Add_Goto (Table.States (171), 260, 174);
-            Add_Goto (Table.States (171), 334, 175);
-            Table.States (171).Kernel := To_Vector ((((213, 0),  214,  0, 
(213, 0),  2), ((214, 0),  214,  3,
-            (2147483647, 0),  0)));
-            Table.States (171).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (213, 0),  2)));
-            Table.States (172).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (172), (29, 47, 48, 50, 69, 71, 74, 107), 
(214, 1),  1, null, null);
-            Table.States (172).Kernel := To_Vector ((0 => ((214, 1),  215,  0, 
(214, 1),  1)));
-            Table.States (172).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (214, 1),  1)));
-            Table.States (173).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (173), 84, (201, 0), 332);
-            Add_Action (Table.States (173), 86, (222, 0), 236);
-            Table.States (173).Kernel := To_Vector ((((201, 0),  222,  4, 
(2147483647, 0),  0), ((201, 1),  222,  5,
-            (2147483647, 0),  0), ((201, 2),  222,  3, (2147483647, 0),  0), 
((201, 3),  222,  4, (2147483647, 0),  0),
-            ((222, 0),  222,  2, (2147483647, 0),  0)));
-            Table.States (173).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (201, 0),  84, 332)));
-         end Subr_3;
-         procedure Subr_4
-         is begin
-            Table.States (174).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (174), (29, 47, 48, 50, 69, 71, 74, 107), 
(215, 4),  1, null, null);
-            Table.States (174).Kernel := To_Vector ((0 => ((215, 4),  260,  0, 
(215, 4),  1)));
-            Table.States (174).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (215, 4),  1)));
-            Table.States (175).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (175), (29, 47, 48, 50, 69, 71, 74, 107), 
(215, 5),  1, null, null);
-            Table.States (175).Kernel := To_Vector ((0 => ((215, 5),  334,  0, 
(215, 5),  1)));
-            Table.States (175).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (215, 5),  1)));
-            Table.States (176).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (176), 99, (306, 3), 333);
-            Table.States (176).Kernel := To_Vector ((0 => ((306, 3),  107,  1, 
(2147483647, 0),  0)));
-            Table.States (176).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (306, 3),  99, 333)));
-            Table.States (177).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (177), 68, (225, 0), 334);
-            Table.States (177).Kernel := To_Vector ((((225, 0),  195,  7, 
(2147483647, 0),  0), ((225, 1),  195,  5,
-            (2147483647, 0),  0), ((225, 2),  195,  6, (2147483647, 0),  0), 
((225, 3),  195,  4, (2147483647, 0),
-            0)));
-            Table.States (177).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (225, 0),  68, 334)));
-            Table.States (178).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (178), 74, (335, 0), 335);
-            Table.States (178).Kernel := To_Vector ((0 => ((335, 0),  49,  3, 
(2147483647, 0),  0)));
-            Table.States (178).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (335, 0),  74, 335)));
-            Table.States (179).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (179), 81, (242, 8), 31);
-            Add_Action (Table.States (179), 107, (242, 5), 120);
-            Add_Action (Table.States (179), 108, (242, 7), 34);
-            Add_Action (Table.States (179), 109, (242, 6), 35);
-            Table.States (179).Goto_List.Set_Capacity (5);
-            Add_Goto (Table.States (179), 131, 42);
-            Add_Goto (Table.States (179), 241, 336);
-            Add_Goto (Table.States (179), 242, 221);
-            Add_Goto (Table.States (179), 275, 93);
-            Add_Goto (Table.States (179), 296, 98);
-            Table.States (179).Kernel := To_Vector ((0 => ((335, 1),  74,  2, 
(2147483647, 0),  0)));
-            Table.States (179).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (180).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (180), (25, 29, 50), (249, 0),  2, 
overriding_indicator_opt_0'Access, null);
-            Table.States (180).Kernel := To_Vector ((0 => ((249, 0),  46,  0, 
(249, 0),  2)));
-            Table.States (180).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (249, 0),  2)));
-            Table.States (181).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (181), (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, 81, 96, 107, 108,
-            109, 110), (306, 0),  2, simple_statement_0'Access, null);
-            Table.States (181).Kernel := To_Vector ((0 => ((306, 0),  99,  0, 
(306, 0),  2)));
-            Table.States (181).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (306, 0),  2)));
-            Table.States (182).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (182), 81, (242, 8), 31);
-            Add_Action (Table.States (182), 107, (242, 5), 120);
-            Add_Action (Table.States (182), 108, (242, 7), 34);
-            Add_Action (Table.States (182), 109, (242, 6), 35);
-            Table.States (182).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (182), 131, 42);
-            Add_Goto (Table.States (182), 242, 337);
-            Add_Goto (Table.States (182), 275, 93);
-            Add_Goto (Table.States (182), 296, 98);
-            Table.States (182).Kernel := To_Vector ((((250, 0),  14,  5, 
(2147483647, 0),  0), ((250, 1),  14,  4,
-            (2147483647, 0),  0), ((251, 0),  14,  4, (2147483647, 0),  0)));
-            Table.States (182).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (183).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (183), 35, (216, 0), 338);
-            Add_Conflict (Table.States (183), 35, (125, 1),  0, null, null);
-            Add_Action (Table.States (183), 56, (253, 0), 339);
-            Add_Action (Table.States (183), 74, (125, 0), 340);
-            Add_Action (Table.States (183), 76, (118, 0), 237);
-            Add_Action (Table.States (183), 87, (296, 0), 239);
-            Add_Action (Table.States (183), 104, (325, 0), 241);
-            Add_Action (Table.States (183), 105, (325, 1), 242);
-            Table.States (183).Goto_List.Set_Capacity (3);
-            Add_Goto (Table.States (183), 118, 243);
-            Add_Goto (Table.States (183), 125, 341);
-            Add_Goto (Table.States (183), 325, 244);
-            Table.States (183).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((216, 0),  242,  4,
-            (2147483647, 0),  0), ((242, 0),  242,  5, (2147483647, 0),  0), 
((242, 1),  242,  2, (2147483647, 0),  0),
-            ((253, 0),  242,  3, (2147483647, 0),  0), ((254, 0),  242,  3, 
(2147483647, 0),  0), ((254, 1),  242,  2,
-            (2147483647, 0),  0), ((275, 0),  242,  3, (2147483647, 0),  0), 
((296, 0),  242,  2, (2147483647, 0),  0),
-            ((296, 1),  242,  2, (2147483647, 0),  0), ((296, 2),  242,  2, 
(2147483647, 0),  0), ((296, 3),  242,  2,
-            (2147483647, 0),  0)));
-            Table.States (183).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (184).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (184), 76, (260, 0), 342);
-            Add_Action (Table.States (184), 99, (260, 2), 343);
-            Table.States (184).Kernel := To_Vector ((((260, 0),  107,  3, 
(2147483647, 0),  0), ((260, 1),  107,  5,
-            (2147483647, 0),  0), ((260, 2),  107,  1, (2147483647, 0),  0)));
-            Table.States (184).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (260, 2),  99, 343)));
-            Table.States (185).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (185), 81, (242, 8), 31);
-            Add_Action (Table.States (185), 107, (166, 0), 344);
-            Add_Action (Table.States (185), 108, (166, 1), 154);
-            Add_Action (Table.States (185), 109, (242, 6), 35);
-            Table.States (185).Goto_List.Set_Capacity (5);
-            Add_Goto (Table.States (185), 131, 155);
-            Add_Goto (Table.States (185), 166, 156);
-            Add_Goto (Table.States (185), 242, 159);
-            Add_Goto (Table.States (185), 275, 93);
-            Add_Goto (Table.States (185), 296, 98);
-            Table.States (185).Kernel := To_Vector ((((124, 0),  28,  5, 
(2147483647, 0),  0), ((130, 0),  28,  4,
-            (2147483647, 0),  0), ((185, 0),  28,  5, (2147483647, 0),  0), 
((284, 0),  28,  14, (2147483647, 0),  0)));
-            Table.States (185).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (166, 0),  107, 344)));
-            Table.States (186).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (186), 81, (242, 8), 31);
-            Add_Action (Table.States (186), 107, (242, 5), 120);
-            Add_Action (Table.States (186), 108, (242, 7), 34);
-            Add_Action (Table.States (186), 109, (242, 6), 35);
-            Table.States (186).Goto_List.Set_Capacity (5);
-            Add_Goto (Table.States (186), 131, 42);
-            Add_Goto (Table.States (186), 241, 345);
-            Add_Goto (Table.States (186), 242, 221);
-            Add_Goto (Table.States (186), 275, 93);
-            Add_Goto (Table.States (186), 296, 98);
-            Table.States (186).Kernel := To_Vector ((0 => ((335, 2),  74,  2, 
(2147483647, 0),  0)));
-            Table.States (186).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (187).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (187), 84, (248, 0), 346);
-            Add_Conflict (Table.States (187), 84, (222, 1),  1, 
identifier_list_1'Access, null);
-            Add_Action (Table.States (187), 86, Reduce, (222, 1),  1, 
identifier_list_1'Access, null);
-            Table.States (187).Kernel := To_Vector ((((222, 1),  107,  0, 
(222, 1),  1), ((248, 0),  107,  5,
-            (2147483647, 0),  0), ((248, 1),  107,  6, (2147483647, 0),  0), 
((248, 2),  107,  5, (2147483647, 0),
-            0)));
-            Table.States (187).Minimal_Complete_Actions := To_Vector 
(((Reduce, (222, 1),  1), (Shift, (248, 0),  84,
-            346)));
-            Table.States (188).Action_List.Set_Capacity (40);
-            Add_Action (Table.States (188), (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, 81, 
96, 107, 108, 109, 110), (145, 2),  2,
-            compilation_unit_2'Access, null);
-            Table.States (188).Kernel := To_Vector ((0 => ((145, 2),  160,  0, 
(145, 2),  2)));
-            Table.States (188).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (145, 2),  2)));
-            Table.States (189).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (189), 35, Reduce, (256, 1),  0, null, 
null);
-            Add_Action (Table.States (189), 74, Reduce, (256, 1),  0, null, 
null);
-            Add_Action (Table.States (189), 76, (118, 0), 321);
-            Add_Action (Table.States (189), 87, (296, 0), 239);
-            Add_Action (Table.States (189), 99, Reduce, (256, 1),  0, null, 
null);
-            Add_Action (Table.States (189), 104, (325, 0), 241);
-            Add_Action (Table.States (189), 105, (325, 1), 242);
-            Table.States (189).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (189), 118, 243);
-            Add_Goto (Table.States (189), 202, 347);
-            Add_Goto (Table.States (189), 256, 348);
-            Add_Goto (Table.States (189), 325, 244);
-            Table.States (189).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((242, 0),  242,  5,
-            (2147483647, 0),  0), ((242, 1),  242,  2, (2147483647, 0),  0), 
((265, 0),  242,  0, (256, 1),  0), ((275,
-            0),  242,  3, (2147483647, 0),  0), ((296, 0),  242,  2, 
(2147483647, 0),  0), ((296, 1),  242,  2,
-            (2147483647, 0),  0), ((296, 2),  242,  2, (2147483647, 0),  0), 
((296, 3),  242,  2, (2147483647, 0),
-            0)));
-            Table.States (189).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (256, 1),  0)));
-            Table.States (190).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (190), 107, (267, 0), 349);
-            Table.States (190).Kernel := To_Vector ((((267, 0),  14,  4, 
(2147483647, 0),  0), ((268, 0),  14,  4,
-            (2147483647, 0),  0)));
-            Table.States (190).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (267, 0),  107, 349)));
-            Table.States (191).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (191), 107, (274, 0), 350);
-            Table.States (191).Kernel := To_Vector ((((274, 0),  69,  7, 
(2147483647, 0),  0), ((274, 1),  69,  4,
-            (2147483647, 0),  0)));
-            Table.States (191).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (274, 0),  107, 350)));
-            Table.States (192).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (192), 35, Reduce, (125, 1),  0, null, 
null);
-            Add_Action (Table.States (192), 74, (125, 0), 340);
-            Table.States (192).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (192), 125, 351);
-            Table.States (192).Kernel := To_Vector ((((307, 0),  107,  6, 
(2147483647, 0),  0), ((307, 1),  107,  3,
-            (2147483647, 0),  0)));
-            Table.States (192).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (193).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (193), (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, 81, 96, 107, 108,
-            109, 110), (279, 2),  2, raise_statement_2'Access, null);
-            Table.States (193).Kernel := To_Vector ((0 => ((279, 2),  99,  0, 
(279, 2),  2)));
-            Table.States (193).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (279, 2),  2)));
-            Table.States (194).Action_List.Set_Capacity (6);
-            Add_Action (Table.States (194), 74, (279, 0), 352);
-            Add_Action (Table.States (194), 76, (118, 0), 237);
-            Add_Action (Table.States (194), 87, (296, 0), 239);
-            Add_Action (Table.States (194), 99, (279, 1), 353);
-            Add_Action (Table.States (194), 104, (325, 0), 241);
-            Add_Action (Table.States (194), 105, (325, 1), 242);
-            Table.States (194).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (194), 118, 243);
-            Add_Goto (Table.States (194), 325, 244);
-            Table.States (194).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((242, 0),  242,  5,
-            (2147483647, 0),  0), ((242, 1),  242,  2, (2147483647, 0),  0), 
((275, 0),  242,  3, (2147483647, 0),  0),
-            ((279, 0),  242,  2, (2147483647, 0),  0), ((279, 1),  242,  1, 
(2147483647, 0),  0), ((296, 0),  242,  2,
-            (2147483647, 0),  0), ((296, 1),  242,  2, (2147483647, 0),  0), 
((296, 2),  242,  2, (2147483647, 0),  0),
-            ((296, 3),  242,  2, (2147483647, 0),  0)));
-            Table.States (194).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (279, 1),  99, 353)));
-            Table.States (195).Action_List.Set_Capacity (6);
-            Add_Action (Table.States (195), 74, (293, 0), 354);
-            Add_Action (Table.States (195), 76, (118, 0), 237);
-            Add_Action (Table.States (195), 87, (296, 0), 239);
-            Add_Action (Table.States (195), 99, (293, 1), 355);
-            Add_Action (Table.States (195), 104, (325, 0), 241);
-            Add_Action (Table.States (195), 105, (325, 1), 242);
-            Table.States (195).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (195), 118, 243);
-            Add_Goto (Table.States (195), 325, 244);
-            Table.States (195).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((242, 0),  242,  5,
-            (2147483647, 0),  0), ((242, 1),  242,  2, (2147483647, 0),  0), 
((275, 0),  242,  3, (2147483647, 0),  0),
-            ((293, 0),  242,  3, (2147483647, 0),  0), ((293, 1),  242,  1, 
(2147483647, 0),  0), ((296, 0),  242,  2,
-            (2147483647, 0),  0), ((296, 1),  242,  2, (2147483647, 0),  0), 
((296, 2),  242,  2, (2147483647, 0),  0),
-            ((296, 3),  242,  2, (2147483647, 0),  0)));
-            Table.States (195).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (293, 1),  99, 355)));
-            Table.States (196).Action_List.Set_Capacity (25);
-            Add_Action (Table.States (196), 10, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (196), 33, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (196), 38, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (196), 40, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (196), 43, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (196), 55, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (196), 75, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (196), 76, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (196), 80, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (196), 84, (197, 0), 356);
-            Add_Action (Table.States (196), 87, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (196), 89, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (196), 91, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (196), 92, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (196), 94, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (196), 95, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (196), 97, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (196), 98, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (196), 99, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (196), 100, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (196), 101, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (196), 102, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (196), 103, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (196), 104, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (196), 105, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Table.States (196).Kernel := To_Vector ((((197, 0),  107,  3, 
(2147483647, 0),  0), ((197, 1),  107,  2,
-            (2147483647, 0),  0), ((242, 5),  107,  0, (242, 5),  1)));
-            Table.States (196).Minimal_Complete_Actions := To_Vector (((Shift, 
(197, 0),  84, 356), (Reduce, (242, 5),
-            1)));
-            Table.States (197).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (197), 99, (305, 0), 357);
-            Table.States (197).Kernel := To_Vector ((0 => ((305, 0),  195,  1, 
(2147483647, 0),  0)));
-            Table.States (197).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (305, 0),  99, 357)));
-            Table.States (198).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (198), 21, Reduce, (198, 0),  1, null, 
null);
-            Add_Action (Table.States (198), 99, (199, 1), 358);
-            Table.States (198).Kernel := To_Vector ((((198, 0),  197,  0, 
(198, 0),  1), ((199, 1),  197,  1,
-            (2147483647, 0),  0)));
-            Table.States (198).Minimal_Complete_Actions := To_Vector 
(((Reduce, (198, 0),  1), (Shift, (199, 1),  99,
-            358)));
-            Table.States (199).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (199), 21, (199, 0), 359);
-            Table.States (199).Kernel := To_Vector ((0 => ((199, 0),  198,  4, 
(2147483647, 0),  0)));
-            Table.States (199).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (199, 0),  21, 359)));
-            Table.States (200).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (200), 81, (242, 8), 31);
-            Add_Action (Table.States (200), 107, (242, 5), 120);
-            Add_Action (Table.States (200), 108, (242, 7), 34);
-            Add_Action (Table.States (200), 109, (242, 6), 35);
-            Table.States (200).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (200), 131, 42);
-            Add_Goto (Table.States (200), 242, 360);
-            Add_Goto (Table.States (200), 275, 93);
-            Add_Goto (Table.States (200), 296, 98);
-            Table.States (200).Kernel := To_Vector ((0 => ((318, 0),  76,  8, 
(2147483647, 0),  0)));
-            Table.States (200).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (201).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (201), 99, (298, 4), 361);
-            Table.States (201).Kernel := To_Vector ((0 => ((298, 4),  67,  1, 
(2147483647, 0),  0)));
-            Table.States (201).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (298, 4),  99, 361)));
-            Table.States (202).Action_List.Set_Capacity (15);
-            Add_Action (Table.States (202), 3, (200, 2), 122);
-            Add_Action (Table.States (202), 39, (261, 4), 123);
-            Add_Action (Table.States (202), 40, (200, 3), 124);
-            Add_Action (Table.States (202), 41, (261, 1), 125);
-            Add_Action (Table.States (202), 52, (278, 0), 126);
-            Add_Action (Table.States (202), 76, (120, 0), 127);
-            Add_Action (Table.States (202), 77, (120, 5), 128);
-            Add_Action (Table.States (202), 81, (242, 8), 31);
-            Add_Action (Table.States (202), 90, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (202), 97, (333, 1), 129);
-            Add_Action (Table.States (202), 98, (333, 0), 130);
-            Add_Action (Table.States (202), 106, (261, 0), 131);
-            Add_Action (Table.States (202), 107, (242, 5), 120);
-            Add_Action (Table.States (202), 108, (242, 7), 34);
-            Add_Action (Table.States (202), 109, (242, 6), 35);
-            Table.States (202).Goto_List.Set_Capacity (20);
-            Add_Goto (Table.States (202), 120, 132);
-            Add_Goto (Table.States (202), 131, 42);
-            Add_Goto (Table.States (202), 194, 133);
-            Add_Goto (Table.States (202), 195, 362);
-            Add_Goto (Table.States (202), 200, 135);
-            Add_Goto (Table.States (202), 242, 136);
-            Add_Goto (Table.States (202), 261, 137);
-            Add_Goto (Table.States (202), 275, 93);
-            Add_Goto (Table.States (202), 278, 138);
-            Add_Goto (Table.States (202), 285, 139);
-            Add_Goto (Table.States (202), 286, 140);
-            Add_Goto (Table.States (202), 287, 141);
-            Add_Goto (Table.States (202), 288, 142);
-            Add_Goto (Table.States (202), 289, 143);
-            Add_Goto (Table.States (202), 290, 144);
-            Add_Goto (Table.States (202), 296, 98);
-            Add_Goto (Table.States (202), 304, 145);
-            Add_Goto (Table.States (202), 323, 146);
-            Add_Goto (Table.States (202), 324, 147);
-            Add_Goto (Table.States (202), 333, 148);
-            Table.States (202).Kernel := To_Vector ((((298, 0),  72,  4, 
(2147483647, 0),  0), ((298, 1),  72,  3,
-            (2147483647, 0),  0), ((298, 2),  72,  3, (2147483647, 0),  0)));
-            Table.States (202).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (195, 1),  0)));
-            Table.States (203).Action_List.Set_Capacity (26);
-            Add_Action (Table.States (203), 4, (116, 0), 1);
-            Add_Action (Table.States (203), 5, (306, 8), 2);
-            Add_Action (Table.States (203), 13, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (203), 15, (142, 0), 3);
-            Add_Action (Table.States (203), 17, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (203), 18, (164, 0), 4);
-            Add_Action (Table.States (203), 22, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (203), 24, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (203), 27, (193, 0), 5);
-            Add_Action (Table.States (203), 28, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (203), 31, (306, 3), 9);
-            Add_Action (Table.States (203), 32, (225, 0), 10);
-            Add_Action (Table.States (203), 37, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (203), 41, (306, 0), 13);
-            Add_Action (Table.States (203), 43, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (203), 48, (260, 0), 16);
-            Add_Action (Table.States (203), 52, (279, 0), 20);
-            Add_Action (Table.States (203), 57, (293, 0), 21);
-            Add_Action (Table.States (203), 58, (199, 0), 22);
-            Add_Action (Table.States (203), 61, (129, 0), 24);
-            Add_Action (Table.States (203), 73, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (203), 81, (242, 8), 31);
-            Add_Action (Table.States (203), 96, (220, 0), 32);
-            Add_Action (Table.States (203), 107, (134, 0), 363);
-            Add_Action (Table.States (203), 108, (242, 7), 34);
-            Add_Action (Table.States (203), 109, (242, 6), 35);
-            Table.States (203).Goto_List.Set_Capacity (31);
-            Add_Goto (Table.States (203), 116, 37);
-            Add_Goto (Table.States (203), 126, 39);
-            Add_Goto (Table.States (203), 129, 40);
-            Add_Goto (Table.States (203), 131, 42);
-            Add_Goto (Table.States (203), 134, 43);
-            Add_Goto (Table.States (203), 135, 44);
-            Add_Goto (Table.States (203), 136, 45);
-            Add_Goto (Table.States (203), 142, 48);
-            Add_Goto (Table.States (203), 154, 51);
-            Add_Goto (Table.States (203), 155, 52);
-            Add_Goto (Table.States (203), 164, 54);
-            Add_Goto (Table.States (203), 193, 58);
-            Add_Goto (Table.States (203), 199, 60);
-            Add_Goto (Table.States (203), 220, 69);
-            Add_Goto (Table.States (203), 225, 71);
-            Add_Goto (Table.States (203), 235, 73);
-            Add_Goto (Table.States (203), 242, 74);
-            Add_Goto (Table.States (203), 260, 84);
-            Add_Goto (Table.States (203), 264, 87);
-            Add_Goto (Table.States (203), 275, 93);
-            Add_Goto (Table.States (203), 279, 94);
-            Add_Goto (Table.States (203), 293, 97);
-            Add_Goto (Table.States (203), 296, 98);
-            Add_Goto (Table.States (203), 297, 99);
-            Add_Goto (Table.States (203), 301, 100);
-            Add_Goto (Table.States (203), 302, 364);
-            Add_Goto (Table.States (203), 303, 365);
-            Add_Goto (Table.States (203), 305, 101);
-            Add_Goto (Table.States (203), 306, 102);
-            Add_Goto (Table.States (203), 309, 366);
-            Add_Goto (Table.States (203), 326, 115);
-            Table.States (203).Kernel := To_Vector ((0 => ((298, 3),  116,  0, 
(303, 1),  0)));
-            Table.States (203).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (303, 1),  0)));
-            Table.States (204).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (204), (22, 24, 43), (298, 5),  1, null, 
null);
-            Table.States (204).Kernel := To_Vector ((0 => ((298, 5),  163,  0, 
(298, 5),  1)));
-            Table.States (204).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (298, 5),  1)));
-            Table.States (205).Action_List.Set_Capacity (27);
-            Add_Action (Table.States (205), 4, (116, 0), 1);
-            Add_Action (Table.States (205), 5, (306, 8), 2);
-            Add_Action (Table.States (205), 13, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (205), 15, (142, 0), 3);
-            Add_Action (Table.States (205), 17, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (205), 18, (164, 0), 4);
-            Add_Action (Table.States (205), 22, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (205), 24, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (205), 27, (193, 0), 5);
-            Add_Action (Table.States (205), 28, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (205), 31, (306, 3), 9);
-            Add_Action (Table.States (205), 32, (225, 0), 10);
-            Add_Action (Table.States (205), 37, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (205), 41, (306, 0), 13);
-            Add_Action (Table.States (205), 43, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (205), 48, (260, 0), 16);
-            Add_Action (Table.States (205), 52, (279, 0), 20);
-            Add_Action (Table.States (205), 57, (293, 0), 21);
-            Add_Action (Table.States (205), 58, (199, 0), 22);
-            Add_Action (Table.States (205), 61, (129, 0), 24);
-            Add_Action (Table.States (205), 68, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (205), 73, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (205), 81, (242, 8), 31);
-            Add_Action (Table.States (205), 96, (220, 0), 32);
-            Add_Action (Table.States (205), 107, (134, 0), 363);
-            Add_Action (Table.States (205), 108, (242, 7), 34);
-            Add_Action (Table.States (205), 109, (242, 6), 35);
-            Table.States (205).Goto_List.Set_Capacity (31);
-            Add_Goto (Table.States (205), 116, 37);
-            Add_Goto (Table.States (205), 126, 39);
-            Add_Goto (Table.States (205), 129, 40);
-            Add_Goto (Table.States (205), 131, 42);
-            Add_Goto (Table.States (205), 134, 43);
-            Add_Goto (Table.States (205), 135, 44);
-            Add_Goto (Table.States (205), 136, 45);
-            Add_Goto (Table.States (205), 142, 48);
-            Add_Goto (Table.States (205), 154, 51);
-            Add_Goto (Table.States (205), 155, 52);
-            Add_Goto (Table.States (205), 164, 54);
-            Add_Goto (Table.States (205), 193, 58);
-            Add_Goto (Table.States (205), 199, 60);
-            Add_Goto (Table.States (205), 220, 69);
-            Add_Goto (Table.States (205), 225, 71);
-            Add_Goto (Table.States (205), 235, 73);
-            Add_Goto (Table.States (205), 242, 74);
-            Add_Goto (Table.States (205), 260, 84);
-            Add_Goto (Table.States (205), 264, 87);
-            Add_Goto (Table.States (205), 275, 93);
-            Add_Goto (Table.States (205), 279, 94);
-            Add_Goto (Table.States (205), 293, 97);
-            Add_Goto (Table.States (205), 296, 98);
-            Add_Goto (Table.States (205), 297, 99);
-            Add_Goto (Table.States (205), 301, 100);
-            Add_Goto (Table.States (205), 302, 364);
-            Add_Goto (Table.States (205), 303, 367);
-            Add_Goto (Table.States (205), 305, 101);
-            Add_Goto (Table.States (205), 306, 102);
-            Add_Goto (Table.States (205), 309, 366);
-            Add_Goto (Table.States (205), 326, 115);
-            Table.States (205).Kernel := To_Vector ((((163, 0),  164,  0, 
(303, 1),  0), ((327, 2),  164,  0, (303, 1),
-             0)));
-            Table.States (205).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (303, 1),  0)));
-            Table.States (206).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (206), 22, (155, 0), 368);
-            Add_Action (Table.States (206), 43, (326, 0), 369);
-            Table.States (206).Kernel := To_Vector ((((155, 0),  181,  4, 
(2147483647, 0),  0), ((326, 0),  181,  6,
-            (2147483647, 0),  0)));
-            Table.States (206).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (155, 0),  22, 368)));
-            Table.States (207).Action_List.Set_Capacity (31);
-            Add_Action (Table.States (207), 4, (116, 0), 1);
-            Add_Action (Table.States (207), 5, (306, 8), 2);
-            Add_Action (Table.States (207), 13, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (207), 15, (142, 0), 3);
-            Add_Action (Table.States (207), 17, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (207), 18, (164, 0), 4);
-            Add_Action (Table.States (207), 22, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (207), 27, (193, 0), 5);
-            Add_Action (Table.States (207), 28, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (207), 31, (306, 3), 9);
-            Add_Action (Table.States (207), 32, (225, 0), 10);
-            Add_Action (Table.States (207), 37, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (207), 41, (306, 0), 13);
-            Add_Action (Table.States (207), 43, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (207), 48, (260, 0), 16);
-            Add_Action (Table.States (207), 52, (279, 0), 20);
-            Add_Action (Table.States (207), 57, (293, 0), 21);
-            Add_Action (Table.States (207), 58, (199, 0), 22);
-            Add_Action (Table.States (207), 61, (129, 0), 24);
-            Add_Action (Table.States (207), 68, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (207), 73, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (207), 76, (118, 0), 237);
-            Add_Action (Table.States (207), 81, (242, 8), 31);
-            Add_Action (Table.States (207), 87, (296, 0), 239);
-            Add_Action (Table.States (207), 96, (220, 0), 32);
-            Add_Action (Table.States (207), 99, (264, 0), 240);
-            Add_Action (Table.States (207), 104, (325, 0), 241);
-            Add_Action (Table.States (207), 105, (325, 1), 242);
-            Add_Action (Table.States (207), 107, (134, 0), 363);
-            Add_Action (Table.States (207), 108, (242, 7), 34);
-            Add_Action (Table.States (207), 109, (242, 6), 35);
-            Table.States (207).Goto_List.Set_Capacity (33);
-            Add_Goto (Table.States (207), 116, 37);
-            Add_Goto (Table.States (207), 118, 243);
-            Add_Goto (Table.States (207), 126, 39);
-            Add_Goto (Table.States (207), 129, 40);
-            Add_Goto (Table.States (207), 131, 42);
-            Add_Goto (Table.States (207), 134, 43);
-            Add_Goto (Table.States (207), 135, 44);
-            Add_Goto (Table.States (207), 136, 45);
-            Add_Goto (Table.States (207), 142, 48);
-            Add_Goto (Table.States (207), 154, 51);
-            Add_Goto (Table.States (207), 155, 52);
-            Add_Goto (Table.States (207), 164, 54);
-            Add_Goto (Table.States (207), 193, 58);
-            Add_Goto (Table.States (207), 199, 60);
-            Add_Goto (Table.States (207), 220, 69);
-            Add_Goto (Table.States (207), 225, 71);
-            Add_Goto (Table.States (207), 235, 73);
-            Add_Goto (Table.States (207), 242, 74);
-            Add_Goto (Table.States (207), 260, 84);
-            Add_Goto (Table.States (207), 264, 87);
-            Add_Goto (Table.States (207), 275, 93);
-            Add_Goto (Table.States (207), 279, 94);
-            Add_Goto (Table.States (207), 293, 97);
-            Add_Goto (Table.States (207), 296, 98);
-            Add_Goto (Table.States (207), 297, 99);
-            Add_Goto (Table.States (207), 301, 100);
-            Add_Goto (Table.States (207), 302, 364);
-            Add_Goto (Table.States (207), 303, 370);
-            Add_Goto (Table.States (207), 305, 101);
-            Add_Goto (Table.States (207), 306, 102);
-            Add_Goto (Table.States (207), 309, 366);
-            Add_Goto (Table.States (207), 325, 244);
-            Add_Goto (Table.States (207), 326, 115);
-            Table.States (207).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((181, 1),  242,  0,
-            (303, 1),  0), ((242, 0),  242,  5, (2147483647, 0),  0), ((242, 
1),  242,  2, (2147483647, 0),  0), ((264,
-            0),  242,  1, (2147483647, 0),  0), ((275, 0),  242,  3, 
(2147483647, 0),  0), ((296, 0),  242,  2,
-            (2147483647, 0),  0), ((296, 1),  242,  2, (2147483647, 0),  0), 
((296, 2),  242,  2, (2147483647, 0),  0),
-            ((296, 3),  242,  2, (2147483647, 0),  0), ((327, 1),  242,  0, 
(303, 1),  0)));
-            Table.States (207).Minimal_Complete_Actions := To_Vector 
(((Reduce, (303, 1),  0), (Shift, (264, 0),  99,
-            240)));
-            Table.States (208).Action_List.Set_Capacity (26);
-            Add_Action (Table.States (208), 4, (116, 0), 1);
-            Add_Action (Table.States (208), 5, (306, 8), 2);
-            Add_Action (Table.States (208), 13, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (208), 15, (142, 0), 3);
-            Add_Action (Table.States (208), 17, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (208), 18, (164, 0), 4);
-            Add_Action (Table.States (208), 22, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (208), 27, (193, 0), 5);
-            Add_Action (Table.States (208), 28, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (208), 31, (306, 3), 9);
-            Add_Action (Table.States (208), 32, (225, 0), 10);
-            Add_Action (Table.States (208), 37, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (208), 41, (306, 0), 13);
-            Add_Action (Table.States (208), 43, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (208), 48, (260, 0), 16);
-            Add_Action (Table.States (208), 52, (279, 0), 20);
-            Add_Action (Table.States (208), 57, (293, 0), 21);
-            Add_Action (Table.States (208), 58, (199, 0), 22);
-            Add_Action (Table.States (208), 61, (129, 0), 24);
-            Add_Action (Table.States (208), 68, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (208), 73, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (208), 81, (242, 8), 31);
-            Add_Action (Table.States (208), 96, (220, 0), 32);
-            Add_Action (Table.States (208), 107, (134, 0), 363);
-            Add_Action (Table.States (208), 108, (242, 7), 34);
-            Add_Action (Table.States (208), 109, (242, 6), 35);
-            Table.States (208).Goto_List.Set_Capacity (31);
-            Add_Goto (Table.States (208), 116, 37);
-            Add_Goto (Table.States (208), 126, 39);
-            Add_Goto (Table.States (208), 129, 40);
-            Add_Goto (Table.States (208), 131, 42);
-            Add_Goto (Table.States (208), 134, 43);
-            Add_Goto (Table.States (208), 135, 44);
-            Add_Goto (Table.States (208), 136, 45);
-            Add_Goto (Table.States (208), 142, 48);
-            Add_Goto (Table.States (208), 154, 51);
-            Add_Goto (Table.States (208), 155, 52);
-            Add_Goto (Table.States (208), 164, 54);
-            Add_Goto (Table.States (208), 193, 58);
-            Add_Goto (Table.States (208), 199, 60);
-            Add_Goto (Table.States (208), 220, 69);
-            Add_Goto (Table.States (208), 225, 71);
-            Add_Goto (Table.States (208), 235, 73);
-            Add_Goto (Table.States (208), 242, 74);
-            Add_Goto (Table.States (208), 260, 84);
-            Add_Goto (Table.States (208), 264, 87);
-            Add_Goto (Table.States (208), 275, 93);
-            Add_Goto (Table.States (208), 279, 94);
-            Add_Goto (Table.States (208), 293, 97);
-            Add_Goto (Table.States (208), 296, 98);
-            Add_Goto (Table.States (208), 297, 99);
-            Add_Goto (Table.States (208), 301, 100);
-            Add_Goto (Table.States (208), 302, 364);
-            Add_Goto (Table.States (208), 303, 371);
-            Add_Goto (Table.States (208), 305, 101);
-            Add_Goto (Table.States (208), 306, 102);
-            Add_Goto (Table.States (208), 309, 366);
-            Add_Goto (Table.States (208), 326, 115);
-            Table.States (208).Kernel := To_Vector ((((181, 0),  264,  0, 
(303, 1),  0), ((327, 0),  264,  0, (303, 1),
-             0)));
-            Table.States (208).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (303, 1),  0)));
-            Table.States (209).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (209), (22, 24, 43), (299, 1),  1, 
select_alternative_list_1'Access, null);
-            Table.States (209).Kernel := To_Vector ((0 => ((299, 1),  298,  0, 
(299, 1),  1)));
-            Table.States (209).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (299, 1),  1)));
-            Table.States (210).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (210), 22, Reduce, (300, 0),  1, null, 
null);
-            Add_Action (Table.States (210), 24, Reduce, (300, 0),  1, null, 
null);
-            Add_Action (Table.States (210), 43, (299, 0), 372);
-            Table.States (210).Kernel := To_Vector ((((299, 0),  299,  3, 
(2147483647, 0),  0), ((300, 0),  299,  0,
-            (300, 0),  1)));
-            Table.States (210).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (300, 0),  1)));
-            Table.States (211).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (211), 22, (297, 0), 373);
-            Add_Action (Table.States (211), 24, (297, 1), 374);
-            Table.States (211).Kernel := To_Vector ((((297, 0),  300,  4, 
(2147483647, 0),  0), ((297, 1),  300,  3,
-            (2147483647, 0),  0)));
-            Table.States (211).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (297, 1),  24, 374)));
-            Table.States (212).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (212), 68, (129, 0), 375);
-            Table.States (212).Kernel := To_Vector ((0 => ((129, 0),  327,  5, 
(2147483647, 0),  0)));
-            Table.States (212).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (129, 0),  68, 375)));
-            Table.States (213).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (213), 35, (316, 0), 376);
-            Table.States (213).Kernel := To_Vector ((0 => ((316, 0),  107,  3, 
(2147483647, 0),  0)));
-            Table.States (213).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (316, 0),  35, 376)));
-            Table.States (214).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (214), 107, (319, 0), 377);
-            Table.States (214).Kernel := To_Vector ((((319, 0),  14,  5, 
(2147483647, 0),  0), ((320, 0),  14,  4,
-            (2147483647, 0),  0)));
-            Table.States (214).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (319, 0),  107, 377)));
-            Table.States (215).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (215), 107, (322, 0), 378);
-            Table.States (215).Kernel := To_Vector ((((322, 0),  69,  7, 
(2147483647, 0),  0), ((322, 1),  69,  4,
-            (2147483647, 0),  0), ((322, 2),  69,  2, (2147483647, 0),  0)));
-            Table.States (215).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (322, 0),  107, 378)));
-            Table.States (216).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (216), 35, Reduce, (125, 1),  0, null, 
null);
-            Add_Action (Table.States (216), 74, (125, 0), 340);
-            Add_Action (Table.States (216), 99, Reduce, (125, 1),  0, null, 
null);
-            Table.States (216).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (216), 125, 379);
-            Table.States (216).Kernel := To_Vector ((((308, 0),  107,  6, 
(2147483647, 0),  0), ((308, 1),  107,  3,
-            (2147483647, 0),  0), ((308, 2),  107,  1, (2147483647, 0),  0)));
-            Table.States (216).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (217).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (217), 35, Reduce, (172, 2),  0, null, 
null);
-            Add_Action (Table.States (217), 76, (172, 0), 380);
-            Add_Action (Table.States (217), 99, Reduce, (172, 2),  0, null, 
null);
-            Table.States (217).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (217), 172, 381);
-            Table.States (217).Kernel := To_Vector ((((209, 0),  107,  3, 
(2147483647, 0),  0), ((226, 0),  107,  3,
-            (2147483647, 0),  0), ((226, 1),  107,  1, (2147483647, 0),  0), 
((262, 0),  107,  6, (2147483647, 0),  0),
-            ((263, 0),  107,  3, (2147483647, 0),  0)));
-            Table.States (217).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (172, 2),  0)));
-            Table.States (218).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (218), 69, (334, 0), 382);
-            Table.States (218).Kernel := To_Vector ((0 => ((334, 0),  9,  3, 
(2147483647, 0),  0)));
-            Table.States (218).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (334, 0),  69, 382)));
-            Table.States (219).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (219), 81, (242, 8), 31);
-            Add_Action (Table.States (219), 107, (242, 5), 120);
-            Add_Action (Table.States (219), 108, (242, 7), 34);
-            Add_Action (Table.States (219), 109, (242, 6), 35);
-            Table.States (219).Goto_List.Set_Capacity (5);
-            Add_Goto (Table.States (219), 131, 42);
-            Add_Goto (Table.States (219), 241, 383);
-            Add_Goto (Table.States (219), 242, 221);
-            Add_Goto (Table.States (219), 275, 93);
-            Add_Goto (Table.States (219), 296, 98);
-            Table.States (219).Kernel := To_Vector ((0 => ((334, 1),  69,  2, 
(2147483647, 0),  0)));
-            Table.States (219).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (220).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (220), 86, (241, 0), 384);
-            Add_Action (Table.States (220), 99, (334, 2), 385);
-            Table.States (220).Kernel := To_Vector ((((241, 0),  241,  2, 
(2147483647, 0),  0), ((334, 2),  241,  1,
-            (2147483647, 0),  0)));
-            Table.States (220).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (334, 2),  99, 385)));
-            Table.States (221).Action_List.Set_Capacity (6);
-            Add_Action (Table.States (221), 76, (118, 0), 237);
-            Add_Action (Table.States (221), 86, Reduce, (241, 1),  1, null, 
null);
-            Add_Action (Table.States (221), 87, (296, 0), 239);
-            Add_Action (Table.States (221), 99, Reduce, (241, 1),  1, null, 
null);
-            Add_Action (Table.States (221), 104, (325, 0), 241);
-            Add_Action (Table.States (221), 105, (325, 1), 242);
-            Table.States (221).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (221), 118, 243);
-            Add_Goto (Table.States (221), 325, 244);
-            Table.States (221).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((241, 1),  242,  0,
-            (241, 1),  1), ((242, 0),  242,  5, (2147483647, 0),  0), ((242, 
1),  242,  2, (2147483647, 0),  0), ((275,
-            0),  242,  3, (2147483647, 0),  0), ((296, 0),  242,  2, 
(2147483647, 0),  0), ((296, 1),  242,  2,
-            (2147483647, 0),  0), ((296, 2),  242,  2, (2147483647, 0),  0), 
((296, 3),  242,  2, (2147483647, 0),
-            0)));
-            Table.States (221).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (241, 1),  1)));
-            Table.States (222).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (222), (1 =>  37), (232, 0),  2, 
iteration_scheme_0'Access, null);
-            Table.States (222).Kernel := To_Vector ((0 => ((232, 0),  195,  0, 
(232, 0),  2)));
-            Table.States (222).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (232, 0),  2)));
-            Table.States (223).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (223), 86, (241, 0), 384);
-            Add_Action (Table.States (223), 99, (335, 3), 386);
-            Table.States (223).Kernel := To_Vector ((((241, 0),  241,  2, 
(2147483647, 0),  0), ((335, 3),  241,  1,
-            (2147483647, 0),  0)));
-            Table.States (223).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (335, 3),  99, 386)));
-            Table.States (224).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (224), 93, (220, 0), 387);
-            Table.States (224).Kernel := To_Vector ((0 => ((220, 0),  107,  1, 
(2147483647, 0),  0)));
-            Table.States (224).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (220, 0),  93, 387)));
-            Table.States (225).Action_List.Set_Capacity (12);
-            Add_Action (Table.States (225), 7, Reduce, (244, 1),  0, null, 
null);
-            Add_Action (Table.States (225), 13, Reduce, (134, 0),  2, 
block_label_0'Access,
-            block_label_0_check'Access);
-            Add_Action (Table.States (225), 17, Reduce, (134, 0),  2, 
block_label_0'Access,
-            block_label_0_check'Access);
-            Add_Action (Table.States (225), 26, (248, 2), 388);
-            Add_Action (Table.States (225), 28, Reduce, (134, 0),  2, 
block_label_0'Access,
-            block_label_0_check'Access);
-            Add_Action (Table.States (225), 37, Reduce, (134, 0),  2, 
block_label_0'Access,
-            block_label_0_check'Access);
-            Add_Action (Table.States (225), 40, (244, 0), 389);
-            Add_Action (Table.States (225), 73, Reduce, (134, 0),  2, 
block_label_0'Access,
-            block_label_0_check'Access);
-            Add_Action (Table.States (225), 81, Reduce, (244, 1),  0, null, 
null);
-            Add_Action (Table.States (225), 107, Reduce, (244, 1),  0, null, 
null);
-            Add_Action (Table.States (225), 108, Reduce, (244, 1),  0, null, 
null);
-            Add_Action (Table.States (225), 109, Reduce, (244, 1),  0, null, 
null);
-            Table.States (225).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (225), 117, 390);
-            Add_Goto (Table.States (225), 244, 391);
-            Table.States (225).Kernel := To_Vector ((((134, 0),  84,  0, (134, 
0),  2), ((248, 0),  84,  4,
-            (2147483647, 0),  0), ((248, 1),  84,  5, (2147483647, 0),  0), 
((248, 2),  84,  4, (2147483647, 0),  0)));
-            Table.States (225).Minimal_Complete_Actions := To_Vector 
(((Reduce, (134, 0),  2), (Reduce, (244, 1),  0),
-            (Shift, (248, 2),  26, 388)));
-            Table.States (226).Action_List.Set_Capacity (25);
-            Add_Action (Table.States (226), 4, (116, 0), 1);
-            Add_Action (Table.States (226), 5, (306, 8), 2);
-            Add_Action (Table.States (226), 13, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (226), 15, (142, 0), 3);
-            Add_Action (Table.States (226), 17, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (226), 18, (164, 0), 4);
-            Add_Action (Table.States (226), 24, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (226), 26, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (226), 27, (193, 0), 5);
-            Add_Action (Table.States (226), 28, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (226), 31, (306, 3), 9);
-            Add_Action (Table.States (226), 32, (225, 0), 10);
-            Add_Action (Table.States (226), 37, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (226), 41, (306, 0), 13);
-            Add_Action (Table.States (226), 48, (260, 0), 16);
-            Add_Action (Table.States (226), 52, (279, 0), 20);
-            Add_Action (Table.States (226), 57, (293, 0), 21);
-            Add_Action (Table.States (226), 58, (199, 0), 22);
-            Add_Action (Table.States (226), 61, (129, 0), 24);
-            Add_Action (Table.States (226), 73, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (226), 81, (242, 8), 31);
-            Add_Action (Table.States (226), 96, (220, 0), 32);
-            Add_Action (Table.States (226), 107, (134, 0), 363);
-            Add_Action (Table.States (226), 108, (242, 7), 34);
-            Add_Action (Table.States (226), 109, (242, 6), 35);
-            Table.States (226).Goto_List.Set_Capacity (32);
-            Add_Goto (Table.States (226), 116, 37);
-            Add_Goto (Table.States (226), 126, 39);
-            Add_Goto (Table.States (226), 129, 40);
-            Add_Goto (Table.States (226), 131, 42);
-            Add_Goto (Table.States (226), 134, 43);
-            Add_Goto (Table.States (226), 135, 44);
-            Add_Goto (Table.States (226), 136, 45);
-            Add_Goto (Table.States (226), 142, 48);
-            Add_Goto (Table.States (226), 154, 51);
-            Add_Goto (Table.States (226), 155, 52);
-            Add_Goto (Table.States (226), 164, 54);
-            Add_Goto (Table.States (226), 193, 58);
-            Add_Goto (Table.States (226), 199, 60);
-            Add_Goto (Table.States (226), 220, 69);
-            Add_Goto (Table.States (226), 221, 392);
-            Add_Goto (Table.States (226), 225, 71);
-            Add_Goto (Table.States (226), 235, 73);
-            Add_Goto (Table.States (226), 242, 74);
-            Add_Goto (Table.States (226), 260, 84);
-            Add_Goto (Table.States (226), 264, 87);
-            Add_Goto (Table.States (226), 275, 93);
-            Add_Goto (Table.States (226), 279, 94);
-            Add_Goto (Table.States (226), 293, 97);
-            Add_Goto (Table.States (226), 296, 98);
-            Add_Goto (Table.States (226), 297, 99);
-            Add_Goto (Table.States (226), 301, 100);
-            Add_Goto (Table.States (226), 302, 364);
-            Add_Goto (Table.States (226), 303, 393);
-            Add_Goto (Table.States (226), 305, 101);
-            Add_Goto (Table.States (226), 306, 102);
-            Add_Goto (Table.States (226), 309, 366);
-            Add_Goto (Table.States (226), 326, 115);
-            Table.States (226).Kernel := To_Vector ((0 => ((136, 1),  13,  2, 
(2147483647, 0),  0)));
-            Table.States (226).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (221, 1),  0)));
-         end Subr_4;
-         procedure Subr_5
-         is begin
-            Table.States (227).Action_List.Set_Capacity (16);
-            Add_Action (Table.States (227), 13, Reduce, (162, 1),  0, null, 
null);
-            Add_Action (Table.States (227), 25, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (227), 28, (124, 0), 185);
-            Add_Action (Table.States (227), 29, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (227), 30, (213, 0), 8);
-            Add_Action (Table.States (227), 40, (249, 0), 12);
-            Add_Action (Table.States (227), 46, (249, 1), 14);
-            Add_Action (Table.States (227), 47, (216, 0), 15);
-            Add_Action (Table.States (227), 48, (260, 0), 16);
-            Add_Action (Table.States (227), 50, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (227), 51, (267, 0), 19);
-            Add_Action (Table.States (227), 63, (316, 0), 25);
-            Add_Action (Table.States (227), 66, (308, 0), 26);
-            Add_Action (Table.States (227), 69, (209, 0), 27);
-            Add_Action (Table.States (227), 71, (334, 0), 28);
-            Add_Action (Table.States (227), 107, (222, 1), 187);
-            Table.States (227).Goto_List.Set_Capacity (53);
-            Add_Goto (Table.States (227), 115, 36);
-            Add_Goto (Table.States (227), 124, 38);
-            Add_Goto (Table.States (227), 130, 41);
-            Add_Goto (Table.States (227), 137, 46);
-            Add_Goto (Table.States (227), 138, 47);
-            Add_Goto (Table.States (227), 160, 394);
-            Add_Goto (Table.States (227), 161, 395);
-            Add_Goto (Table.States (227), 162, 396);
-            Add_Goto (Table.States (227), 182, 55);
-            Add_Goto (Table.States (227), 185, 56);
-            Add_Goto (Table.States (227), 189, 57);
-            Add_Goto (Table.States (227), 196, 59);
-            Add_Goto (Table.States (227), 209, 61);
-            Add_Goto (Table.States (227), 210, 62);
-            Add_Goto (Table.States (227), 212, 63);
-            Add_Goto (Table.States (227), 213, 64);
-            Add_Goto (Table.States (227), 216, 65);
-            Add_Goto (Table.States (227), 217, 66);
-            Add_Goto (Table.States (227), 218, 67);
-            Add_Goto (Table.States (227), 219, 68);
-            Add_Goto (Table.States (227), 222, 70);
-            Add_Goto (Table.States (227), 226, 72);
-            Add_Goto (Table.States (227), 246, 75);
-            Add_Goto (Table.States (227), 247, 76);
-            Add_Goto (Table.States (227), 248, 77);
-            Add_Goto (Table.States (227), 249, 78);
-            Add_Goto (Table.States (227), 250, 79);
-            Add_Goto (Table.States (227), 251, 80);
-            Add_Goto (Table.States (227), 252, 81);
-            Add_Goto (Table.States (227), 253, 82);
-            Add_Goto (Table.States (227), 254, 83);
-            Add_Goto (Table.States (227), 260, 397);
-            Add_Goto (Table.States (227), 262, 85);
-            Add_Goto (Table.States (227), 263, 86);
-            Add_Goto (Table.States (227), 265, 88);
-            Add_Goto (Table.States (227), 266, 89);
-            Add_Goto (Table.States (227), 267, 90);
-            Add_Goto (Table.States (227), 268, 91);
-            Add_Goto (Table.States (227), 274, 92);
-            Add_Goto (Table.States (227), 284, 95);
-            Add_Goto (Table.States (227), 292, 96);
-            Add_Goto (Table.States (227), 307, 103);
-            Add_Goto (Table.States (227), 308, 104);
-            Add_Goto (Table.States (227), 310, 106);
-            Add_Goto (Table.States (227), 311, 107);
-            Add_Goto (Table.States (227), 312, 108);
-            Add_Goto (Table.States (227), 314, 109);
-            Add_Goto (Table.States (227), 316, 110);
-            Add_Goto (Table.States (227), 319, 112);
-            Add_Goto (Table.States (227), 320, 113);
-            Add_Goto (Table.States (227), 322, 114);
-            Add_Goto (Table.States (227), 328, 116);
-            Add_Goto (Table.States (227), 334, 117);
-            Table.States (227).Kernel := To_Vector ((0 => ((136, 0),  17,  3, 
(2147483647, 0),  0)));
-            Table.States (227).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (162, 1),  0)));
-            Table.States (228).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (228), 37, Reduce, (234, 1),  0, null, 
null);
-            Add_Action (Table.States (228), 107, (233, 0), 398);
-            Table.States (228).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (228), 233, 157);
-            Add_Goto (Table.States (228), 234, 158);
-            Table.States (228).Kernel := To_Vector ((0 => ((232, 1),  28,  0, 
(234, 1),  0)));
-            Table.States (228).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (234, 1),  0)));
-            Table.States (229).Action_List.Set_Capacity (24);
-            Add_Action (Table.States (229), 4, (116, 0), 1);
-            Add_Action (Table.States (229), 5, (306, 8), 2);
-            Add_Action (Table.States (229), 13, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (229), 15, (142, 0), 3);
-            Add_Action (Table.States (229), 17, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (229), 18, (164, 0), 4);
-            Add_Action (Table.States (229), 24, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (229), 27, (193, 0), 5);
-            Add_Action (Table.States (229), 28, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (229), 31, (306, 3), 9);
-            Add_Action (Table.States (229), 32, (225, 0), 10);
-            Add_Action (Table.States (229), 37, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (229), 41, (306, 0), 13);
-            Add_Action (Table.States (229), 48, (260, 0), 16);
-            Add_Action (Table.States (229), 52, (279, 0), 20);
-            Add_Action (Table.States (229), 57, (293, 0), 21);
-            Add_Action (Table.States (229), 58, (199, 0), 22);
-            Add_Action (Table.States (229), 61, (129, 0), 24);
-            Add_Action (Table.States (229), 73, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (229), 81, (242, 8), 31);
-            Add_Action (Table.States (229), 96, (220, 0), 32);
-            Add_Action (Table.States (229), 107, (134, 0), 363);
-            Add_Action (Table.States (229), 108, (242, 7), 34);
-            Add_Action (Table.States (229), 109, (242, 6), 35);
-            Table.States (229).Goto_List.Set_Capacity (31);
-            Add_Goto (Table.States (229), 116, 37);
-            Add_Goto (Table.States (229), 126, 39);
-            Add_Goto (Table.States (229), 129, 40);
-            Add_Goto (Table.States (229), 131, 42);
-            Add_Goto (Table.States (229), 134, 43);
-            Add_Goto (Table.States (229), 135, 44);
-            Add_Goto (Table.States (229), 136, 45);
-            Add_Goto (Table.States (229), 142, 48);
-            Add_Goto (Table.States (229), 154, 51);
-            Add_Goto (Table.States (229), 155, 52);
-            Add_Goto (Table.States (229), 164, 54);
-            Add_Goto (Table.States (229), 193, 58);
-            Add_Goto (Table.States (229), 199, 60);
-            Add_Goto (Table.States (229), 220, 69);
-            Add_Goto (Table.States (229), 225, 71);
-            Add_Goto (Table.States (229), 235, 73);
-            Add_Goto (Table.States (229), 242, 74);
-            Add_Goto (Table.States (229), 260, 84);
-            Add_Goto (Table.States (229), 264, 87);
-            Add_Goto (Table.States (229), 275, 93);
-            Add_Goto (Table.States (229), 279, 94);
-            Add_Goto (Table.States (229), 293, 97);
-            Add_Goto (Table.States (229), 296, 98);
-            Add_Goto (Table.States (229), 297, 99);
-            Add_Goto (Table.States (229), 301, 100);
-            Add_Goto (Table.States (229), 302, 364);
-            Add_Goto (Table.States (229), 303, 399);
-            Add_Goto (Table.States (229), 305, 101);
-            Add_Goto (Table.States (229), 306, 102);
-            Add_Goto (Table.States (229), 309, 366);
-            Add_Goto (Table.States (229), 326, 115);
-            Table.States (229).Kernel := To_Vector ((0 => ((235, 1),  37,  3, 
(2147483647, 0),  0)));
-            Table.States (229).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (303, 1),  0)));
-            Table.States (230).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (230), 37, (235, 0), 400);
-            Table.States (230).Kernel := To_Vector ((0 => ((235, 0),  232,  4, 
(2147483647, 0),  0)));
-            Table.States (230).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (235, 0),  37, 400)));
-            Table.States (231).Action_List.Set_Capacity (40);
-            Add_Action (Table.States (231), (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, 81, 
96, 107, 108, 109, 110), (146, 0),  2,
-            compilation_0'Access, null);
-            Table.States (231).Kernel := To_Vector ((0 => ((146, 0),  145,  0, 
(146, 0),  2)));
-            Table.States (231).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (146, 0),  2)));
-            Table.States (232).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (232), 81, (242, 8), 31);
-            Add_Action (Table.States (232), 107, (242, 5), 120);
-            Add_Action (Table.States (232), 108, (242, 7), 34);
-            Add_Action (Table.States (232), 109, (242, 6), 35);
-            Table.States (232).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (232), 131, 42);
-            Add_Goto (Table.States (232), 242, 401);
-            Add_Goto (Table.States (232), 275, 93);
-            Add_Goto (Table.States (232), 296, 98);
-            Table.States (232).Kernel := To_Vector ((((254, 0),  47,  4, 
(2147483647, 0),  0), ((254, 1),  47,  3,
-            (2147483647, 0),  0)));
-            Table.States (232).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (233).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (233), 99, (217, 0), 402);
-            Table.States (233).Kernel := To_Vector ((0 => ((217, 0),  254,  1, 
(2147483647, 0),  0)));
-            Table.States (233).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (217, 0),  99, 402)));
-            Table.States (234).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (234), 74, (125, 0), 340);
-            Add_Action (Table.States (234), 99, Reduce, (125, 1),  0, null, 
null);
-            Table.States (234).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (234), 125, 403);
-            Table.States (234).Kernel := To_Vector ((0 => ((219, 0),  315,  1, 
(2147483647, 0),  0)));
-            Table.States (234).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (235).Action_List.Set_Capacity (13);
-            Add_Action (Table.States (235), 7, Reduce, (121, 1),  0, null, 
null);
-            Add_Action (Table.States (235), 8, (121, 0), 404);
-            Add_Action (Table.States (235), 11, Reduce, (121, 1),  0, null, 
null);
-            Add_Action (Table.States (235), 16, (160, 9), 405);
-            Add_Conflict (Table.States (235), 16, (121, 1),  0, null, null);
-            Add_Action (Table.States (235), 26, (189, 0), 406);
-            Add_Action (Table.States (235), 40, Reduce, (121, 1),  0, null, 
null);
-            Add_Action (Table.States (235), 74, Reduce, (121, 1),  0, null, 
null);
-            Add_Action (Table.States (235), 81, Reduce, (121, 1),  0, null, 
null);
-            Add_Action (Table.States (235), 85, Reduce, (121, 1),  0, null, 
null);
-            Add_Action (Table.States (235), 99, Reduce, (121, 1),  0, null, 
null);
-            Add_Action (Table.States (235), 107, Reduce, (121, 1),  0, null, 
null);
-            Add_Action (Table.States (235), 108, Reduce, (121, 1),  0, null, 
null);
-            Add_Action (Table.States (235), 109, Reduce, (121, 1),  0, null, 
null);
-            Table.States (235).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (235), 121, 407);
-            Table.States (235).Kernel := To_Vector ((((160, 9),  84,  3, 
(2147483647, 0),  0), ((189, 0),  84,  2,
-            (2147483647, 0),  0), ((247, 0),  84,  3, (2147483647, 0),  0), 
((247, 1),  84,  4, (2147483647, 0),  0),
-            ((247, 2),  84,  10, (2147483647, 0),  0), ((247, 3),  84,  2, 
(2147483647, 0),  0), ((247, 4),  84,  3,
-            (2147483647, 0),  0), ((247, 5),  84,  9, (2147483647, 0),  0)));
-            Table.States (235).Minimal_Complete_Actions := To_Vector (((Shift, 
(189, 0),  26, 406), (Reduce, (121, 1),
-            0)));
-            Table.States (236).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (236), 107, (222, 0), 408);
-            Table.States (236).Kernel := To_Vector ((0 => ((222, 0),  86,  1, 
(2147483647, 0),  0)));
-            Table.States (236).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (222, 0),  107, 408)));
-            Table.States (237).Action_List.Set_Capacity (22);
-            Add_Action (Table.States (237), 3, (200, 2), 122);
-            Add_Action (Table.States (237), 15, (139, 0), 260);
-            Add_Action (Table.States (237), 28, (127, 6), 261);
-            Add_Action (Table.States (237), 32, (224, 0), 262);
-            Add_Action (Table.States (237), 39, (261, 4), 123);
-            Add_Action (Table.States (237), 40, (168, 1), 263);
-            Add_Action (Table.States (237), 41, (261, 1), 125);
-            Add_Action (Table.States (237), 44, (168, 3), 265);
-            Add_Action (Table.States (237), 52, (278, 0), 126);
-            Add_Action (Table.States (237), 76, (120, 0), 127);
-            Add_Action (Table.States (237), 77, (120, 5), 128);
-            Add_Action (Table.States (237), 78, Reduce, (127, 5),  0, null, 
null);
-            Add_Action (Table.States (237), 81, (242, 8), 31);
-            Add_Action (Table.States (237), 82, Reduce, (169, 2),  0, null, 
null);
-            Add_Action (Table.States (237), 86, Reduce, (127, 5),  0, null, 
null);
-            Add_Action (Table.States (237), 90, Reduce, (169, 2),  0, null, 
null);
-            Add_Action (Table.States (237), 97, (333, 1), 129);
-            Add_Action (Table.States (237), 98, (333, 0), 130);
-            Add_Action (Table.States (237), 106, (261, 0), 131);
-            Add_Action (Table.States (237), 107, (242, 5), 120);
-            Add_Action (Table.States (237), 108, (242, 7), 34);
-            Add_Action (Table.States (237), 109, (127, 0), 266);
-            Table.States (237).Goto_List.Set_Capacity (29);
-            Add_Goto (Table.States (237), 120, 132);
-            Add_Goto (Table.States (237), 127, 267);
-            Add_Goto (Table.States (237), 128, 409);
-            Add_Goto (Table.States (237), 131, 42);
-            Add_Goto (Table.States (237), 139, 269);
-            Add_Goto (Table.States (237), 156, 410);
-            Add_Goto (Table.States (237), 168, 271);
-            Add_Goto (Table.States (237), 169, 272);
-            Add_Goto (Table.States (237), 194, 411);
-            Add_Goto (Table.States (237), 200, 135);
-            Add_Goto (Table.States (237), 224, 275);
-            Add_Goto (Table.States (237), 242, 276);
-            Add_Goto (Table.States (237), 261, 137);
-            Add_Goto (Table.States (237), 275, 93);
-            Add_Goto (Table.States (237), 276, 277);
-            Add_Goto (Table.States (237), 278, 138);
-            Add_Goto (Table.States (237), 280, 412);
-            Add_Goto (Table.States (237), 281, 413);
-            Add_Goto (Table.States (237), 285, 139);
-            Add_Goto (Table.States (237), 286, 140);
-            Add_Goto (Table.States (237), 287, 141);
-            Add_Goto (Table.States (237), 288, 142);
-            Add_Goto (Table.States (237), 289, 143);
-            Add_Goto (Table.States (237), 290, 144);
-            Add_Goto (Table.States (237), 296, 98);
-            Add_Goto (Table.States (237), 304, 279);
-            Add_Goto (Table.States (237), 323, 146);
-            Add_Goto (Table.States (237), 324, 147);
-            Add_Goto (Table.States (237), 333, 148);
-            Table.States (237).Kernel := To_Vector ((((118, 0),  76,  1, 
(2147483647, 0),  0), ((118, 1),  76,  3,
-            (2147483647, 0),  0), ((242, 0),  76,  4, (2147483647, 0),  0)));
-            Table.States (237).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (128, 1),  0)));
-            Table.States (238).Action_List.Set_Capacity (15);
-            Add_Action (Table.States (238), 3, (200, 2), 122);
-            Add_Action (Table.States (238), 39, (261, 4), 123);
-            Add_Action (Table.States (238), 40, (200, 3), 124);
-            Add_Action (Table.States (238), 41, (261, 1), 125);
-            Add_Action (Table.States (238), 52, (278, 0), 126);
-            Add_Action (Table.States (238), 76, (120, 0), 127);
-            Add_Action (Table.States (238), 77, (120, 5), 128);
-            Add_Action (Table.States (238), 81, (242, 8), 31);
-            Add_Action (Table.States (238), 97, (333, 1), 129);
-            Add_Action (Table.States (238), 98, (333, 0), 130);
-            Add_Action (Table.States (238), 99, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (238), 106, (261, 0), 131);
-            Add_Action (Table.States (238), 107, (242, 5), 120);
-            Add_Action (Table.States (238), 108, (242, 7), 34);
-            Add_Action (Table.States (238), 109, (242, 6), 35);
-            Table.States (238).Goto_List.Set_Capacity (20);
-            Add_Goto (Table.States (238), 120, 132);
-            Add_Goto (Table.States (238), 131, 42);
-            Add_Goto (Table.States (238), 194, 133);
-            Add_Goto (Table.States (238), 195, 414);
-            Add_Goto (Table.States (238), 200, 135);
-            Add_Goto (Table.States (238), 242, 136);
-            Add_Goto (Table.States (238), 261, 137);
-            Add_Goto (Table.States (238), 275, 93);
-            Add_Goto (Table.States (238), 278, 138);
-            Add_Goto (Table.States (238), 285, 139);
-            Add_Goto (Table.States (238), 286, 140);
-            Add_Goto (Table.States (238), 287, 141);
-            Add_Goto (Table.States (238), 288, 142);
-            Add_Goto (Table.States (238), 289, 143);
-            Add_Goto (Table.States (238), 290, 144);
-            Add_Goto (Table.States (238), 296, 98);
-            Add_Goto (Table.States (238), 304, 145);
-            Add_Goto (Table.States (238), 323, 146);
-            Add_Goto (Table.States (238), 324, 147);
-            Add_Goto (Table.States (238), 333, 148);
-            Table.States (238).Kernel := To_Vector ((0 => ((126, 0),  85,  1, 
(2147483647, 0),  0)));
-            Table.States (238).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (195, 1),  0)));
-            Table.States (239).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (239), 9, (296, 3), 415);
-            Add_Action (Table.States (239), 107, (296, 0), 416);
-            Add_Action (Table.States (239), 108, (296, 2), 417);
-            Add_Action (Table.States (239), 109, (296, 1), 418);
-            Table.States (239).Kernel := To_Vector ((((296, 0),  87,  1, 
(2147483647, 0),  0), ((296, 1),  87,  1,
-            (2147483647, 0),  0), ((296, 2),  87,  1, (2147483647, 0),  0), 
((296, 3),  87,  1, (2147483647, 0),  0)));
-            Table.States (240).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (240), (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, 81, 96, 107, 108,
-            109, 110), (264, 0),  2, procedure_call_statement_0'Access, null);
-            Table.States (240).Kernel := To_Vector ((0 => ((264, 0),  99,  0, 
(264, 0),  2)));
-            Table.States (240).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (264, 0),  2)));
-            Table.States (241).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (241), (7, 19, 20, 38, 53, 76, 77, 107), 
(325, 0),  1, null, null);
-            Table.States (241).Kernel := To_Vector ((0 => ((325, 0),  104,  0, 
(325, 0),  1)));
-            Table.States (241).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (325, 0),  1)));
-            Table.States (242).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (242), (7, 19, 20, 38, 53, 76, 77, 107), 
(325, 1),  1, null, null);
-            Table.States (242).Kernel := To_Vector ((0 => ((325, 1),  105,  0, 
(325, 1),  1)));
-            Table.States (242).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (325, 1),  1)));
-            Table.States (243).Action_List.Set_Capacity (65);
-            Add_Action (Table.States (243), (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, 78, 79, 80, 81, 82, 85, 86, 87, 88,
-            89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 
105, 107, 108, 109), (242, 1),  2,
-            name_1'Access, null);
-            Table.States (243).Kernel := To_Vector ((0 => ((242, 1),  118,  0, 
(242, 1),  2)));
-            Table.States (243).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (242, 1),  2)));
-            Table.States (244).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (244), 7, (132, 2), 419);
-            Add_Action (Table.States (244), 19, (132, 3), 420);
-            Add_Action (Table.States (244), 20, (132, 4), 421);
-            Add_Action (Table.States (244), 38, (132, 5), 422);
-            Add_Action (Table.States (244), 76, (120, 0), 127);
-            Add_Action (Table.States (244), 77, (120, 5), 128);
-            Add_Action (Table.States (244), 107, (132, 0), 423);
-            Table.States (244).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (244), 120, 424);
-            Add_Goto (Table.States (244), 132, 425);
-            Table.States (244).Kernel := To_Vector ((((131, 0),  325,  1, 
(2147483647, 0),  0), ((275, 0),  325,  2,
-            (2147483647, 0),  0)));
-            Table.States (245).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (245), 107, (182, 0), 426);
-            Table.States (245).Kernel := To_Vector ((((182, 0),  25,  5, 
(2147483647, 0),  0), ((182, 1),  25,  2,
-            (2147483647, 0),  0)));
-            Table.States (245).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (182, 0),  107, 426)));
-            Table.States (246).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (246), 81, (242, 8), 31);
-            Add_Action (Table.States (246), 107, (242, 5), 120);
-            Add_Action (Table.States (246), 108, (242, 7), 34);
-            Add_Action (Table.States (246), 109, (242, 6), 35);
-            Table.States (246).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (246), 131, 42);
-            Add_Goto (Table.States (246), 242, 427);
-            Add_Goto (Table.States (246), 275, 93);
-            Add_Goto (Table.States (246), 296, 98);
-            Table.States (246).Kernel := To_Vector ((((210, 0),  29,  2, 
(2147483647, 0),  0), ((216, 2),  29,  5,
-            (2147483647, 0),  0)));
-            Table.States (246).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (247).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (247), 81, (242, 8), 31);
-            Add_Action (Table.States (247), 107, (242, 5), 120);
-            Add_Action (Table.States (247), 108, (242, 7), 34);
-            Add_Action (Table.States (247), 109, (242, 6), 35);
-            Table.States (247).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (247), 131, 42);
-            Add_Goto (Table.States (247), 242, 428);
-            Add_Goto (Table.States (247), 275, 93);
-            Add_Goto (Table.States (247), 296, 98);
-            Table.States (247).Kernel := To_Vector ((((216, 1),  50,  5, 
(2147483647, 0),  0), ((265, 0),  50,  1,
-            (2147483647, 0),  0)));
-            Table.States (247).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (248).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (248), 35, (196, 0), 429);
-            Add_Conflict (Table.States (248), 35, (315, 1),  1, null, 
subprogram_specification_1_check'Access);
-            Add_Action (Table.States (248), 56, Reduce, (315, 1),  1, null, 
subprogram_specification_1_check'Access);
-            Add_Action (Table.States (248), 74, Reduce, (315, 1),  1, null, 
subprogram_specification_1_check'Access);
-            Add_Action (Table.States (248), 99, Reduce, (315, 1),  1, null, 
subprogram_specification_1_check'Access);
-            Table.States (248).Kernel := To_Vector ((((196, 0),  210,  4, 
(2147483647, 0),  0), ((315, 1),  210,  0,
-            (315, 1),  1)));
-            Table.States (248).Minimal_Complete_Actions := To_Vector (((Shift, 
(196, 0),  35, 429), (Reduce, (315, 1),
-            1)));
-            Table.States (249).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (249), 35, (246, 0), 430);
-            Add_Conflict (Table.States (249), 35, (315, 0),  1, null, 
subprogram_specification_0_check'Access);
-            Add_Action (Table.States (249), 56, Reduce, (315, 0),  1, null, 
subprogram_specification_0_check'Access);
-            Add_Action (Table.States (249), 74, Reduce, (315, 0),  1, null, 
subprogram_specification_0_check'Access);
-            Add_Action (Table.States (249), 99, Reduce, (315, 0),  1, null, 
subprogram_specification_0_check'Access);
-            Table.States (249).Kernel := To_Vector ((((246, 0),  265,  3, 
(2147483647, 0),  0), ((315, 0),  265,  0,
-            (315, 0),  1)));
-            Table.States (249).Minimal_Complete_Actions := To_Vector (((Shift, 
(246, 0),  35, 430), (Reduce, (315, 0),
-            1)));
-            Table.States (250).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (250), 35, (115, 0), 431);
-            Add_Conflict (Table.States (250), 35, (125, 1),  0, null, null);
-            Add_Action (Table.States (250), 56, (314, 0), 432);
-            Add_Action (Table.States (250), 74, (125, 0), 340);
-            Add_Action (Table.States (250), 99, Reduce, (125, 1),  0, null, 
null);
-            Table.States (250).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (250), 125, 433);
-            Table.States (250).Kernel := To_Vector ((((115, 0),  315,  3, 
(2147483647, 0),  0), ((310, 0),  315,  4,
-            (2147483647, 0),  0), ((311, 0),  315,  3, (2147483647, 0),  0), 
((312, 0),  315,  1, (2147483647, 0),  0),
-            ((314, 0),  315,  3, (2147483647, 0),  0)));
-            Table.States (250).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (251).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (251), (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, 
81, 96, 107, 108, 109, 110), (252, 0),  2,
-            package_declaration_0'Access, null);
-            Table.States (251).Kernel := To_Vector ((0 => ((252, 0),  99,  0, 
(252, 0),  2)));
-            Table.States (251).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (252, 0),  2)));
-            Table.States (252).Action_List.Set_Capacity (22);
-            Add_Action (Table.States (252), 3, (200, 2), 122);
-            Add_Action (Table.States (252), 15, (139, 0), 260);
-            Add_Action (Table.States (252), 28, (127, 6), 261);
-            Add_Action (Table.States (252), 32, (224, 0), 262);
-            Add_Action (Table.States (252), 39, (261, 4), 123);
-            Add_Action (Table.States (252), 40, (168, 1), 263);
-            Add_Action (Table.States (252), 41, (261, 1), 125);
-            Add_Action (Table.States (252), 44, (168, 3), 265);
-            Add_Action (Table.States (252), 52, (278, 0), 126);
-            Add_Action (Table.States (252), 76, (120, 0), 127);
-            Add_Action (Table.States (252), 77, (120, 5), 128);
-            Add_Action (Table.States (252), 78, Reduce, (127, 5),  0, null, 
null);
-            Add_Action (Table.States (252), 81, (242, 8), 31);
-            Add_Action (Table.States (252), 82, Reduce, (169, 2),  0, null, 
null);
-            Add_Action (Table.States (252), 86, Reduce, (127, 5),  0, null, 
null);
-            Add_Action (Table.States (252), 90, Reduce, (169, 2),  0, null, 
null);
-            Add_Action (Table.States (252), 97, (333, 1), 129);
-            Add_Action (Table.States (252), 98, (333, 0), 130);
-            Add_Action (Table.States (252), 106, (261, 0), 131);
-            Add_Action (Table.States (252), 107, (242, 5), 120);
-            Add_Action (Table.States (252), 108, (242, 7), 34);
-            Add_Action (Table.States (252), 109, (127, 0), 266);
-            Table.States (252).Goto_List.Set_Capacity (28);
-            Add_Goto (Table.States (252), 120, 132);
-            Add_Goto (Table.States (252), 127, 267);
-            Add_Goto (Table.States (252), 128, 409);
-            Add_Goto (Table.States (252), 131, 42);
-            Add_Goto (Table.States (252), 139, 269);
-            Add_Goto (Table.States (252), 156, 410);
-            Add_Goto (Table.States (252), 168, 271);
-            Add_Goto (Table.States (252), 169, 272);
-            Add_Goto (Table.States (252), 194, 411);
-            Add_Goto (Table.States (252), 200, 135);
-            Add_Goto (Table.States (252), 224, 275);
-            Add_Goto (Table.States (252), 242, 276);
-            Add_Goto (Table.States (252), 261, 137);
-            Add_Goto (Table.States (252), 275, 93);
-            Add_Goto (Table.States (252), 276, 277);
-            Add_Goto (Table.States (252), 278, 138);
-            Add_Goto (Table.States (252), 280, 278);
-            Add_Goto (Table.States (252), 285, 139);
-            Add_Goto (Table.States (252), 286, 140);
-            Add_Goto (Table.States (252), 287, 141);
-            Add_Goto (Table.States (252), 288, 142);
-            Add_Goto (Table.States (252), 289, 143);
-            Add_Goto (Table.States (252), 290, 144);
-            Add_Goto (Table.States (252), 296, 98);
-            Add_Goto (Table.States (252), 304, 279);
-            Add_Goto (Table.States (252), 323, 146);
-            Add_Goto (Table.States (252), 324, 147);
-            Add_Goto (Table.States (252), 333, 148);
-            Table.States (252).Kernel := To_Vector ((((118, 0),  76,  1, 
(2147483647, 0),  0), ((118, 1),  76,  3,
-            (2147483647, 0),  0)));
-            Table.States (252).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (128, 1),  0)));
-            Table.States (253).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (253), (21, 76, 99), (119, 0),  1, null, 
null);
-            Table.States (253).Kernel := To_Vector ((0 => ((119, 0),  118,  0, 
(119, 0),  1)));
-            Table.States (253).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (119, 0),  1)));
-            Table.States (254).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (254), 21, Reduce, (256, 1),  0, null, 
null);
-            Add_Action (Table.States (254), 76, (202, 0), 434);
-            Add_Action (Table.States (254), 99, Reduce, (256, 1),  0, null, 
null);
-            Table.States (254).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (254), 202, 347);
-            Add_Goto (Table.States (254), 256, 435);
-            Table.States (254).Kernel := To_Vector ((((116, 0),  119,  3, 
(2147483647, 0),  0), ((116, 1),  119,  1,
-            (2147483647, 0),  0)));
-            Table.States (254).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (256, 1),  0)));
-            Table.States (255).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (255), (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, 81, 96, 107, 108,
-            109, 110), (306, 8),  3, simple_statement_8'Access, null);
-            Table.States (255).Kernel := To_Vector ((0 => ((306, 8),  99,  0, 
(306, 8),  3)));
-            Table.States (255).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (306, 8),  3)));
-            Table.States (256).Action_List.Set_Capacity (36);
-            Add_Action (Table.States (256), (10, 20, 21, 22, 23, 33, 35, 37, 
38, 40, 42, 43, 53, 55, 68, 74, 75, 78,
-            79, 80, 82, 85, 86, 88, 89, 90, 91, 92, 94, 95, 97, 98, 99, 100, 
101, 102), (200, 2),  2, null, null);
-            Table.States (256).Kernel := To_Vector ((0 => ((200, 2),  261,  0, 
(200, 2),  2)));
-            Table.States (256).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (200, 2),  2)));
-            Table.States (257).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (257), 10, Reduce, (261, 4),  2, 
primary_4'Access, null);
-            Add_Action (Table.States (257), 20, Reduce, (261, 4),  2, 
primary_4'Access, null);
-            Add_Action (Table.States (257), 21, Reduce, (261, 4),  2, 
primary_4'Access, null);
-            Add_Action (Table.States (257), 22, Reduce, (261, 4),  2, 
primary_4'Access, null);
-            Add_Action (Table.States (257), 23, Reduce, (261, 4),  2, 
primary_4'Access, null);
-            Add_Action (Table.States (257), 33, Reduce, (261, 4),  2, 
primary_4'Access, null);
-            Add_Action (Table.States (257), 35, Reduce, (261, 4),  2, 
primary_4'Access, null);
-            Add_Action (Table.States (257), 37, Reduce, (261, 4),  2, 
primary_4'Access, null);
-            Add_Action (Table.States (257), 38, Reduce, (261, 4),  2, 
primary_4'Access, null);
-            Add_Action (Table.States (257), 40, Reduce, (261, 4),  2, 
primary_4'Access, null);
-            Add_Action (Table.States (257), 42, Reduce, (261, 4),  2, 
primary_4'Access, null);
-            Add_Action (Table.States (257), 43, Reduce, (261, 4),  2, 
primary_4'Access, null);
-            Add_Action (Table.States (257), 53, Reduce, (261, 4),  2, 
primary_4'Access, null);
-            Add_Action (Table.States (257), 55, Reduce, (261, 4),  2, 
primary_4'Access, null);
-            Add_Action (Table.States (257), 68, Reduce, (261, 4),  2, 
primary_4'Access, null);
-            Add_Action (Table.States (257), 74, Reduce, (261, 4),  2, 
primary_4'Access, null);
-            Add_Action (Table.States (257), 75, Reduce, (261, 4),  2, 
primary_4'Access, null);
-            Add_Action (Table.States (257), 76, (118, 0), 237);
-            Add_Action (Table.States (257), 78, Reduce, (261, 4),  2, 
primary_4'Access, null);
-            Add_Action (Table.States (257), 79, Reduce, (261, 4),  2, 
primary_4'Access, null);
-            Add_Action (Table.States (257), 80, Reduce, (261, 4),  2, 
primary_4'Access, null);
-            Add_Action (Table.States (257), 82, Reduce, (261, 4),  2, 
primary_4'Access, null);
-            Add_Action (Table.States (257), 85, Reduce, (261, 4),  2, 
primary_4'Access, null);
-            Add_Action (Table.States (257), 86, Reduce, (261, 4),  2, 
primary_4'Access, null);
-            Add_Action (Table.States (257), 87, (296, 0), 239);
-            Add_Action (Table.States (257), 88, Reduce, (261, 4),  2, 
primary_4'Access, null);
-            Add_Action (Table.States (257), 89, Reduce, (261, 4),  2, 
primary_4'Access, null);
-            Add_Action (Table.States (257), 90, Reduce, (261, 4),  2, 
primary_4'Access, null);
-            Add_Action (Table.States (257), 91, Reduce, (261, 4),  2, 
primary_4'Access, null);
-            Add_Action (Table.States (257), 92, Reduce, (261, 4),  2, 
primary_4'Access, null);
-            Add_Action (Table.States (257), 94, Reduce, (261, 4),  2, 
primary_4'Access, null);
-            Add_Action (Table.States (257), 95, Reduce, (261, 4),  2, 
primary_4'Access, null);
-            Add_Action (Table.States (257), 97, Reduce, (261, 4),  2, 
primary_4'Access, null);
-            Add_Action (Table.States (257), 98, Reduce, (261, 4),  2, 
primary_4'Access, null);
-            Add_Action (Table.States (257), 99, Reduce, (261, 4),  2, 
primary_4'Access, null);
-            Add_Action (Table.States (257), 100, Reduce, (261, 4),  2, 
primary_4'Access, null);
-            Add_Action (Table.States (257), 101, Reduce, (261, 4),  2, 
primary_4'Access, null);
-            Add_Action (Table.States (257), 102, Reduce, (261, 4),  2, 
primary_4'Access, null);
-            Add_Action (Table.States (257), 103, Reduce, (261, 4),  2, 
primary_4'Access, null);
-            Add_Action (Table.States (257), 104, (325, 0), 241);
-            Add_Action (Table.States (257), 105, (325, 1), 242);
-            Table.States (257).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (257), 118, 243);
-            Add_Goto (Table.States (257), 325, 244);
-            Table.States (257).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((242, 0),  242,  5,
-            (2147483647, 0),  0), ((242, 1),  242,  2, (2147483647, 0),  0), 
((261, 4),  242,  0, (261, 4),  2), ((275,
-            0),  242,  3, (2147483647, 0),  0), ((296, 0),  242,  2, 
(2147483647, 0),  0), ((296, 1),  242,  2,
-            (2147483647, 0),  0), ((296, 2),  242,  2, (2147483647, 0),  0), 
((296, 3),  242,  2, (2147483647, 0),
-            0)));
-            Table.States (257).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (261, 4),  2)));
-            Table.States (258).Action_List.Set_Capacity (36);
-            Add_Action (Table.States (258), (10, 20, 21, 22, 23, 33, 35, 37, 
38, 40, 42, 43, 53, 55, 68, 74, 75, 78,
-            79, 80, 82, 85, 86, 88, 89, 90, 91, 92, 94, 95, 97, 98, 99, 100, 
101, 102), (200, 3),  2, null, null);
-            Table.States (258).Kernel := To_Vector ((0 => ((200, 3),  261,  0, 
(200, 3),  2)));
-            Table.States (258).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (200, 3),  2)));
-            Table.States (259).Action_List.Set_Capacity (22);
-            Add_Action (Table.States (259), 10, Reduce, (278, 1),  2, null, 
null);
-            Add_Action (Table.States (259), 20, Reduce, (278, 1),  2, null, 
null);
-            Add_Action (Table.States (259), 21, Reduce, (278, 1),  2, null, 
null);
-            Add_Action (Table.States (259), 22, Reduce, (278, 1),  2, null, 
null);
-            Add_Action (Table.States (259), 23, Reduce, (278, 1),  2, null, 
null);
-            Add_Action (Table.States (259), 35, Reduce, (278, 1),  2, null, 
null);
-            Add_Action (Table.States (259), 37, Reduce, (278, 1),  2, null, 
null);
-            Add_Action (Table.States (259), 43, Reduce, (278, 1),  2, null, 
null);
-            Add_Action (Table.States (259), 53, Reduce, (278, 1),  2, null, 
null);
-            Add_Action (Table.States (259), 68, Reduce, (278, 1),  2, null, 
null);
-            Add_Action (Table.States (259), 74, (278, 0), 436);
-            Add_Conflict (Table.States (259), 74, (278, 1),  2, null, null);
-            Add_Action (Table.States (259), 75, Reduce, (278, 1),  2, null, 
null);
-            Add_Action (Table.States (259), 76, (118, 0), 237);
-            Add_Action (Table.States (259), 78, Reduce, (278, 1),  2, null, 
null);
-            Add_Action (Table.States (259), 79, Reduce, (278, 1),  2, null, 
null);
-            Add_Action (Table.States (259), 82, Reduce, (278, 1),  2, null, 
null);
-            Add_Action (Table.States (259), 86, Reduce, (278, 1),  2, null, 
null);
-            Add_Action (Table.States (259), 87, (296, 0), 239);
-            Add_Action (Table.States (259), 90, Reduce, (278, 1),  2, null, 
null);
-            Add_Action (Table.States (259), 99, Reduce, (278, 1),  2, null, 
null);
-            Add_Action (Table.States (259), 104, (325, 0), 241);
-            Add_Action (Table.States (259), 105, (325, 1), 242);
-            Table.States (259).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (259), 118, 243);
-            Add_Goto (Table.States (259), 325, 244);
-            Table.States (259).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((242, 0),  242,  5,
-            (2147483647, 0),  0), ((242, 1),  242,  2, (2147483647, 0),  0), 
((275, 0),  242,  3, (2147483647, 0),  0),
-            ((278, 0),  242,  1, (2147483647, 0),  0), ((278, 1),  242,  0, 
(278, 1),  2), ((296, 0),  242,  2,
-            (2147483647, 0),  0), ((296, 1),  242,  2, (2147483647, 0),  0), 
((296, 2),  242,  2, (2147483647, 0),  0),
-            ((296, 3),  242,  2, (2147483647, 0),  0)));
-            Table.States (259).Minimal_Complete_Actions := To_Vector (((Shift, 
(278, 0),  74, 436), (Reduce, (278, 1),
-            2)));
-            Table.States (260).Action_List.Set_Capacity (15);
-            Add_Action (Table.States (260), 3, (200, 2), 122);
-            Add_Action (Table.States (260), 35, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (260), 39, (261, 4), 123);
-            Add_Action (Table.States (260), 40, (200, 3), 124);
-            Add_Action (Table.States (260), 41, (261, 1), 125);
-            Add_Action (Table.States (260), 52, (278, 0), 126);
-            Add_Action (Table.States (260), 76, (120, 0), 127);
-            Add_Action (Table.States (260), 77, (120, 5), 128);
-            Add_Action (Table.States (260), 81, (242, 8), 31);
-            Add_Action (Table.States (260), 97, (333, 1), 129);
-            Add_Action (Table.States (260), 98, (333, 0), 130);
-            Add_Action (Table.States (260), 106, (261, 0), 131);
-            Add_Action (Table.States (260), 107, (242, 5), 120);
-            Add_Action (Table.States (260), 108, (242, 7), 34);
-            Add_Action (Table.States (260), 109, (242, 6), 35);
-            Table.States (260).Goto_List.Set_Capacity (20);
-            Add_Goto (Table.States (260), 120, 132);
-            Add_Goto (Table.States (260), 131, 42);
-            Add_Goto (Table.States (260), 194, 133);
-            Add_Goto (Table.States (260), 195, 437);
-            Add_Goto (Table.States (260), 200, 135);
-            Add_Goto (Table.States (260), 242, 136);
-            Add_Goto (Table.States (260), 261, 137);
-            Add_Goto (Table.States (260), 275, 93);
-            Add_Goto (Table.States (260), 278, 138);
-            Add_Goto (Table.States (260), 285, 139);
-            Add_Goto (Table.States (260), 286, 140);
-            Add_Goto (Table.States (260), 287, 141);
-            Add_Goto (Table.States (260), 288, 142);
-            Add_Goto (Table.States (260), 289, 143);
-            Add_Goto (Table.States (260), 290, 144);
-            Add_Goto (Table.States (260), 296, 98);
-            Add_Goto (Table.States (260), 304, 145);
-            Add_Goto (Table.States (260), 323, 146);
-            Add_Goto (Table.States (260), 324, 147);
-            Add_Goto (Table.States (260), 333, 148);
-            Table.States (260).Kernel := To_Vector ((0 => ((139, 0),  15,  3, 
(2147483647, 0),  0)));
-            Table.States (260).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (195, 1),  0)));
-            Table.States (261).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (261), 9, (277, 0), 438);
-            Add_Action (Table.States (261), 62, (277, 1), 439);
-            Add_Action (Table.States (261), 107, (127, 6), 440);
-            Table.States (261).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (261), 233, 441);
-            Add_Goto (Table.States (261), 277, 442);
-            Table.States (261).Kernel := To_Vector ((((127, 6),  28,  4, 
(2147483647, 0),  0), ((127, 7),  28,  5,
-            (2147483647, 0),  0), ((276, 0),  28,  5, (2147483647, 0),  0)));
-            Table.States (261).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (127, 6),  107, 440)));
-            Table.States (262).Action_List.Set_Capacity (15);
-            Add_Action (Table.States (262), 3, (200, 2), 122);
-            Add_Action (Table.States (262), 39, (261, 4), 123);
-            Add_Action (Table.States (262), 40, (200, 3), 124);
-            Add_Action (Table.States (262), 41, (261, 1), 125);
-            Add_Action (Table.States (262), 52, (278, 0), 126);
-            Add_Action (Table.States (262), 68, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (262), 76, (120, 0), 127);
-            Add_Action (Table.States (262), 77, (120, 5), 128);
-            Add_Action (Table.States (262), 81, (242, 8), 31);
-            Add_Action (Table.States (262), 97, (333, 1), 129);
-            Add_Action (Table.States (262), 98, (333, 0), 130);
-            Add_Action (Table.States (262), 106, (261, 0), 131);
-            Add_Action (Table.States (262), 107, (242, 5), 120);
-            Add_Action (Table.States (262), 108, (242, 7), 34);
-            Add_Action (Table.States (262), 109, (242, 6), 35);
-            Table.States (262).Goto_List.Set_Capacity (20);
-            Add_Goto (Table.States (262), 120, 132);
-            Add_Goto (Table.States (262), 131, 42);
-            Add_Goto (Table.States (262), 194, 133);
-            Add_Goto (Table.States (262), 195, 443);
-            Add_Goto (Table.States (262), 200, 135);
-            Add_Goto (Table.States (262), 242, 136);
-            Add_Goto (Table.States (262), 261, 137);
-            Add_Goto (Table.States (262), 275, 93);
-            Add_Goto (Table.States (262), 278, 138);
-            Add_Goto (Table.States (262), 285, 139);
-            Add_Goto (Table.States (262), 286, 140);
-            Add_Goto (Table.States (262), 287, 141);
-            Add_Goto (Table.States (262), 288, 142);
-            Add_Goto (Table.States (262), 289, 143);
-            Add_Goto (Table.States (262), 290, 144);
-            Add_Goto (Table.States (262), 296, 98);
-            Add_Goto (Table.States (262), 304, 145);
-            Add_Goto (Table.States (262), 323, 146);
-            Add_Goto (Table.States (262), 324, 147);
-            Add_Goto (Table.States (262), 333, 148);
-            Table.States (262).Kernel := To_Vector ((((224, 0),  32,  4, 
(2147483647, 0),  0), ((224, 1),  32,  2,
-            (2147483647, 0),  0), ((224, 2),  32,  3, (2147483647, 0),  0), 
((224, 3),  32,  1, (2147483647, 0),  0)));
-            Table.States (262).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (195, 1),  0)));
-            Table.States (263).Action_List.Set_Capacity (9);
-            Add_Action (Table.States (263), 39, (261, 4), 123);
-            Add_Action (Table.States (263), 41, (168, 1), 444);
-            Add_Action (Table.States (263), 76, (120, 0), 127);
-            Add_Action (Table.States (263), 77, (120, 5), 128);
-            Add_Action (Table.States (263), 81, (242, 8), 31);
-            Add_Action (Table.States (263), 106, (261, 0), 131);
-            Add_Action (Table.States (263), 107, (242, 5), 120);
-            Add_Action (Table.States (263), 108, (242, 7), 34);
-            Add_Action (Table.States (263), 109, (242, 6), 35);
-            Table.States (263).Goto_List.Set_Capacity (6);
-            Add_Goto (Table.States (263), 120, 132);
-            Add_Goto (Table.States (263), 131, 42);
-            Add_Goto (Table.States (263), 242, 136);
-            Add_Goto (Table.States (263), 261, 258);
-            Add_Goto (Table.States (263), 275, 93);
-            Add_Goto (Table.States (263), 296, 98);
-            Table.States (263).Kernel := To_Vector ((((168, 1),  40,  2, 
(2147483647, 0),  0), ((200, 3),  40,  1,
-            (2147483647, 0),  0)));
-            Table.States (263).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (261, 0),  106, 131)));
-            Table.States (264).Action_List.Set_Capacity (26);
-            Add_Action (Table.States (264), 10, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (264), 33, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (264), 38, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (264), 40, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (264), 43, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (264), 54, (120, 1), 445);
-            Add_Action (Table.States (264), 55, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (264), 74, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (264), 75, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (264), 78, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (264), 80, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (264), 82, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (264), 86, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (264), 88, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (264), 89, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (264), 90, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (264), 91, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (264), 92, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (264), 94, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (264), 95, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (264), 97, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (264), 98, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (264), 100, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (264), 101, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (264), 102, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (264), 103, Reduce, (261, 1),  1, null, 
null);
-            Table.States (264).Kernel := To_Vector ((((120, 1),  41,  2, 
(2147483647, 0),  0), ((261, 1),  41,  0,
-            (261, 1),  1)));
-            Table.States (264).Minimal_Complete_Actions := To_Vector (((Shift, 
(120, 1),  54, 445), (Reduce, (261, 1),
-            1)));
-         end Subr_5;
-         procedure Subr_6
-         is begin
-            Table.States (265).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (265), (82, 90), (168, 3),  1, null, 
null);
-            Table.States (265).Kernel := To_Vector ((0 => ((168, 3),  44,  0, 
(168, 3),  1)));
-            Table.States (265).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (168, 3),  1)));
-            Table.States (266).Action_List.Set_Capacity (33);
-            Add_Action (Table.States (266), 10, Reduce, (242, 6),  1, null, 
null);
-            Add_Action (Table.States (266), 33, Reduce, (242, 6),  1, null, 
null);
-            Add_Action (Table.States (266), 35, Reduce, (242, 6),  1, null, 
null);
-            Add_Action (Table.States (266), 38, Reduce, (242, 6),  1, null, 
null);
-            Add_Action (Table.States (266), 40, Reduce, (242, 6),  1, null, 
null);
-            Add_Action (Table.States (266), 43, Reduce, (242, 6),  1, null, 
null);
-            Add_Action (Table.States (266), 53, Reduce, (242, 6),  1, null, 
null);
-            Add_Action (Table.States (266), 55, Reduce, (242, 6),  1, null, 
null);
-            Add_Action (Table.States (266), 74, Reduce, (242, 6),  1, null, 
null);
-            Add_Action (Table.States (266), 75, Reduce, (242, 6),  1, null, 
null);
-            Add_Action (Table.States (266), 76, Reduce, (242, 6),  1, null, 
null);
-            Add_Action (Table.States (266), 78, Reduce, (242, 6),  1, null, 
null);
-            Add_Action (Table.States (266), 79, Reduce, (242, 6),  1, null, 
null);
-            Add_Action (Table.States (266), 80, Reduce, (242, 6),  1, null, 
null);
-            Add_Action (Table.States (266), 82, Reduce, (242, 6),  1, null, 
null);
-            Add_Action (Table.States (266), 86, Reduce, (242, 6),  1, null, 
null);
-            Add_Action (Table.States (266), 87, Reduce, (242, 6),  1, null, 
null);
-            Add_Action (Table.States (266), 88, Reduce, (242, 6),  1, null, 
null);
-            Add_Action (Table.States (266), 89, Reduce, (242, 6),  1, null, 
null);
-            Add_Action (Table.States (266), 90, (127, 0), 446);
-            Add_Conflict (Table.States (266), 90, (242, 6),  1, null, null);
-            Add_Action (Table.States (266), 91, Reduce, (242, 6),  1, null, 
null);
-            Add_Action (Table.States (266), 92, Reduce, (242, 6),  1, null, 
null);
-            Add_Action (Table.States (266), 94, Reduce, (242, 6),  1, null, 
null);
-            Add_Action (Table.States (266), 95, Reduce, (242, 6),  1, null, 
null);
-            Add_Action (Table.States (266), 97, Reduce, (242, 6),  1, null, 
null);
-            Add_Action (Table.States (266), 98, Reduce, (242, 6),  1, null, 
null);
-            Add_Action (Table.States (266), 99, Reduce, (242, 6),  1, null, 
null);
-            Add_Action (Table.States (266), 100, Reduce, (242, 6),  1, null, 
null);
-            Add_Action (Table.States (266), 101, Reduce, (242, 6),  1, null, 
null);
-            Add_Action (Table.States (266), 102, Reduce, (242, 6),  1, null, 
null);
-            Add_Action (Table.States (266), 103, Reduce, (242, 6),  1, null, 
null);
-            Add_Action (Table.States (266), 104, Reduce, (242, 6),  1, null, 
null);
-            Add_Action (Table.States (266), 105, Reduce, (242, 6),  1, null, 
null);
-            Table.States (266).Kernel := To_Vector ((((127, 0),  109,  1, 
(2147483647, 0),  0), ((127, 1),  109,  2,
-            (2147483647, 0),  0), ((242, 6),  109,  0, (242, 6),  1)));
-            Table.States (266).Minimal_Complete_Actions := To_Vector (((Shift, 
(127, 0),  90, 446), (Reduce, (242, 6),
-            1)));
-            Table.States (267).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (267), (35, 78, 79, 86, 99), (128, 1),  
1, null, null);
-            Table.States (267).Kernel := To_Vector ((0 => ((128, 1),  127,  0, 
(128, 1),  1)));
-            Table.States (267).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (128, 1),  1)));
-            Table.States (268).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (268), 78, (120, 0), 447);
-            Add_Action (Table.States (268), 86, (128, 0), 448);
-            Table.States (268).Kernel := To_Vector ((((120, 0),  128,  1, 
(2147483647, 0),  0), ((128, 0),  128,  1,
-            (2147483647, 0),  0)));
-            Table.States (268).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (120, 0),  78, 447)));
-            Table.States (269).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (269), (1 =>  78), (156, 1),  1, null, 
null);
-            Table.States (269).Kernel := To_Vector ((0 => ((156, 1),  139,  0, 
(156, 1),  1)));
-            Table.States (269).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (156, 1),  1)));
-            Table.States (270).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (270), 78, (120, 6), 449);
-            Table.States (270).Kernel := To_Vector ((0 => ((120, 6),  156,  1, 
(2147483647, 0),  0)));
-            Table.States (270).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (120, 6),  78, 449)));
-            Table.States (271).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (271), (82, 90), (169, 1),  1, null, 
null);
-            Table.States (271).Kernel := To_Vector ((0 => ((169, 1),  168,  0, 
(169, 1),  1)));
-            Table.States (271).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (169, 1),  1)));
-            Table.States (272).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (272), 82, (169, 0), 450);
-            Add_Action (Table.States (272), 90, (127, 2), 451);
-            Table.States (272).Kernel := To_Vector ((((127, 2),  169,  1, 
(2147483647, 0),  0), ((127, 3),  169,  2,
-            (2147483647, 0),  0), ((169, 0),  169,  2, (2147483647, 0),  0)));
-            Table.States (273).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (273), 74, (120, 4), 452);
-            Add_Conflict (Table.States (273), 74, (195, 0),  1, null, null);
-            Add_Action (Table.States (273), 78, Reduce, (127, 4),  1, 
association_opt_4'Access, null);
-            Add_Conflict (Table.States (273), 78, (195, 0),  1, null, null);
-            Add_Action (Table.States (273), 82, Reduce, (168, 0),  1, null, 
null);
-            Add_Action (Table.States (273), 86, Reduce, (127, 4),  1, 
association_opt_4'Access, null);
-            Add_Action (Table.States (273), 90, Reduce, (168, 0),  1, null, 
null);
-            Table.States (273).Kernel := To_Vector ((((120, 4),  194,  3, 
(2147483647, 0),  0), ((127, 4),  194,  0,
-            (127, 4),  1), ((168, 0),  194,  0, (168, 0),  1), ((195, 0),  
194,  0, (195, 0),  1)));
-            Table.States (273).Minimal_Complete_Actions := To_Vector (((Shift, 
(120, 4),  74, 452), (Reduce, (127, 4),
-            1), (Reduce, (168, 0),  1), (Reduce, (195, 0),  1)));
-            Table.States (274).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (274), 74, (120, 2), 453);
-            Table.States (274).Kernel := To_Vector ((((120, 2),  195,  4, 
(2147483647, 0),  0), ((120, 3),  195,  2,
-            (2147483647, 0),  0)));
-            Table.States (274).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (120, 2),  74, 453)));
-            Table.States (275).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (275), (1 =>  78), (156, 0),  1, null, 
null);
-            Table.States (275).Kernel := To_Vector ((0 => ((156, 0),  224,  0, 
(156, 0),  1)));
-            Table.States (275).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (156, 0),  1)));
-            Table.States (276).Action_List.Set_Capacity (39);
-            Add_Action (Table.States (276), 10, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (276), 20, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (276), 21, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (276), 22, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (276), 23, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (276), 33, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (276), 35, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (276), 37, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (276), 38, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (276), 40, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (276), 43, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (276), 53, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (276), 55, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (276), 68, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (276), 74, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (276), 75, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (276), 76, (118, 0), 237);
-            Add_Action (Table.States (276), 78, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (276), 79, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (276), 80, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (276), 82, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (276), 86, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (276), 87, (296, 0), 239);
-            Add_Action (Table.States (276), 88, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (276), 89, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (276), 90, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (276), 91, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (276), 92, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (276), 94, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (276), 95, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (276), 97, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (276), 98, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (276), 99, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (276), 100, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (276), 101, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (276), 102, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (276), 103, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (276), 104, (325, 0), 241);
-            Add_Action (Table.States (276), 105, (325, 1), 242);
-            Table.States (276).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (276), 118, 243);
-            Add_Goto (Table.States (276), 325, 454);
-            Table.States (276).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((242, 0),  242,  5,
-            (2147483647, 0),  0), ((242, 1),  242,  2, (2147483647, 0),  0), 
((261, 3),  242,  0, (261, 3),  1), ((275,
-            0),  242,  3, (2147483647, 0),  0), ((280, 0),  242,  4, 
(2147483647, 0),  0), ((280, 1),  242,  2,
-            (2147483647, 0),  0), ((296, 0),  242,  2, (2147483647, 0),  0), 
((296, 1),  242,  2, (2147483647, 0),  0),
-            ((296, 2),  242,  2, (2147483647, 0),  0), ((296, 3),  242,  2, 
(2147483647, 0),  0)));
-            Table.States (276).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (261, 3),  1)));
-            Table.States (277).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (277), (1 =>  78), (156, 2),  1, null, 
null);
-            Table.States (277).Kernel := To_Vector ((0 => ((156, 2),  276,  0, 
(156, 2),  1)));
-            Table.States (277).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (156, 2),  1)));
-            Table.States (278).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (278), (82, 90), (168, 2),  1, null, 
null);
-            Table.States (278).Kernel := To_Vector ((0 => ((168, 2),  280,  0, 
(168, 2),  1)));
-            Table.States (278).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (168, 2),  1)));
-            Table.States (279).Action_List.Set_Capacity (20);
-            Add_Action (Table.States (279), 10, Reduce, (290, 3),  1, null, 
null);
-            Add_Action (Table.States (279), 33, (290, 1), 291);
-            Add_Action (Table.States (279), 35, Reduce, (290, 3),  1, null, 
null);
-            Add_Action (Table.States (279), 40, (290, 0), 292);
-            Add_Action (Table.States (279), 43, Reduce, (290, 3),  1, null, 
null);
-            Add_Action (Table.States (279), 74, Reduce, (290, 3),  1, null, 
null);
-            Add_Action (Table.States (279), 75, Reduce, (290, 3),  1, null, 
null);
-            Add_Action (Table.States (279), 78, Reduce, (290, 3),  1, null, 
null);
-            Add_Action (Table.States (279), 79, Reduce, (290, 3),  1, null, 
null);
-            Add_Action (Table.States (279), 82, Reduce, (290, 3),  1, null, 
null);
-            Add_Action (Table.States (279), 86, Reduce, (290, 3),  1, null, 
null);
-            Add_Action (Table.States (279), 88, (280, 2), 455);
-            Add_Action (Table.States (279), 89, (291, 0), 293);
-            Add_Action (Table.States (279), 90, Reduce, (290, 3),  1, null, 
null);
-            Add_Action (Table.States (279), 91, (291, 4), 294);
-            Add_Action (Table.States (279), 92, (291, 5), 295);
-            Add_Action (Table.States (279), 94, (291, 2), 296);
-            Add_Action (Table.States (279), 95, (291, 3), 297);
-            Add_Action (Table.States (279), 99, Reduce, (290, 3),  1, null, 
null);
-            Add_Action (Table.States (279), 101, (291, 1), 298);
-            Table.States (279).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (279), 291, 299);
-            Table.States (279).Kernel := To_Vector ((((280, 2),  304,  2, 
(2147483647, 0),  0), ((290, 0),  304,  3,
-            (2147483647, 0),  0), ((290, 1),  304,  2, (2147483647, 0),  0), 
((290, 2),  304,  2, (2147483647, 0),  0),
-            ((290, 3),  304,  0, (290, 3),  1)));
-            Table.States (279).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (290, 3),  1)));
-            Table.States (280).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (280), 74, (120, 5), 456);
-            Table.States (280).Kernel := To_Vector ((0 => ((120, 5),  194,  3, 
(2147483647, 0),  0)));
-            Table.States (280).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (120, 5),  74, 456)));
-            Table.States (281).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (281), 72, (143, 0), 457);
-            Table.States (281).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (281), 143, 458);
-            Add_Goto (Table.States (281), 144, 459);
-            Table.States (281).Kernel := To_Vector ((0 => ((142, 0),  35,  5, 
(2147483647, 0),  0)));
-            Table.States (281).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (143, 0),  72, 457)));
-            Table.States (282).Action_List.Set_Capacity (9);
-            Add_Action (Table.States (282), 39, (261, 4), 123);
-            Add_Action (Table.States (282), 41, (261, 1), 125);
-            Add_Action (Table.States (282), 76, (120, 0), 127);
-            Add_Action (Table.States (282), 77, (120, 5), 128);
-            Add_Action (Table.States (282), 81, (242, 8), 31);
-            Add_Action (Table.States (282), 106, (261, 0), 131);
-            Add_Action (Table.States (282), 107, (242, 5), 120);
-            Add_Action (Table.States (282), 108, (242, 7), 34);
-            Add_Action (Table.States (282), 109, (242, 6), 35);
-            Table.States (282).Goto_List.Set_Capacity (6);
-            Add_Goto (Table.States (282), 120, 132);
-            Add_Goto (Table.States (282), 131, 42);
-            Add_Goto (Table.States (282), 242, 136);
-            Add_Goto (Table.States (282), 261, 460);
-            Add_Goto (Table.States (282), 275, 93);
-            Add_Goto (Table.States (282), 296, 98);
-            Table.States (282).Kernel := To_Vector ((0 => ((200, 0),  103,  1, 
(2147483647, 0),  0)));
-            Table.States (282).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (261, 0),  106, 131)));
-            Table.States (283).Action_List.Set_Capacity (14);
-            Add_Action (Table.States (283), 3, (200, 2), 122);
-            Add_Action (Table.States (283), 39, (261, 4), 123);
-            Add_Action (Table.States (283), 40, (200, 3), 124);
-            Add_Action (Table.States (283), 41, (261, 1), 125);
-            Add_Action (Table.States (283), 52, (278, 0), 126);
-            Add_Action (Table.States (283), 76, (120, 0), 127);
-            Add_Action (Table.States (283), 77, (120, 5), 128);
-            Add_Action (Table.States (283), 81, (242, 8), 31);
-            Add_Action (Table.States (283), 97, (333, 1), 129);
-            Add_Action (Table.States (283), 98, (333, 0), 130);
-            Add_Action (Table.States (283), 106, (261, 0), 131);
-            Add_Action (Table.States (283), 107, (242, 5), 120);
-            Add_Action (Table.States (283), 108, (242, 7), 34);
-            Add_Action (Table.States (283), 109, (242, 6), 35);
-            Table.States (283).Goto_List.Set_Capacity (13);
-            Add_Goto (Table.States (283), 120, 132);
-            Add_Goto (Table.States (283), 131, 42);
-            Add_Goto (Table.States (283), 200, 135);
-            Add_Goto (Table.States (283), 242, 136);
-            Add_Goto (Table.States (283), 261, 137);
-            Add_Goto (Table.States (283), 275, 93);
-            Add_Goto (Table.States (283), 278, 138);
-            Add_Goto (Table.States (283), 290, 461);
-            Add_Goto (Table.States (283), 296, 98);
-            Add_Goto (Table.States (283), 304, 145);
-            Add_Goto (Table.States (283), 323, 146);
-            Add_Goto (Table.States (283), 324, 147);
-            Add_Goto (Table.States (283), 333, 148);
-            Table.States (283).Kernel := To_Vector ((0 => ((285, 0),  10,  1, 
(2147483647, 0),  0)));
-            Table.States (283).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (261, 0),  106, 131)));
-            Table.States (284).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (284), 68, (286, 0), 462);
-            Table.States (284).Kernel := To_Vector ((0 => ((286, 0),  10,  2, 
(2147483647, 0),  0)));
-            Table.States (284).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (286, 0),  68, 462)));
-            Table.States (285).Action_List.Set_Capacity (14);
-            Add_Action (Table.States (285), 3, (200, 2), 122);
-            Add_Action (Table.States (285), 39, (261, 4), 123);
-            Add_Action (Table.States (285), 40, (200, 3), 124);
-            Add_Action (Table.States (285), 41, (261, 1), 125);
-            Add_Action (Table.States (285), 52, (278, 0), 126);
-            Add_Action (Table.States (285), 76, (120, 0), 127);
-            Add_Action (Table.States (285), 77, (120, 5), 128);
-            Add_Action (Table.States (285), 81, (242, 8), 31);
-            Add_Action (Table.States (285), 97, (333, 1), 129);
-            Add_Action (Table.States (285), 98, (333, 0), 130);
-            Add_Action (Table.States (285), 106, (261, 0), 131);
-            Add_Action (Table.States (285), 107, (242, 5), 120);
-            Add_Action (Table.States (285), 108, (242, 7), 34);
-            Add_Action (Table.States (285), 109, (242, 6), 35);
-            Table.States (285).Goto_List.Set_Capacity (13);
-            Add_Goto (Table.States (285), 120, 132);
-            Add_Goto (Table.States (285), 131, 42);
-            Add_Goto (Table.States (285), 200, 135);
-            Add_Goto (Table.States (285), 242, 136);
-            Add_Goto (Table.States (285), 261, 137);
-            Add_Goto (Table.States (285), 275, 93);
-            Add_Goto (Table.States (285), 278, 138);
-            Add_Goto (Table.States (285), 290, 463);
-            Add_Goto (Table.States (285), 296, 98);
-            Add_Goto (Table.States (285), 304, 145);
-            Add_Goto (Table.States (285), 323, 146);
-            Add_Goto (Table.States (285), 324, 147);
-            Add_Goto (Table.States (285), 333, 148);
-            Table.States (285).Kernel := To_Vector ((0 => ((287, 0),  43,  1, 
(2147483647, 0),  0)));
-            Table.States (285).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (261, 0),  106, 131)));
-            Table.States (286).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (286), 22, (288, 0), 464);
-            Table.States (286).Kernel := To_Vector ((0 => ((288, 0),  43,  2, 
(2147483647, 0),  0)));
-            Table.States (286).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (288, 0),  22, 464)));
-            Table.States (287).Action_List.Set_Capacity (14);
-            Add_Action (Table.States (287), 3, (200, 2), 122);
-            Add_Action (Table.States (287), 39, (261, 4), 123);
-            Add_Action (Table.States (287), 40, (200, 3), 124);
-            Add_Action (Table.States (287), 41, (261, 1), 125);
-            Add_Action (Table.States (287), 52, (278, 0), 126);
-            Add_Action (Table.States (287), 76, (120, 0), 127);
-            Add_Action (Table.States (287), 77, (120, 5), 128);
-            Add_Action (Table.States (287), 81, (242, 8), 31);
-            Add_Action (Table.States (287), 97, (333, 1), 129);
-            Add_Action (Table.States (287), 98, (333, 0), 130);
-            Add_Action (Table.States (287), 106, (261, 0), 131);
-            Add_Action (Table.States (287), 107, (242, 5), 120);
-            Add_Action (Table.States (287), 108, (242, 7), 34);
-            Add_Action (Table.States (287), 109, (242, 6), 35);
-            Table.States (287).Goto_List.Set_Capacity (13);
-            Add_Goto (Table.States (287), 120, 132);
-            Add_Goto (Table.States (287), 131, 42);
-            Add_Goto (Table.States (287), 200, 135);
-            Add_Goto (Table.States (287), 242, 136);
-            Add_Goto (Table.States (287), 261, 137);
-            Add_Goto (Table.States (287), 275, 93);
-            Add_Goto (Table.States (287), 278, 138);
-            Add_Goto (Table.States (287), 290, 465);
-            Add_Goto (Table.States (287), 296, 98);
-            Add_Goto (Table.States (287), 304, 145);
-            Add_Goto (Table.States (287), 323, 146);
-            Add_Goto (Table.States (287), 324, 147);
-            Add_Goto (Table.States (287), 333, 148);
-            Table.States (287).Kernel := To_Vector ((0 => ((289, 0),  75,  1, 
(2147483647, 0),  0)));
-            Table.States (287).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (261, 0),  106, 131)));
-            Table.States (288).Action_List.Set_Capacity (15);
-            Add_Action (Table.States (288), 3, (200, 2), 122);
-            Add_Action (Table.States (288), 39, (261, 4), 123);
-            Add_Action (Table.States (288), 40, (200, 3), 124);
-            Add_Action (Table.States (288), 41, (261, 1), 125);
-            Add_Action (Table.States (288), 52, (278, 0), 126);
-            Add_Action (Table.States (288), 68, (286, 1), 466);
-            Add_Action (Table.States (288), 76, (120, 0), 127);
-            Add_Action (Table.States (288), 77, (120, 5), 128);
-            Add_Action (Table.States (288), 81, (242, 8), 31);
-            Add_Action (Table.States (288), 97, (333, 1), 129);
-            Add_Action (Table.States (288), 98, (333, 0), 130);
-            Add_Action (Table.States (288), 106, (261, 0), 131);
-            Add_Action (Table.States (288), 107, (242, 5), 120);
-            Add_Action (Table.States (288), 108, (242, 7), 34);
-            Add_Action (Table.States (288), 109, (242, 6), 35);
-            Table.States (288).Goto_List.Set_Capacity (13);
-            Add_Goto (Table.States (288), 120, 132);
-            Add_Goto (Table.States (288), 131, 42);
-            Add_Goto (Table.States (288), 200, 135);
-            Add_Goto (Table.States (288), 242, 136);
-            Add_Goto (Table.States (288), 261, 137);
-            Add_Goto (Table.States (288), 275, 93);
-            Add_Goto (Table.States (288), 278, 138);
-            Add_Goto (Table.States (288), 290, 467);
-            Add_Goto (Table.States (288), 296, 98);
-            Add_Goto (Table.States (288), 304, 145);
-            Add_Goto (Table.States (288), 323, 146);
-            Add_Goto (Table.States (288), 324, 147);
-            Add_Goto (Table.States (288), 333, 148);
-            Table.States (288).Kernel := To_Vector ((((285, 1),  10,  1, 
(2147483647, 0),  0), ((286, 1),  10,  2,
-            (2147483647, 0),  0)));
-            Table.States (289).Action_List.Set_Capacity (15);
-            Add_Action (Table.States (289), 3, (200, 2), 122);
-            Add_Action (Table.States (289), 22, (288, 1), 468);
-            Add_Action (Table.States (289), 39, (261, 4), 123);
-            Add_Action (Table.States (289), 40, (200, 3), 124);
-            Add_Action (Table.States (289), 41, (261, 1), 125);
-            Add_Action (Table.States (289), 52, (278, 0), 126);
-            Add_Action (Table.States (289), 76, (120, 0), 127);
-            Add_Action (Table.States (289), 77, (120, 5), 128);
-            Add_Action (Table.States (289), 81, (242, 8), 31);
-            Add_Action (Table.States (289), 97, (333, 1), 129);
-            Add_Action (Table.States (289), 98, (333, 0), 130);
-            Add_Action (Table.States (289), 106, (261, 0), 131);
-            Add_Action (Table.States (289), 107, (242, 5), 120);
-            Add_Action (Table.States (289), 108, (242, 7), 34);
-            Add_Action (Table.States (289), 109, (242, 6), 35);
-            Table.States (289).Goto_List.Set_Capacity (13);
-            Add_Goto (Table.States (289), 120, 132);
-            Add_Goto (Table.States (289), 131, 42);
-            Add_Goto (Table.States (289), 200, 135);
-            Add_Goto (Table.States (289), 242, 136);
-            Add_Goto (Table.States (289), 261, 137);
-            Add_Goto (Table.States (289), 275, 93);
-            Add_Goto (Table.States (289), 278, 138);
-            Add_Goto (Table.States (289), 290, 469);
-            Add_Goto (Table.States (289), 296, 98);
-            Add_Goto (Table.States (289), 304, 145);
-            Add_Goto (Table.States (289), 323, 146);
-            Add_Goto (Table.States (289), 324, 147);
-            Add_Goto (Table.States (289), 333, 148);
-            Table.States (289).Kernel := To_Vector ((((287, 1),  43,  1, 
(2147483647, 0),  0), ((288, 1),  43,  2,
-            (2147483647, 0),  0)));
-            Table.States (290).Action_List.Set_Capacity (14);
-            Add_Action (Table.States (290), 3, (200, 2), 122);
-            Add_Action (Table.States (290), 39, (261, 4), 123);
-            Add_Action (Table.States (290), 40, (200, 3), 124);
-            Add_Action (Table.States (290), 41, (261, 1), 125);
-            Add_Action (Table.States (290), 52, (278, 0), 126);
-            Add_Action (Table.States (290), 76, (120, 0), 127);
-            Add_Action (Table.States (290), 77, (120, 5), 128);
-            Add_Action (Table.States (290), 81, (242, 8), 31);
-            Add_Action (Table.States (290), 97, (333, 1), 129);
-            Add_Action (Table.States (290), 98, (333, 0), 130);
-            Add_Action (Table.States (290), 106, (261, 0), 131);
-            Add_Action (Table.States (290), 107, (242, 5), 120);
-            Add_Action (Table.States (290), 108, (242, 7), 34);
-            Add_Action (Table.States (290), 109, (242, 6), 35);
-            Table.States (290).Goto_List.Set_Capacity (13);
-            Add_Goto (Table.States (290), 120, 132);
-            Add_Goto (Table.States (290), 131, 42);
-            Add_Goto (Table.States (290), 200, 135);
-            Add_Goto (Table.States (290), 242, 136);
-            Add_Goto (Table.States (290), 261, 137);
-            Add_Goto (Table.States (290), 275, 93);
-            Add_Goto (Table.States (290), 278, 138);
-            Add_Goto (Table.States (290), 290, 470);
-            Add_Goto (Table.States (290), 296, 98);
-            Add_Goto (Table.States (290), 304, 145);
-            Add_Goto (Table.States (290), 323, 146);
-            Add_Goto (Table.States (290), 324, 147);
-            Add_Goto (Table.States (290), 333, 148);
-            Table.States (290).Kernel := To_Vector ((0 => ((289, 1),  75,  1, 
(2147483647, 0),  0)));
-            Table.States (290).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (261, 0),  106, 131)));
-            Table.States (291).Action_List.Set_Capacity (13);
-            Add_Action (Table.States (291), 3, (200, 2), 122);
-            Add_Action (Table.States (291), 39, (261, 4), 123);
-            Add_Action (Table.States (291), 40, (200, 3), 124);
-            Add_Action (Table.States (291), 41, (261, 1), 125);
-            Add_Action (Table.States (291), 76, (120, 0), 127);
-            Add_Action (Table.States (291), 77, (120, 5), 128);
-            Add_Action (Table.States (291), 81, (242, 8), 31);
-            Add_Action (Table.States (291), 97, (333, 1), 129);
-            Add_Action (Table.States (291), 98, (333, 0), 130);
-            Add_Action (Table.States (291), 106, (261, 0), 131);
-            Add_Action (Table.States (291), 107, (242, 5), 120);
-            Add_Action (Table.States (291), 108, (242, 7), 34);
-            Add_Action (Table.States (291), 109, (242, 6), 35);
-            Table.States (291).Goto_List.Set_Capacity (14);
-            Add_Goto (Table.States (291), 120, 132);
-            Add_Goto (Table.States (291), 131, 42);
-            Add_Goto (Table.States (291), 200, 135);
-            Add_Goto (Table.States (291), 236, 471);
-            Add_Goto (Table.States (291), 237, 472);
-            Add_Goto (Table.States (291), 242, 276);
-            Add_Goto (Table.States (291), 261, 137);
-            Add_Goto (Table.States (291), 275, 93);
-            Add_Goto (Table.States (291), 280, 473);
-            Add_Goto (Table.States (291), 296, 98);
-            Add_Goto (Table.States (291), 304, 474);
-            Add_Goto (Table.States (291), 323, 146);
-            Add_Goto (Table.States (291), 324, 147);
-            Add_Goto (Table.States (291), 333, 148);
-            Table.States (291).Kernel := To_Vector ((0 => ((290, 1),  33,  1, 
(2147483647, 0),  0)));
-            Table.States (291).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (261, 0),  106, 131)));
-            Table.States (292).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (292), 33, (290, 0), 475);
-            Table.States (292).Kernel := To_Vector ((0 => ((290, 0),  40,  2, 
(2147483647, 0),  0)));
-            Table.States (292).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (290, 0),  33, 475)));
-            Table.States (293).Action_List.Set_Capacity (13);
-            Add_Action (Table.States (293), (3, 39, 40, 41, 76, 77, 81, 97, 
98, 106, 107, 108, 109), (291, 0),  1,
-            null, null);
-            Table.States (293).Kernel := To_Vector ((0 => ((291, 0),  89,  0, 
(291, 0),  1)));
-            Table.States (293).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (291, 0),  1)));
-            Table.States (294).Action_List.Set_Capacity (13);
-            Add_Action (Table.States (294), (3, 39, 40, 41, 76, 77, 81, 97, 
98, 106, 107, 108, 109), (291, 4),  1,
-            null, null);
-            Table.States (294).Kernel := To_Vector ((0 => ((291, 4),  91,  0, 
(291, 4),  1)));
-            Table.States (294).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (291, 4),  1)));
-            Table.States (295).Action_List.Set_Capacity (13);
-            Add_Action (Table.States (295), (3, 39, 40, 41, 76, 77, 81, 97, 
98, 106, 107, 108, 109), (291, 5),  1,
-            null, null);
-            Table.States (295).Kernel := To_Vector ((0 => ((291, 5),  92,  0, 
(291, 5),  1)));
-            Table.States (295).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (291, 5),  1)));
-            Table.States (296).Action_List.Set_Capacity (13);
-            Add_Action (Table.States (296), (3, 39, 40, 41, 76, 77, 81, 97, 
98, 106, 107, 108, 109), (291, 2),  1,
-            null, null);
-            Table.States (296).Kernel := To_Vector ((0 => ((291, 2),  94,  0, 
(291, 2),  1)));
-            Table.States (296).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (291, 2),  1)));
-            Table.States (297).Action_List.Set_Capacity (13);
-            Add_Action (Table.States (297), (3, 39, 40, 41, 76, 77, 81, 97, 
98, 106, 107, 108, 109), (291, 3),  1,
-            null, null);
-            Table.States (297).Kernel := To_Vector ((0 => ((291, 3),  95,  0, 
(291, 3),  1)));
-            Table.States (297).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (291, 3),  1)));
-            Table.States (298).Action_List.Set_Capacity (13);
-            Add_Action (Table.States (298), (3, 39, 40, 41, 76, 77, 81, 97, 
98, 106, 107, 108, 109), (291, 1),  1,
-            null, null);
-            Table.States (298).Kernel := To_Vector ((0 => ((291, 1),  101,  0, 
(291, 1),  1)));
-            Table.States (298).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (291, 1),  1)));
-            Table.States (299).Action_List.Set_Capacity (13);
-            Add_Action (Table.States (299), 3, (200, 2), 122);
-            Add_Action (Table.States (299), 39, (261, 4), 123);
-            Add_Action (Table.States (299), 40, (200, 3), 124);
-            Add_Action (Table.States (299), 41, (261, 1), 125);
-            Add_Action (Table.States (299), 76, (120, 0), 127);
-            Add_Action (Table.States (299), 77, (120, 5), 128);
-            Add_Action (Table.States (299), 81, (242, 8), 31);
-            Add_Action (Table.States (299), 97, (333, 1), 129);
-            Add_Action (Table.States (299), 98, (333, 0), 130);
-            Add_Action (Table.States (299), 106, (261, 0), 131);
-            Add_Action (Table.States (299), 107, (242, 5), 120);
-            Add_Action (Table.States (299), 108, (242, 7), 34);
-            Add_Action (Table.States (299), 109, (242, 6), 35);
-            Table.States (299).Goto_List.Set_Capacity (11);
-            Add_Goto (Table.States (299), 120, 132);
-            Add_Goto (Table.States (299), 131, 42);
-            Add_Goto (Table.States (299), 200, 135);
-            Add_Goto (Table.States (299), 242, 136);
-            Add_Goto (Table.States (299), 261, 137);
-            Add_Goto (Table.States (299), 275, 93);
-            Add_Goto (Table.States (299), 296, 98);
-            Add_Goto (Table.States (299), 304, 476);
-            Add_Goto (Table.States (299), 323, 146);
-            Add_Goto (Table.States (299), 324, 147);
-            Add_Goto (Table.States (299), 333, 148);
-            Table.States (299).Kernel := To_Vector ((0 => ((290, 2),  291,  1, 
(2147483647, 0),  0)));
-            Table.States (299).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (261, 0),  106, 131)));
-            Table.States (300).Action_List.Set_Capacity (11);
-            Add_Action (Table.States (300), (3, 39, 40, 41, 76, 77, 81, 106, 
107, 108, 109), (240, 2),  1, null, null);
-            Table.States (300).Kernel := To_Vector ((0 => ((240, 2),  38,  0, 
(240, 2),  1)));
-            Table.States (300).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (240, 2),  1)));
-            Table.States (301).Action_List.Set_Capacity (11);
-            Add_Action (Table.States (301), (3, 39, 40, 41, 76, 77, 81, 106, 
107, 108, 109), (240, 3),  1, null, null);
-            Table.States (301).Kernel := To_Vector ((0 => ((240, 3),  55,  0, 
(240, 3),  1)));
-            Table.States (301).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (240, 3),  1)));
-            Table.States (302).Action_List.Set_Capacity (11);
-            Add_Action (Table.States (302), (3, 39, 40, 41, 76, 77, 81, 106, 
107, 108, 109), (240, 1),  1, null, null);
-            Table.States (302).Kernel := To_Vector ((0 => ((240, 1),  100,  0, 
(240, 1),  1)));
-            Table.States (302).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (240, 1),  1)));
-            Table.States (303).Action_List.Set_Capacity (11);
-            Add_Action (Table.States (303), (3, 39, 40, 41, 76, 77, 81, 106, 
107, 108, 109), (240, 0),  1, null, null);
-            Table.States (303).Kernel := To_Vector ((0 => ((240, 0),  102,  0, 
(240, 0),  1)));
-            Table.States (303).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (240, 0),  1)));
-            Table.States (304).Action_List.Set_Capacity (11);
-            Add_Action (Table.States (304), 3, (200, 2), 122);
-            Add_Action (Table.States (304), 39, (261, 4), 123);
-            Add_Action (Table.States (304), 40, (200, 3), 124);
-            Add_Action (Table.States (304), 41, (261, 1), 125);
-            Add_Action (Table.States (304), 76, (120, 0), 127);
-            Add_Action (Table.States (304), 77, (120, 5), 128);
-            Add_Action (Table.States (304), 81, (242, 8), 31);
-            Add_Action (Table.States (304), 106, (261, 0), 131);
-            Add_Action (Table.States (304), 107, (242, 5), 120);
-            Add_Action (Table.States (304), 108, (242, 7), 34);
-            Add_Action (Table.States (304), 109, (242, 6), 35);
-            Table.States (304).Goto_List.Set_Capacity (7);
-            Add_Goto (Table.States (304), 120, 132);
-            Add_Goto (Table.States (304), 131, 42);
-            Add_Goto (Table.States (304), 200, 477);
-            Add_Goto (Table.States (304), 242, 136);
-            Add_Goto (Table.States (304), 261, 137);
-            Add_Goto (Table.States (304), 275, 93);
-            Add_Goto (Table.States (304), 296, 98);
-            Table.States (304).Kernel := To_Vector ((0 => ((323, 0),  240,  1, 
(2147483647, 0),  0)));
-            Table.States (304).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (261, 0),  106, 131)));
-            Table.States (305).Action_List.Set_Capacity (11);
-            Add_Action (Table.States (305), (3, 39, 40, 41, 76, 77, 81, 106, 
107, 108, 109), (133, 2),  1, null, null);
-            Table.States (305).Kernel := To_Vector ((0 => ((133, 2),  80,  0, 
(133, 2),  1)));
-            Table.States (305).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (133, 2),  1)));
-            Table.States (306).Action_List.Set_Capacity (11);
-            Add_Action (Table.States (306), (3, 39, 40, 41, 76, 77, 81, 106, 
107, 108, 109), (133, 1),  1, null, null);
-            Table.States (306).Kernel := To_Vector ((0 => ((133, 1),  97,  0, 
(133, 1),  1)));
-            Table.States (306).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (133, 1),  1)));
-            Table.States (307).Action_List.Set_Capacity (11);
-            Add_Action (Table.States (307), (3, 39, 40, 41, 76, 77, 81, 106, 
107, 108, 109), (133, 0),  1, null, null);
-            Table.States (307).Kernel := To_Vector ((0 => ((133, 0),  98,  0, 
(133, 0),  1)));
-            Table.States (307).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (133, 0),  1)));
-            Table.States (308).Action_List.Set_Capacity (11);
-            Add_Action (Table.States (308), 3, (200, 2), 122);
-            Add_Action (Table.States (308), 39, (261, 4), 123);
-            Add_Action (Table.States (308), 40, (200, 3), 124);
-            Add_Action (Table.States (308), 41, (261, 1), 125);
-            Add_Action (Table.States (308), 76, (120, 0), 127);
-            Add_Action (Table.States (308), 77, (120, 5), 128);
-            Add_Action (Table.States (308), 81, (242, 8), 31);
-            Add_Action (Table.States (308), 106, (261, 0), 131);
-            Add_Action (Table.States (308), 107, (242, 5), 120);
-            Add_Action (Table.States (308), 108, (242, 7), 34);
-            Add_Action (Table.States (308), 109, (242, 6), 35);
-            Table.States (308).Goto_List.Set_Capacity (8);
-            Add_Goto (Table.States (308), 120, 132);
-            Add_Goto (Table.States (308), 131, 42);
-            Add_Goto (Table.States (308), 200, 135);
-            Add_Goto (Table.States (308), 242, 136);
-            Add_Goto (Table.States (308), 261, 137);
-            Add_Goto (Table.States (308), 275, 93);
-            Add_Goto (Table.States (308), 296, 98);
-            Add_Goto (Table.States (308), 323, 478);
-            Table.States (308).Kernel := To_Vector ((0 => ((324, 0),  133,  1, 
(2147483647, 0),  0)));
-            Table.States (308).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (261, 0),  106, 131)));
-            Table.States (309).Action_List.Set_Capacity (32);
-            Add_Action (Table.States (309), 10, Reduce, (304, 0),  2, null, 
null);
-            Add_Action (Table.States (309), 20, Reduce, (304, 0),  2, null, 
null);
-            Add_Action (Table.States (309), 21, Reduce, (304, 0),  2, null, 
null);
-            Add_Action (Table.States (309), 22, Reduce, (304, 0),  2, null, 
null);
-            Add_Action (Table.States (309), 23, Reduce, (304, 0),  2, null, 
null);
-            Add_Action (Table.States (309), 33, Reduce, (304, 0),  2, null, 
null);
-            Add_Action (Table.States (309), 35, Reduce, (304, 0),  2, null, 
null);
-            Add_Action (Table.States (309), 37, Reduce, (304, 0),  2, null, 
null);
-            Add_Action (Table.States (309), 40, Reduce, (304, 0),  2, null, 
null);
-            Add_Action (Table.States (309), 42, Reduce, (304, 0),  2, null, 
null);
-            Add_Action (Table.States (309), 43, Reduce, (304, 0),  2, null, 
null);
-            Add_Action (Table.States (309), 53, Reduce, (304, 0),  2, null, 
null);
-            Add_Action (Table.States (309), 68, Reduce, (304, 0),  2, null, 
null);
-            Add_Action (Table.States (309), 74, Reduce, (304, 0),  2, null, 
null);
-            Add_Action (Table.States (309), 75, Reduce, (304, 0),  2, null, 
null);
-            Add_Action (Table.States (309), 78, Reduce, (304, 0),  2, null, 
null);
-            Add_Action (Table.States (309), 79, Reduce, (304, 0),  2, null, 
null);
-            Add_Action (Table.States (309), 80, (133, 2), 305);
-            Add_Action (Table.States (309), 82, Reduce, (304, 0),  2, null, 
null);
-            Add_Action (Table.States (309), 85, Reduce, (304, 0),  2, null, 
null);
-            Add_Action (Table.States (309), 86, Reduce, (304, 0),  2, null, 
null);
-            Add_Action (Table.States (309), 88, Reduce, (304, 0),  2, null, 
null);
-            Add_Action (Table.States (309), 89, Reduce, (304, 0),  2, null, 
null);
-            Add_Action (Table.States (309), 90, Reduce, (304, 0),  2, null, 
null);
-            Add_Action (Table.States (309), 91, Reduce, (304, 0),  2, null, 
null);
-            Add_Action (Table.States (309), 92, Reduce, (304, 0),  2, null, 
null);
-            Add_Action (Table.States (309), 94, Reduce, (304, 0),  2, null, 
null);
-            Add_Action (Table.States (309), 95, Reduce, (304, 0),  2, null, 
null);
-            Add_Action (Table.States (309), 97, (133, 1), 306);
-            Add_Action (Table.States (309), 98, (133, 0), 307);
-            Add_Action (Table.States (309), 99, Reduce, (304, 0),  2, null, 
null);
-            Add_Action (Table.States (309), 101, Reduce, (304, 0),  2, null, 
null);
-            Table.States (309).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (309), 133, 308);
-            Table.States (309).Kernel := To_Vector ((((304, 0),  324,  0, 
(304, 0),  2), ((324, 0),  324,  2,
-            (2147483647, 0),  0)));
-            Table.States (309).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (304, 0),  2)));
-            Table.States (310).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (310), 99, (164, 0), 479);
-            Table.States (310).Kernel := To_Vector ((0 => ((164, 0),  195,  1, 
(2147483647, 0),  0)));
-            Table.States (310).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (164, 0),  99, 479)));
-            Table.States (311).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (311), (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, 81, 96, 107, 108,
-            109, 110), (164, 1),  3, delay_statement_1'Access, null);
-            Table.States (311).Kernel := To_Vector ((0 => ((164, 1),  99,  0, 
(164, 1),  3)));
-            Table.States (311).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (164, 1),  3)));
-            Table.States (312).Action_List.Set_Capacity (15);
-            Add_Action (Table.States (312), 3, (200, 2), 122);
-            Add_Action (Table.States (312), 39, (261, 4), 123);
-            Add_Action (Table.States (312), 40, (200, 3), 124);
-            Add_Action (Table.States (312), 41, (261, 1), 125);
-            Add_Action (Table.States (312), 52, (278, 0), 126);
-            Add_Action (Table.States (312), 76, (120, 0), 127);
-            Add_Action (Table.States (312), 77, (120, 5), 128);
-            Add_Action (Table.States (312), 81, (242, 8), 31);
-            Add_Action (Table.States (312), 97, (333, 1), 129);
-            Add_Action (Table.States (312), 98, (333, 0), 130);
-            Add_Action (Table.States (312), 99, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (312), 106, (261, 0), 131);
-            Add_Action (Table.States (312), 107, (242, 5), 120);
-            Add_Action (Table.States (312), 108, (242, 7), 34);
-            Add_Action (Table.States (312), 109, (242, 6), 35);
-            Table.States (312).Goto_List.Set_Capacity (20);
-            Add_Goto (Table.States (312), 120, 132);
-            Add_Goto (Table.States (312), 131, 42);
-            Add_Goto (Table.States (312), 194, 133);
-            Add_Goto (Table.States (312), 195, 480);
-            Add_Goto (Table.States (312), 200, 135);
-            Add_Goto (Table.States (312), 242, 136);
-            Add_Goto (Table.States (312), 261, 137);
-            Add_Goto (Table.States (312), 275, 93);
-            Add_Goto (Table.States (312), 278, 138);
-            Add_Goto (Table.States (312), 285, 139);
-            Add_Goto (Table.States (312), 286, 140);
-            Add_Goto (Table.States (312), 287, 141);
-            Add_Goto (Table.States (312), 288, 142);
-            Add_Goto (Table.States (312), 289, 143);
-            Add_Goto (Table.States (312), 290, 144);
-            Add_Goto (Table.States (312), 296, 98);
-            Add_Goto (Table.States (312), 304, 145);
-            Add_Goto (Table.States (312), 323, 146);
-            Add_Goto (Table.States (312), 324, 147);
-            Add_Goto (Table.States (312), 333, 148);
-            Table.States (312).Kernel := To_Vector ((0 => ((193, 0),  72,  1, 
(2147483647, 0),  0)));
-            Table.States (312).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (195, 1),  0)));
-            Table.States (313).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (313), (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, 81, 96, 107, 108,
-            109, 110), (193, 1),  3, exit_statement_1'Access, null);
-            Table.States (313).Kernel := To_Vector ((0 => ((193, 1),  99,  0, 
(193, 1),  3)));
-            Table.States (313).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (193, 1),  3)));
-            Table.States (314).Action_List.Set_Capacity (14);
-            Add_Action (Table.States (314), 3, (200, 2), 122);
-            Add_Action (Table.States (314), 39, (261, 4), 123);
-            Add_Action (Table.States (314), 40, (200, 3), 481);
-            Add_Action (Table.States (314), 41, (261, 1), 125);
-            Add_Action (Table.States (314), 59, (233, 2), 482);
-            Add_Action (Table.States (314), 76, (120, 0), 127);
-            Add_Action (Table.States (314), 77, (120, 5), 128);
-            Add_Action (Table.States (314), 81, (242, 8), 31);
-            Add_Action (Table.States (314), 97, (333, 1), 129);
-            Add_Action (Table.States (314), 98, (333, 0), 130);
-            Add_Action (Table.States (314), 106, (261, 0), 131);
-            Add_Action (Table.States (314), 107, (242, 5), 120);
-            Add_Action (Table.States (314), 108, (242, 7), 34);
-            Add_Action (Table.States (314), 109, (242, 6), 35);
-            Table.States (314).Goto_List.Set_Capacity (14);
-            Add_Goto (Table.States (314), 120, 132);
-            Add_Goto (Table.States (314), 131, 42);
-            Add_Goto (Table.States (314), 170, 483);
-            Add_Goto (Table.States (314), 200, 135);
-            Add_Goto (Table.States (314), 242, 484);
-            Add_Goto (Table.States (314), 261, 137);
-            Add_Goto (Table.States (314), 275, 93);
-            Add_Goto (Table.States (314), 280, 485);
-            Add_Goto (Table.States (314), 296, 98);
-            Add_Goto (Table.States (314), 304, 486);
-            Add_Goto (Table.States (314), 317, 487);
-            Add_Goto (Table.States (314), 323, 146);
-            Add_Goto (Table.States (314), 324, 147);
-            Add_Goto (Table.States (314), 333, 148);
-            Table.States (314).Kernel := To_Vector ((((233, 2),  33,  2, 
(2147483647, 0),  0), ((233, 5),  33,  1,
-            (2147483647, 0),  0)));
-            Table.States (314).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-         end Subr_6;
-         procedure Subr_7
-         is begin
-            Table.States (315).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (315), 59, (233, 3), 488);
-            Add_Action (Table.States (315), 81, (242, 8), 31);
-            Add_Action (Table.States (315), 107, (242, 5), 120);
-            Add_Action (Table.States (315), 108, (242, 7), 34);
-            Add_Action (Table.States (315), 109, (242, 6), 35);
-            Table.States (315).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (315), 131, 42);
-            Add_Goto (Table.States (315), 242, 489);
-            Add_Goto (Table.States (315), 275, 93);
-            Add_Goto (Table.States (315), 296, 98);
-            Table.States (315).Kernel := To_Vector ((((233, 3),  42,  2, 
(2147483647, 0),  0), ((233, 4),  42,  1,
-            (2147483647, 0),  0)));
-            Table.States (315).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (316).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (316), 40, (317, 0), 490);
-            Add_Action (Table.States (316), 81, (242, 8), 31);
-            Add_Action (Table.States (316), 107, (242, 5), 120);
-            Add_Action (Table.States (316), 108, (242, 7), 34);
-            Add_Action (Table.States (316), 109, (242, 6), 35);
-            Table.States (316).Goto_List.Set_Capacity (5);
-            Add_Goto (Table.States (316), 131, 42);
-            Add_Goto (Table.States (316), 242, 491);
-            Add_Goto (Table.States (316), 275, 93);
-            Add_Goto (Table.States (316), 296, 98);
-            Add_Goto (Table.States (316), 317, 492);
-            Table.States (316).Kernel := To_Vector ((((233, 0),  84,  4, 
(2147483647, 0),  0), ((233, 1),  84,  3,
-            (2147483647, 0),  0)));
-            Table.States (316).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (317).Action_List.Set_Capacity (15);
-            Add_Action (Table.States (317), 3, (200, 2), 122);
-            Add_Action (Table.States (317), 39, (261, 4), 123);
-            Add_Action (Table.States (317), 40, (200, 3), 124);
-            Add_Action (Table.States (317), 41, (261, 1), 125);
-            Add_Action (Table.States (317), 52, (278, 0), 126);
-            Add_Action (Table.States (317), 76, (120, 0), 127);
-            Add_Action (Table.States (317), 77, (120, 5), 128);
-            Add_Action (Table.States (317), 81, (242, 8), 31);
-            Add_Action (Table.States (317), 97, (333, 1), 129);
-            Add_Action (Table.States (317), 98, (333, 0), 130);
-            Add_Action (Table.States (317), 99, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (317), 106, (261, 0), 131);
-            Add_Action (Table.States (317), 107, (242, 5), 120);
-            Add_Action (Table.States (317), 108, (242, 7), 34);
-            Add_Action (Table.States (317), 109, (242, 6), 35);
-            Table.States (317).Goto_List.Set_Capacity (20);
-            Add_Goto (Table.States (317), 120, 132);
-            Add_Goto (Table.States (317), 131, 42);
-            Add_Goto (Table.States (317), 194, 133);
-            Add_Goto (Table.States (317), 195, 493);
-            Add_Goto (Table.States (317), 200, 135);
-            Add_Goto (Table.States (317), 242, 136);
-            Add_Goto (Table.States (317), 261, 137);
-            Add_Goto (Table.States (317), 275, 93);
-            Add_Goto (Table.States (317), 278, 138);
-            Add_Goto (Table.States (317), 285, 139);
-            Add_Goto (Table.States (317), 286, 140);
-            Add_Goto (Table.States (317), 287, 141);
-            Add_Goto (Table.States (317), 288, 142);
-            Add_Goto (Table.States (317), 289, 143);
-            Add_Goto (Table.States (317), 290, 144);
-            Add_Goto (Table.States (317), 296, 98);
-            Add_Goto (Table.States (317), 304, 145);
-            Add_Goto (Table.States (317), 323, 146);
-            Add_Goto (Table.States (317), 324, 147);
-            Add_Goto (Table.States (317), 333, 148);
-            Table.States (317).Kernel := To_Vector ((0 => ((124, 0),  71,  1, 
(2147483647, 0),  0)));
-            Table.States (317).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (195, 1),  0)));
-            Table.States (318).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (318), 12, (130, 0), 494);
-            Table.States (318).Kernel := To_Vector ((0 => ((130, 0),  71,  2, 
(2147483647, 0),  0)));
-            Table.States (318).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (130, 0),  12, 494)));
-            Table.States (319).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (319), 54, (284, 0), 495);
-            Add_Action (Table.States (319), 76, (120, 0), 127);
-            Add_Action (Table.States (319), 77, (120, 5), 128);
-            Table.States (319).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (319), 120, 496);
-            Table.States (319).Kernel := To_Vector ((((185, 0),  71,  3, 
(2147483647, 0),  0), ((284, 0),  71,  12,
-            (2147483647, 0),  0)));
-            Table.States (319).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (120, 0),  76, 127)));
-            Table.States (320).Action_List.Set_Capacity (13);
-            Add_Action (Table.States (320), 7, Reduce, (244, 1),  0, null, 
null);
-            Add_Action (Table.States (320), 21, Reduce, (244, 1),  0, null, 
null);
-            Add_Action (Table.States (320), 35, Reduce, (244, 1),  0, null, 
null);
-            Add_Action (Table.States (320), 40, (244, 0), 389);
-            Add_Action (Table.States (320), 56, Reduce, (244, 1),  0, null, 
null);
-            Add_Action (Table.States (320), 74, Reduce, (244, 1),  0, null, 
null);
-            Add_Action (Table.States (320), 78, Reduce, (244, 1),  0, null, 
null);
-            Add_Action (Table.States (320), 81, Reduce, (244, 1),  0, null, 
null);
-            Add_Action (Table.States (320), 85, Reduce, (244, 1),  0, null, 
null);
-            Add_Action (Table.States (320), 99, Reduce, (244, 1),  0, null, 
null);
-            Add_Action (Table.States (320), 107, Reduce, (244, 1),  0, null, 
null);
-            Add_Action (Table.States (320), 108, Reduce, (244, 1),  0, null, 
null);
-            Add_Action (Table.States (320), 109, Reduce, (244, 1),  0, null, 
null);
-            Table.States (320).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (320), 117, 497);
-            Add_Goto (Table.States (320), 244, 498);
-            Table.States (320).Kernel := To_Vector ((((294, 0),  58,  0, (244, 
1),  0), ((294, 1),  58,  2,
-            (2147483647, 0),  0)));
-            Table.States (320).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (244, 1),  0)));
-            Table.States (321).Action_List.Set_Capacity (23);
-            Add_Action (Table.States (321), 3, (200, 2), 122);
-            Add_Action (Table.States (321), 15, (139, 0), 260);
-            Add_Action (Table.States (321), 28, (127, 6), 261);
-            Add_Action (Table.States (321), 32, (224, 0), 262);
-            Add_Action (Table.States (321), 39, (261, 4), 123);
-            Add_Action (Table.States (321), 40, (168, 1), 263);
-            Add_Action (Table.States (321), 41, (261, 1), 125);
-            Add_Action (Table.States (321), 44, (168, 3), 265);
-            Add_Action (Table.States (321), 52, (278, 0), 126);
-            Add_Action (Table.States (321), 76, (120, 0), 127);
-            Add_Action (Table.States (321), 77, (120, 5), 128);
-            Add_Action (Table.States (321), 78, Reduce, (127, 5),  0, null, 
null);
-            Add_Conflict (Table.States (321), 78, (257, 4),  0, null, null);
-            Add_Action (Table.States (321), 81, (242, 8), 31);
-            Add_Action (Table.States (321), 82, Reduce, (169, 2),  0, null, 
null);
-            Add_Action (Table.States (321), 86, Reduce, (127, 5),  0, null, 
null);
-            Add_Action (Table.States (321), 90, Reduce, (169, 2),  0, null, 
null);
-            Add_Action (Table.States (321), 97, (333, 1), 129);
-            Add_Action (Table.States (321), 98, (333, 0), 130);
-            Add_Action (Table.States (321), 99, Reduce, (257, 4),  0, null, 
null);
-            Add_Action (Table.States (321), 106, (261, 0), 131);
-            Add_Action (Table.States (321), 107, (222, 1), 499);
-            Add_Action (Table.States (321), 108, (242, 7), 34);
-            Add_Action (Table.States (321), 109, (127, 0), 266);
-            Table.States (321).Goto_List.Set_Capacity (32);
-            Add_Goto (Table.States (321), 120, 132);
-            Add_Goto (Table.States (321), 127, 267);
-            Add_Goto (Table.States (321), 128, 409);
-            Add_Goto (Table.States (321), 131, 42);
-            Add_Goto (Table.States (321), 139, 269);
-            Add_Goto (Table.States (321), 156, 410);
-            Add_Goto (Table.States (321), 168, 271);
-            Add_Goto (Table.States (321), 169, 272);
-            Add_Goto (Table.States (321), 194, 411);
-            Add_Goto (Table.States (321), 200, 135);
-            Add_Goto (Table.States (321), 222, 500);
-            Add_Goto (Table.States (321), 224, 275);
-            Add_Goto (Table.States (321), 242, 276);
-            Add_Goto (Table.States (321), 257, 501);
-            Add_Goto (Table.States (321), 258, 502);
-            Add_Goto (Table.States (321), 261, 137);
-            Add_Goto (Table.States (321), 275, 93);
-            Add_Goto (Table.States (321), 276, 277);
-            Add_Goto (Table.States (321), 278, 138);
-            Add_Goto (Table.States (321), 280, 412);
-            Add_Goto (Table.States (321), 281, 413);
-            Add_Goto (Table.States (321), 285, 139);
-            Add_Goto (Table.States (321), 286, 140);
-            Add_Goto (Table.States (321), 287, 141);
-            Add_Goto (Table.States (321), 288, 142);
-            Add_Goto (Table.States (321), 289, 143);
-            Add_Goto (Table.States (321), 290, 144);
-            Add_Goto (Table.States (321), 296, 98);
-            Add_Goto (Table.States (321), 304, 279);
-            Add_Goto (Table.States (321), 323, 146);
-            Add_Goto (Table.States (321), 324, 147);
-            Add_Goto (Table.States (321), 333, 148);
-            Table.States (321).Kernel := To_Vector ((((118, 0),  76,  1, 
(2147483647, 0),  0), ((118, 1),  76,  3,
-            (2147483647, 0),  0), ((202, 0),  76,  1, (2147483647, 0),  0), 
((242, 0),  76,  4, (2147483647, 0),  0)));
-            Table.States (321).Minimal_Complete_Actions := To_Vector 
(((Reduce, (128, 1),  0), (Reduce, (258, 1),
-            0)));
-            Table.States (322).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (322), 58, (294, 0), 320);
-            Table.States (322).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (322), 294, 503);
-            Table.States (322).Kernel := To_Vector ((0 => ((255, 0),  202,  1, 
(2147483647, 0),  0)));
-            Table.States (322).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (294, 0),  58, 320)));
-            Table.States (323).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (323), (35, 56, 74, 99), (210, 0),  3, 
function_specification_0'Access,
-            function_specification_0_check'Access);
-            Table.States (323).Kernel := To_Vector ((0 => ((210, 0),  255,  0, 
(210, 0),  3)));
-            Table.States (323).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (210, 0),  3)));
-            Table.States (324).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (324), (21, 35, 56, 74, 78, 85, 99), 
(255, 1),  1, null, null);
-            Table.States (324).Kernel := To_Vector ((0 => ((255, 1),  294,  0, 
(255, 1),  1)));
-            Table.States (324).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (255, 1),  1)));
-            Table.States (325).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (325), 56, (218, 2), 504);
-            Add_Action (Table.States (325), 76, (118, 0), 237);
-            Add_Action (Table.States (325), 87, (296, 0), 239);
-            Add_Action (Table.States (325), 104, (325, 0), 241);
-            Add_Action (Table.States (325), 105, (325, 1), 242);
-            Table.States (325).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (325), 118, 243);
-            Add_Goto (Table.States (325), 325, 244);
-            Table.States (325).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((218, 2),  242,  3,
-            (2147483647, 0),  0), ((242, 0),  242,  5, (2147483647, 0),  0), 
((242, 1),  242,  2, (2147483647, 0),  0),
-            ((275, 0),  242,  3, (2147483647, 0),  0), ((296, 0),  242,  2, 
(2147483647, 0),  0), ((296, 1),  242,  2,
-            (2147483647, 0),  0), ((296, 2),  242,  2, (2147483647, 0),  0), 
((296, 3),  242,  2, (2147483647, 0),
-            0)));
-            Table.States (325).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (218, 2),  56, 504)));
-            Table.States (326).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (326), 56, (218, 0), 505);
-            Add_Action (Table.States (326), 76, (118, 0), 237);
-            Add_Action (Table.States (326), 87, (296, 0), 239);
-            Add_Action (Table.States (326), 104, (325, 0), 241);
-            Add_Action (Table.States (326), 105, (325, 1), 242);
-            Table.States (326).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (326), 118, 243);
-            Add_Goto (Table.States (326), 325, 244);
-            Table.States (326).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((218, 0),  242,  3,
-            (2147483647, 0),  0), ((242, 0),  242,  5, (2147483647, 0),  0), 
((242, 1),  242,  2, (2147483647, 0),  0),
-            ((275, 0),  242,  3, (2147483647, 0),  0), ((296, 0),  242,  2, 
(2147483647, 0),  0), ((296, 1),  242,  2,
-            (2147483647, 0),  0), ((296, 2),  242,  2, (2147483647, 0),  0), 
((296, 3),  242,  2, (2147483647, 0),
-            0)));
-            Table.States (326).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (218, 0),  56, 505)));
-            Table.States (327).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (327), 56, (218, 1), 506);
-            Add_Action (Table.States (327), 76, (118, 0), 237);
-            Add_Action (Table.States (327), 87, (296, 0), 239);
-            Add_Action (Table.States (327), 104, (325, 0), 241);
-            Add_Action (Table.States (327), 105, (325, 1), 242);
-            Table.States (327).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (327), 118, 243);
-            Add_Goto (Table.States (327), 325, 244);
-            Table.States (327).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((218, 1),  242,  3,
-            (2147483647, 0),  0), ((242, 0),  242,  5, (2147483647, 0),  0), 
((242, 1),  242,  2, (2147483647, 0),  0),
-            ((275, 0),  242,  3, (2147483647, 0),  0), ((296, 0),  242,  2, 
(2147483647, 0),  0), ((296, 1),  242,  2,
-            (2147483647, 0),  0), ((296, 2),  242,  2, (2147483647, 0),  0), 
((296, 3),  242,  2, (2147483647, 0),
-            0)));
-            Table.States (327).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (218, 1),  56, 506)));
-            Table.States (328).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (328), 35, Reduce, (172, 2),  0, null, 
null);
-            Add_Action (Table.States (328), 74, Reduce, (172, 2),  0, null, 
null);
-            Add_Action (Table.States (328), 76, (172, 0), 380);
-            Add_Action (Table.States (328), 99, Reduce, (172, 2),  0, null, 
null);
-            Table.States (328).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (328), 172, 507);
-            Table.States (328).Kernel := To_Vector ((((204, 0),  107,  3, 
(2147483647, 0),  0), ((204, 1),  107,  3,
-            (2147483647, 0),  0), ((204, 2),  107,  1, (2147483647, 0),  0)));
-            Table.States (328).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (172, 2),  0)));
-            Table.States (329).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (329), 81, (242, 8), 31);
-            Add_Action (Table.States (329), 107, (242, 5), 120);
-            Add_Action (Table.States (329), 108, (242, 7), 34);
-            Add_Action (Table.States (329), 109, (242, 6), 35);
-            Table.States (329).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (329), 131, 42);
-            Add_Goto (Table.States (329), 242, 508);
-            Add_Goto (Table.States (329), 275, 93);
-            Add_Goto (Table.States (329), 296, 98);
-            Table.States (329).Kernel := To_Vector ((0 => ((207, 0),  47,  5, 
(2147483647, 0),  0)));
-            Table.States (329).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (330).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (330), 35, (203, 0), 509);
-            Add_Action (Table.States (330), 74, (125, 0), 340);
-            Add_Action (Table.States (330), 99, Reduce, (125, 1),  0, null, 
null);
-            Table.States (330).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (330), 125, 510);
-            Table.States (330).Kernel := To_Vector ((((203, 0),  315,  4, 
(2147483647, 0),  0), ((203, 1),  315,  3,
-            (2147483647, 0),  0), ((203, 2),  315,  3, (2147483647, 0),  0), 
((203, 3),  315,  1, (2147483647, 0),
-            0)));
-            Table.States (330).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (331).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (331), (29, 47, 48, 50, 69, 71, 74, 107), 
(214, 0),  2, null, null);
-            Table.States (331).Kernel := To_Vector ((0 => ((214, 0),  215,  0, 
(214, 0),  2)));
-            Table.States (331).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (214, 0),  2)));
-            Table.States (332).Action_List.Set_Capacity (11);
-            Add_Action (Table.States (332), 7, Reduce, (239, 3),  0, null, 
null);
-            Add_Action (Table.States (332), 33, (239, 0), 511);
-            Add_Action (Table.States (332), 40, Reduce, (239, 3),  0, null, 
null);
-            Add_Action (Table.States (332), 45, (239, 2), 512);
-            Add_Action (Table.States (332), 74, Reduce, (239, 3),  0, null, 
null);
-            Add_Action (Table.States (332), 81, Reduce, (239, 3),  0, null, 
null);
-            Add_Action (Table.States (332), 85, Reduce, (239, 3),  0, null, 
null);
-            Add_Action (Table.States (332), 99, Reduce, (239, 3),  0, null, 
null);
-            Add_Action (Table.States (332), 107, Reduce, (239, 3),  0, null, 
null);
-            Add_Action (Table.States (332), 108, Reduce, (239, 3),  0, null, 
null);
-            Add_Action (Table.States (332), 109, Reduce, (239, 3),  0, null, 
null);
-            Table.States (332).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (332), 239, 513);
-            Table.States (332).Kernel := To_Vector ((((201, 0),  84,  3, 
(2147483647, 0),  0), ((201, 1),  84,  4,
-            (2147483647, 0),  0), ((201, 2),  84,  2, (2147483647, 0),  0), 
((201, 3),  84,  3, (2147483647, 0),  0)));
-            Table.States (332).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (239, 3),  0)));
-            Table.States (333).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (333), (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, 81, 96, 107, 108,
-            109, 110), (306, 3),  3, simple_statement_3'Access, null);
-            Table.States (333).Kernel := To_Vector ((0 => ((306, 3),  99,  0, 
(306, 3),  3)));
-            Table.States (333).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (306, 3),  3)));
-            Table.States (334).Action_List.Set_Capacity (26);
-            Add_Action (Table.States (334), 4, (116, 0), 1);
-            Add_Action (Table.States (334), 5, (306, 8), 2);
-            Add_Action (Table.States (334), 13, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (334), 15, (142, 0), 3);
-            Add_Action (Table.States (334), 17, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (334), 18, (164, 0), 4);
-            Add_Action (Table.States (334), 22, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (334), 23, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (334), 24, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (334), 27, (193, 0), 5);
-            Add_Action (Table.States (334), 28, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (334), 31, (306, 3), 9);
-            Add_Action (Table.States (334), 32, (225, 0), 10);
-            Add_Action (Table.States (334), 37, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (334), 41, (306, 0), 13);
-            Add_Action (Table.States (334), 48, (260, 0), 16);
-            Add_Action (Table.States (334), 52, (279, 0), 20);
-            Add_Action (Table.States (334), 57, (293, 0), 21);
-            Add_Action (Table.States (334), 58, (199, 0), 22);
-            Add_Action (Table.States (334), 61, (129, 0), 24);
-            Add_Action (Table.States (334), 73, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (334), 81, (242, 8), 31);
-            Add_Action (Table.States (334), 96, (220, 0), 32);
-            Add_Action (Table.States (334), 107, (134, 0), 363);
-            Add_Action (Table.States (334), 108, (242, 7), 34);
-            Add_Action (Table.States (334), 109, (242, 6), 35);
-            Table.States (334).Goto_List.Set_Capacity (31);
-            Add_Goto (Table.States (334), 116, 37);
-            Add_Goto (Table.States (334), 126, 39);
-            Add_Goto (Table.States (334), 129, 40);
-            Add_Goto (Table.States (334), 131, 42);
-            Add_Goto (Table.States (334), 134, 43);
-            Add_Goto (Table.States (334), 135, 44);
-            Add_Goto (Table.States (334), 136, 45);
-            Add_Goto (Table.States (334), 142, 48);
-            Add_Goto (Table.States (334), 154, 51);
-            Add_Goto (Table.States (334), 155, 52);
-            Add_Goto (Table.States (334), 164, 54);
-            Add_Goto (Table.States (334), 193, 58);
-            Add_Goto (Table.States (334), 199, 60);
-            Add_Goto (Table.States (334), 220, 69);
-            Add_Goto (Table.States (334), 225, 71);
-            Add_Goto (Table.States (334), 235, 73);
-            Add_Goto (Table.States (334), 242, 74);
-            Add_Goto (Table.States (334), 260, 84);
-            Add_Goto (Table.States (334), 264, 87);
-            Add_Goto (Table.States (334), 275, 93);
-            Add_Goto (Table.States (334), 279, 94);
-            Add_Goto (Table.States (334), 293, 97);
-            Add_Goto (Table.States (334), 296, 98);
-            Add_Goto (Table.States (334), 297, 99);
-            Add_Goto (Table.States (334), 301, 100);
-            Add_Goto (Table.States (334), 302, 364);
-            Add_Goto (Table.States (334), 303, 514);
-            Add_Goto (Table.States (334), 305, 101);
-            Add_Goto (Table.States (334), 306, 102);
-            Add_Goto (Table.States (334), 309, 366);
-            Add_Goto (Table.States (334), 326, 115);
-            Table.States (334).Kernel := To_Vector ((((225, 0),  68,  6, 
(2147483647, 0),  0), ((225, 1),  68,  4,
-            (2147483647, 0),  0), ((225, 2),  68,  5, (2147483647, 0),  0), 
((225, 3),  68,  3, (2147483647, 0),  0)));
-            Table.States (334).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (303, 1),  0)));
-            Table.States (335).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (335), 81, (242, 8), 31);
-            Add_Action (Table.States (335), 107, (242, 5), 120);
-            Add_Action (Table.States (335), 108, (242, 7), 34);
-            Add_Action (Table.States (335), 109, (242, 6), 35);
-            Table.States (335).Goto_List.Set_Capacity (5);
-            Add_Goto (Table.States (335), 131, 42);
-            Add_Goto (Table.States (335), 241, 515);
-            Add_Goto (Table.States (335), 242, 221);
-            Add_Goto (Table.States (335), 275, 93);
-            Add_Goto (Table.States (335), 296, 98);
-            Table.States (335).Kernel := To_Vector ((0 => ((335, 0),  74,  2, 
(2147483647, 0),  0)));
-            Table.States (335).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (336).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (336), 86, (241, 0), 384);
-            Add_Action (Table.States (336), 99, (335, 1), 516);
-            Table.States (336).Kernel := To_Vector ((((241, 0),  241,  2, 
(2147483647, 0),  0), ((335, 1),  241,  1,
-            (2147483647, 0),  0)));
-            Table.States (336).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (335, 1),  99, 516)));
-            Table.States (337).Action_List.Set_Capacity (6);
-            Add_Action (Table.States (337), 35, (251, 0), 517);
-            Add_Conflict (Table.States (337), 35, (125, 1),  0, null, null);
-            Add_Action (Table.States (337), 74, (125, 0), 340);
-            Add_Action (Table.States (337), 76, (118, 0), 237);
-            Add_Action (Table.States (337), 87, (296, 0), 239);
-            Add_Action (Table.States (337), 104, (325, 0), 241);
-            Add_Action (Table.States (337), 105, (325, 1), 242);
-            Table.States (337).Goto_List.Set_Capacity (3);
-            Add_Goto (Table.States (337), 118, 243);
-            Add_Goto (Table.States (337), 125, 518);
-            Add_Goto (Table.States (337), 325, 244);
-            Table.States (337).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((242, 0),  242,  5,
-            (2147483647, 0),  0), ((242, 1),  242,  2, (2147483647, 0),  0), 
((250, 0),  242,  4, (2147483647, 0),  0),
-            ((250, 1),  242,  3, (2147483647, 0),  0), ((251, 0),  242,  3, 
(2147483647, 0),  0), ((275, 0),  242,  3,
-            (2147483647, 0),  0), ((296, 0),  242,  2, (2147483647, 0),  0), 
((296, 1),  242,  2, (2147483647, 0),  0),
-            ((296, 2),  242,  2, (2147483647, 0),  0), ((296, 3),  242,  2, 
(2147483647, 0),  0)));
-            Table.States (337).Minimal_Complete_Actions := To_Vector 
(((Reduce, (125, 1),  0), (Shift, (251, 0),  35,
-            517)));
-            Table.States (338).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (338), 39, (216, 0), 519);
-            Table.States (338).Kernel := To_Vector ((0 => ((216, 0),  35,  3, 
(2147483647, 0),  0)));
-            Table.States (338).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (216, 0),  39, 519)));
-            Table.States (339).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (339), 81, (242, 8), 31);
-            Add_Action (Table.States (339), 107, (242, 5), 120);
-            Add_Action (Table.States (339), 108, (242, 7), 34);
-            Add_Action (Table.States (339), 109, (242, 6), 35);
-            Table.States (339).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (339), 131, 42);
-            Add_Goto (Table.States (339), 242, 520);
-            Add_Goto (Table.States (339), 275, 93);
-            Add_Goto (Table.States (339), 296, 98);
-            Table.States (339).Kernel := To_Vector ((0 => ((253, 0),  56,  2, 
(2147483647, 0),  0)));
-            Table.States (339).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (340).Action_List.Set_Capacity (21);
-            Add_Action (Table.States (340), 3, (200, 2), 122);
-            Add_Action (Table.States (340), 28, (127, 6), 521);
-            Add_Action (Table.States (340), 35, Reduce, (127, 5),  0, null, 
null);
-            Add_Action (Table.States (340), 39, (261, 4), 123);
-            Add_Action (Table.States (340), 40, (168, 1), 263);
-            Add_Action (Table.States (340), 41, (261, 1), 125);
-            Add_Action (Table.States (340), 44, (168, 3), 265);
-            Add_Action (Table.States (340), 52, (278, 0), 126);
-            Add_Action (Table.States (340), 76, (120, 0), 127);
-            Add_Action (Table.States (340), 77, (120, 5), 128);
-            Add_Action (Table.States (340), 81, (242, 8), 31);
-            Add_Action (Table.States (340), 82, Reduce, (169, 2),  0, null, 
null);
-            Add_Action (Table.States (340), 86, Reduce, (127, 5),  0, null, 
null);
-            Add_Action (Table.States (340), 90, Reduce, (169, 2),  0, null, 
null);
-            Add_Action (Table.States (340), 97, (333, 1), 129);
-            Add_Action (Table.States (340), 98, (333, 0), 130);
-            Add_Action (Table.States (340), 99, Reduce, (127, 5),  0, null, 
null);
-            Add_Action (Table.States (340), 106, (261, 0), 131);
-            Add_Action (Table.States (340), 107, (242, 5), 120);
-            Add_Action (Table.States (340), 108, (242, 7), 34);
-            Add_Action (Table.States (340), 109, (127, 0), 266);
-            Table.States (340).Goto_List.Set_Capacity (24);
-            Add_Goto (Table.States (340), 120, 132);
-            Add_Goto (Table.States (340), 127, 267);
-            Add_Goto (Table.States (340), 128, 522);
-            Add_Goto (Table.States (340), 131, 42);
-            Add_Goto (Table.States (340), 168, 271);
-            Add_Goto (Table.States (340), 169, 272);
-            Add_Goto (Table.States (340), 194, 411);
-            Add_Goto (Table.States (340), 200, 135);
-            Add_Goto (Table.States (340), 242, 276);
-            Add_Goto (Table.States (340), 261, 137);
-            Add_Goto (Table.States (340), 275, 93);
-            Add_Goto (Table.States (340), 278, 138);
-            Add_Goto (Table.States (340), 280, 278);
-            Add_Goto (Table.States (340), 285, 139);
-            Add_Goto (Table.States (340), 286, 140);
-            Add_Goto (Table.States (340), 287, 141);
-            Add_Goto (Table.States (340), 288, 142);
-            Add_Goto (Table.States (340), 289, 143);
-            Add_Goto (Table.States (340), 290, 144);
-            Add_Goto (Table.States (340), 296, 98);
-            Add_Goto (Table.States (340), 304, 279);
-            Add_Goto (Table.States (340), 323, 146);
-            Add_Goto (Table.States (340), 324, 147);
-            Add_Goto (Table.States (340), 333, 148);
-            Table.States (340).Kernel := To_Vector ((0 => ((125, 0),  74,  0, 
(128, 1),  1)));
-            Table.States (340).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (128, 1),  1)));
-            Table.States (341).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (341), 35, (254, 0), 523);
-            Table.States (341).Kernel := To_Vector ((((254, 0),  125,  3, 
(2147483647, 0),  0), ((254, 1),  125,  2,
-            (2147483647, 0),  0)));
-            Table.States (341).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (254, 0),  35, 523)));
-            Table.States (342).Action_List.Set_Capacity (22);
-            Add_Action (Table.States (342), 3, (200, 2), 122);
-            Add_Action (Table.States (342), 15, (139, 0), 260);
-            Add_Action (Table.States (342), 28, (127, 6), 261);
-            Add_Action (Table.States (342), 32, (224, 0), 262);
-            Add_Action (Table.States (342), 39, (261, 4), 123);
-            Add_Action (Table.States (342), 40, (168, 1), 263);
-            Add_Action (Table.States (342), 41, (261, 1), 125);
-            Add_Action (Table.States (342), 44, (168, 3), 265);
-            Add_Action (Table.States (342), 52, (278, 0), 126);
-            Add_Action (Table.States (342), 76, (120, 0), 127);
-            Add_Action (Table.States (342), 77, (120, 5), 128);
-            Add_Action (Table.States (342), 78, Reduce, (127, 5),  0, null, 
null);
-            Add_Action (Table.States (342), 81, (242, 8), 31);
-            Add_Action (Table.States (342), 82, Reduce, (169, 2),  0, null, 
null);
-            Add_Action (Table.States (342), 86, Reduce, (127, 5),  0, null, 
null);
-            Add_Action (Table.States (342), 90, Reduce, (169, 2),  0, null, 
null);
-            Add_Action (Table.States (342), 97, (333, 1), 129);
-            Add_Action (Table.States (342), 98, (333, 0), 130);
-            Add_Action (Table.States (342), 106, (261, 0), 131);
-            Add_Action (Table.States (342), 107, (242, 5), 120);
-            Add_Action (Table.States (342), 108, (242, 7), 34);
-            Add_Action (Table.States (342), 109, (127, 0), 266);
-            Table.States (342).Goto_List.Set_Capacity (28);
-            Add_Goto (Table.States (342), 120, 132);
-            Add_Goto (Table.States (342), 127, 267);
-            Add_Goto (Table.States (342), 128, 524);
-            Add_Goto (Table.States (342), 131, 42);
-            Add_Goto (Table.States (342), 139, 269);
-            Add_Goto (Table.States (342), 156, 525);
-            Add_Goto (Table.States (342), 168, 271);
-            Add_Goto (Table.States (342), 169, 272);
-            Add_Goto (Table.States (342), 194, 411);
-            Add_Goto (Table.States (342), 200, 135);
-            Add_Goto (Table.States (342), 224, 275);
-            Add_Goto (Table.States (342), 242, 276);
-            Add_Goto (Table.States (342), 261, 137);
-            Add_Goto (Table.States (342), 275, 93);
-            Add_Goto (Table.States (342), 276, 277);
-            Add_Goto (Table.States (342), 278, 138);
-            Add_Goto (Table.States (342), 280, 278);
-            Add_Goto (Table.States (342), 285, 139);
-            Add_Goto (Table.States (342), 286, 140);
-            Add_Goto (Table.States (342), 287, 141);
-            Add_Goto (Table.States (342), 288, 142);
-            Add_Goto (Table.States (342), 289, 143);
-            Add_Goto (Table.States (342), 290, 144);
-            Add_Goto (Table.States (342), 296, 98);
-            Add_Goto (Table.States (342), 304, 279);
-            Add_Goto (Table.States (342), 323, 146);
-            Add_Goto (Table.States (342), 324, 147);
-            Add_Goto (Table.States (342), 333, 148);
-            Table.States (342).Kernel := To_Vector ((((260, 0),  76,  2, 
(2147483647, 0),  0), ((260, 1),  76,  4,
-            (2147483647, 0),  0)));
-            Table.States (342).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (128, 1),  0)));
-            Table.States (343).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (343), (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, 81, 96, 107, 108,
-            109, 110), (260, 2),  3, pragma_g_2'Access, null);
-            Table.States (343).Kernel := To_Vector ((0 => ((260, 2),  99,  0, 
(260, 2),  3)));
-            Table.States (343).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (260, 2),  3)));
-            Table.States (344).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (344), 71, Reduce, (166, 0),  1, null, 
null);
-            Add_Conflict (Table.States (344), 71, (242, 5),  1, name_5'Access, 
name_5_check'Access);
-            Add_Action (Table.States (344), 76, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (344), 87, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (344), 104, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (344), 105, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Table.States (344).Kernel := To_Vector ((((166, 0),  107,  0, 
(166, 0),  1), ((242, 5),  107,  0, (242, 5),
-             1)));
-            Table.States (344).Minimal_Complete_Actions := To_Vector 
(((Reduce, (166, 0),  1), (Reduce, (242, 5),
-            1)));
-            Table.States (345).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (345), 86, (241, 0), 384);
-            Add_Action (Table.States (345), 99, (335, 2), 526);
-            Table.States (345).Kernel := To_Vector ((((241, 0),  241,  2, 
(2147483647, 0),  0), ((335, 2),  241,  1,
-            (2147483647, 0),  0)));
-            Table.States (345).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (335, 2),  99, 526)));
-            Table.States (346).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (346), 7, Reduce, (244, 1),  0, null, 
null);
-            Add_Action (Table.States (346), 26, (248, 2), 388);
-            Add_Action (Table.States (346), 40, (244, 0), 389);
-            Add_Action (Table.States (346), 81, Reduce, (244, 1),  0, null, 
null);
-            Add_Action (Table.States (346), 107, Reduce, (244, 1),  0, null, 
null);
-            Add_Action (Table.States (346), 108, Reduce, (244, 1),  0, null, 
null);
-            Add_Action (Table.States (346), 109, Reduce, (244, 1),  0, null, 
null);
-            Table.States (346).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (346), 117, 390);
-            Add_Goto (Table.States (346), 244, 391);
-            Table.States (346).Kernel := To_Vector ((((248, 0),  84,  4, 
(2147483647, 0),  0), ((248, 1),  84,  5,
-            (2147483647, 0),  0), ((248, 2),  84,  4, (2147483647, 0),  0)));
-            Table.States (346).Minimal_Complete_Actions := To_Vector 
(((Reduce, (244, 1),  0), (Shift, (248, 2),  26,
-            388)));
-            Table.States (347).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (347), (21, 35, 56, 72, 74, 78, 85, 99), 
(256, 0),  1, null, null);
-            Table.States (347).Kernel := To_Vector ((0 => ((256, 0),  202,  0, 
(256, 0),  1)));
-            Table.States (347).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (256, 0),  1)));
-            Table.States (348).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (348), (35, 56, 74, 99), (265, 0),  3, 
procedure_specification_0'Access,
-            procedure_specification_0_check'Access);
-            Table.States (348).Kernel := To_Vector ((0 => ((265, 0),  256,  0, 
(265, 0),  3)));
-            Table.States (348).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (265, 0),  3)));
-            Table.States (349).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (349), 35, (268, 0), 527);
-            Add_Conflict (Table.States (349), 35, (125, 1),  0, null, null);
-            Add_Action (Table.States (349), 74, (125, 0), 340);
-            Table.States (349).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (349), 125, 528);
-            Table.States (349).Kernel := To_Vector ((((267, 0),  107,  3, 
(2147483647, 0),  0), ((268, 0),  107,  3,
-            (2147483647, 0),  0)));
-            Table.States (349).Minimal_Complete_Actions := To_Vector 
(((Reduce, (125, 1),  0), (Shift, (268, 0),  35,
-            527)));
-            Table.States (350).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (350), 35, Reduce, (172, 2),  0, null, 
null);
-            Add_Action (Table.States (350), 74, Reduce, (172, 2),  0, null, 
null);
-            Add_Action (Table.States (350), 76, (172, 0), 380);
-            Table.States (350).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (350), 172, 529);
-            Table.States (350).Kernel := To_Vector ((((274, 0),  107,  6, 
(2147483647, 0),  0), ((274, 1),  107,  3,
-            (2147483647, 0),  0)));
-            Table.States (350).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (172, 2),  0)));
-            Table.States (351).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (351), 35, (307, 0), 530);
-            Table.States (351).Kernel := To_Vector ((((307, 0),  125,  6, 
(2147483647, 0),  0), ((307, 1),  125,  3,
-            (2147483647, 0),  0)));
-            Table.States (351).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (307, 0),  35, 530)));
-            Table.States (352).Action_List.Set_Capacity (15);
-            Add_Action (Table.States (352), 3, (200, 2), 122);
-            Add_Action (Table.States (352), 39, (261, 4), 123);
-            Add_Action (Table.States (352), 40, (200, 3), 124);
-            Add_Action (Table.States (352), 41, (261, 1), 125);
-            Add_Action (Table.States (352), 52, (278, 0), 126);
-            Add_Action (Table.States (352), 76, (120, 0), 127);
-            Add_Action (Table.States (352), 77, (120, 5), 128);
-            Add_Action (Table.States (352), 81, (242, 8), 31);
-            Add_Action (Table.States (352), 97, (333, 1), 129);
-            Add_Action (Table.States (352), 98, (333, 0), 130);
-            Add_Action (Table.States (352), 99, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (352), 106, (261, 0), 131);
-            Add_Action (Table.States (352), 107, (242, 5), 120);
-            Add_Action (Table.States (352), 108, (242, 7), 34);
-            Add_Action (Table.States (352), 109, (242, 6), 35);
-            Table.States (352).Goto_List.Set_Capacity (20);
-            Add_Goto (Table.States (352), 120, 132);
-            Add_Goto (Table.States (352), 131, 42);
-            Add_Goto (Table.States (352), 194, 133);
-            Add_Goto (Table.States (352), 195, 531);
-            Add_Goto (Table.States (352), 200, 135);
-            Add_Goto (Table.States (352), 242, 136);
-            Add_Goto (Table.States (352), 261, 137);
-            Add_Goto (Table.States (352), 275, 93);
-            Add_Goto (Table.States (352), 278, 138);
-            Add_Goto (Table.States (352), 285, 139);
-            Add_Goto (Table.States (352), 286, 140);
-            Add_Goto (Table.States (352), 287, 141);
-            Add_Goto (Table.States (352), 288, 142);
-            Add_Goto (Table.States (352), 289, 143);
-            Add_Goto (Table.States (352), 290, 144);
-            Add_Goto (Table.States (352), 296, 98);
-            Add_Goto (Table.States (352), 304, 145);
-            Add_Goto (Table.States (352), 323, 146);
-            Add_Goto (Table.States (352), 324, 147);
-            Add_Goto (Table.States (352), 333, 148);
-            Table.States (352).Kernel := To_Vector ((0 => ((279, 0),  74,  1, 
(2147483647, 0),  0)));
-            Table.States (352).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (195, 1),  0)));
-            Table.States (353).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (353), (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, 81, 96, 107, 108,
-            109, 110), (279, 1),  3, raise_statement_1'Access, null);
-            Table.States (353).Kernel := To_Vector ((0 => ((279, 1),  99,  0, 
(279, 1),  3)));
-            Table.States (353).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (279, 1),  3)));
-            Table.States (354).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (354), 5, (293, 0), 532);
-            Table.States (354).Kernel := To_Vector ((0 => ((293, 0),  74,  2, 
(2147483647, 0),  0)));
-            Table.States (354).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (293, 0),  5, 532)));
-            Table.States (355).Action_List.Set_Capacity (47);
-            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, 81, 96, 107, 108,
-            109, 110), (293, 1),  3, requeue_statement_1'Access, null);
-            Table.States (355).Kernel := To_Vector ((0 => ((293, 1),  99,  0, 
(293, 1),  3)));
-            Table.States (355).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (293, 1),  3)));
-            Table.States (356).Action_List.Set_Capacity (11);
-            Add_Action (Table.States (356), 7, Reduce, (121, 1),  0, null, 
null);
-            Add_Action (Table.States (356), 8, (121, 0), 404);
-            Add_Action (Table.States (356), 16, Reduce, (121, 1),  0, null, 
null);
-            Add_Action (Table.States (356), 21, Reduce, (121, 1),  0, null, 
null);
-            Add_Action (Table.States (356), 40, Reduce, (121, 1),  0, null, 
null);
-            Add_Action (Table.States (356), 81, Reduce, (121, 1),  0, null, 
null);
-            Add_Action (Table.States (356), 85, Reduce, (121, 1),  0, null, 
null);
-            Add_Action (Table.States (356), 99, Reduce, (121, 1),  0, null, 
null);
-            Add_Action (Table.States (356), 107, Reduce, (121, 1),  0, null, 
null);
-            Add_Action (Table.States (356), 108, Reduce, (121, 1),  0, null, 
null);
-            Add_Action (Table.States (356), 109, Reduce, (121, 1),  0, null, 
null);
-            Table.States (356).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (356), 121, 533);
-            Table.States (356).Kernel := To_Vector ((((197, 0),  84,  2, 
(2147483647, 0),  0), ((197, 1),  84,  1,
-            (2147483647, 0),  0)));
-            Table.States (356).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (121, 1),  0)));
-            Table.States (357).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (357), (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, 81, 96, 107, 108,
-            109, 110), (305, 0),  3, simple_return_statement_0'Access, null);
-            Table.States (357).Kernel := To_Vector ((0 => ((305, 0),  99,  0, 
(305, 0),  3)));
-            Table.States (357).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (305, 0),  3)));
-            Table.States (358).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (358), (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, 81, 96, 107, 108,
-            109, 110), (199, 1),  3, extended_return_statement_1'Access, null);
-            Table.States (358).Kernel := To_Vector ((0 => ((199, 1),  99,  0, 
(199, 1),  3)));
-            Table.States (358).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (199, 1),  3)));
-            Table.States (359).Action_List.Set_Capacity (25);
-            Add_Action (Table.States (359), 4, (116, 0), 1);
-            Add_Action (Table.States (359), 5, (306, 8), 2);
-            Add_Action (Table.States (359), 13, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (359), 15, (142, 0), 3);
-            Add_Action (Table.States (359), 17, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (359), 18, (164, 0), 4);
-            Add_Action (Table.States (359), 24, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (359), 26, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (359), 27, (193, 0), 5);
-            Add_Action (Table.States (359), 28, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (359), 31, (306, 3), 9);
-            Add_Action (Table.States (359), 32, (225, 0), 10);
-            Add_Action (Table.States (359), 37, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (359), 41, (306, 0), 13);
-            Add_Action (Table.States (359), 48, (260, 0), 16);
-            Add_Action (Table.States (359), 52, (279, 0), 20);
-            Add_Action (Table.States (359), 57, (293, 0), 21);
-            Add_Action (Table.States (359), 58, (199, 0), 22);
-            Add_Action (Table.States (359), 61, (129, 0), 24);
-            Add_Action (Table.States (359), 73, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (359), 81, (242, 8), 31);
-            Add_Action (Table.States (359), 96, (220, 0), 32);
-            Add_Action (Table.States (359), 107, (134, 0), 363);
-            Add_Action (Table.States (359), 108, (242, 7), 34);
-            Add_Action (Table.States (359), 109, (242, 6), 35);
-            Table.States (359).Goto_List.Set_Capacity (32);
-            Add_Goto (Table.States (359), 116, 37);
-            Add_Goto (Table.States (359), 126, 39);
-            Add_Goto (Table.States (359), 129, 40);
-            Add_Goto (Table.States (359), 131, 42);
-            Add_Goto (Table.States (359), 134, 43);
-            Add_Goto (Table.States (359), 135, 44);
-            Add_Goto (Table.States (359), 136, 45);
-            Add_Goto (Table.States (359), 142, 48);
-            Add_Goto (Table.States (359), 154, 51);
-            Add_Goto (Table.States (359), 155, 52);
-            Add_Goto (Table.States (359), 164, 54);
-            Add_Goto (Table.States (359), 193, 58);
-            Add_Goto (Table.States (359), 199, 60);
-            Add_Goto (Table.States (359), 220, 69);
-            Add_Goto (Table.States (359), 221, 534);
-            Add_Goto (Table.States (359), 225, 71);
-            Add_Goto (Table.States (359), 235, 73);
-            Add_Goto (Table.States (359), 242, 74);
-            Add_Goto (Table.States (359), 260, 84);
-            Add_Goto (Table.States (359), 264, 87);
-            Add_Goto (Table.States (359), 275, 93);
-            Add_Goto (Table.States (359), 279, 94);
-            Add_Goto (Table.States (359), 293, 97);
-            Add_Goto (Table.States (359), 296, 98);
-            Add_Goto (Table.States (359), 297, 99);
-            Add_Goto (Table.States (359), 301, 100);
-            Add_Goto (Table.States (359), 302, 364);
-            Add_Goto (Table.States (359), 303, 393);
-            Add_Goto (Table.States (359), 305, 101);
-            Add_Goto (Table.States (359), 306, 102);
-            Add_Goto (Table.States (359), 309, 366);
-            Add_Goto (Table.States (359), 326, 115);
-            Table.States (359).Kernel := To_Vector ((0 => ((199, 0),  21,  3, 
(2147483647, 0),  0)));
-            Table.States (359).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (221, 1),  0)));
-         end Subr_7;
-         procedure Subr_8
-         is begin
-            Table.States (360).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (360), 76, (118, 0), 237);
-            Add_Action (Table.States (360), 78, (318, 0), 535);
-            Add_Action (Table.States (360), 87, (296, 0), 239);
-            Add_Action (Table.States (360), 104, (325, 0), 241);
-            Add_Action (Table.States (360), 105, (325, 1), 242);
-            Table.States (360).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (360), 118, 243);
-            Add_Goto (Table.States (360), 325, 244);
-            Table.States (360).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((242, 0),  242,  5,
-            (2147483647, 0),  0), ((242, 1),  242,  2, (2147483647, 0),  0), 
((275, 0),  242,  3, (2147483647, 0),  0),
-            ((296, 0),  242,  2, (2147483647, 0),  0), ((296, 1),  242,  2, 
(2147483647, 0),  0), ((296, 2),  242,  2,
-            (2147483647, 0),  0), ((296, 3),  242,  2, (2147483647, 0),  0), 
((318, 0),  242,  7, (2147483647, 0),
-            0)));
-            Table.States (360).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (318, 0),  78, 535)));
-            Table.States (361).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (361), (22, 24, 43), (298, 4),  2, 
select_alternative_4'Access, null);
-            Table.States (361).Kernel := To_Vector ((0 => ((298, 4),  99,  0, 
(298, 4),  2)));
-            Table.States (361).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (298, 4),  2)));
-            Table.States (362).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (362), 90, (298, 0), 536);
-            Table.States (362).Kernel := To_Vector ((((298, 0),  195,  4, 
(2147483647, 0),  0), ((298, 1),  195,  3,
-            (2147483647, 0),  0), ((298, 2),  195,  3, (2147483647, 0),  0)));
-            Table.States (362).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (298, 0),  90, 536)));
-            Table.States (363).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (363), 76, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (363), 84, (134, 0), 537);
-            Add_Action (Table.States (363), 85, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (363), 87, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (363), 99, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (363), 104, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (363), 105, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Table.States (363).Kernel := To_Vector ((((134, 0),  107,  1, 
(2147483647, 0),  0), ((242, 5),  107,  0,
-            (242, 5),  1)));
-            Table.States (363).Minimal_Complete_Actions := To_Vector (((Shift, 
(134, 0),  84, 537), (Reduce, (242, 5),
-            1)));
-            Table.States (364).Action_List.Set_Capacity (30);
-            Add_Action (Table.States (364), 4, (116, 0), 1);
-            Add_Action (Table.States (364), 5, (306, 8), 2);
-            Add_Action (Table.States (364), 13, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (364), 15, (142, 0), 3);
-            Add_Action (Table.States (364), 17, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (364), 18, (164, 0), 4);
-            Add_Action (Table.States (364), 22, Reduce, (303, 0),  1, null, 
null);
-            Add_Action (Table.States (364), 23, Reduce, (303, 0),  1, null, 
null);
-            Add_Action (Table.States (364), 24, Reduce, (303, 0),  1, null, 
null);
-            Add_Action (Table.States (364), 26, Reduce, (303, 0),  1, null, 
null);
-            Add_Action (Table.States (364), 27, (193, 0), 5);
-            Add_Action (Table.States (364), 28, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (364), 31, (306, 3), 9);
-            Add_Action (Table.States (364), 32, (225, 0), 10);
-            Add_Action (Table.States (364), 37, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (364), 41, (306, 0), 13);
-            Add_Action (Table.States (364), 43, Reduce, (303, 0),  1, null, 
null);
-            Add_Action (Table.States (364), 48, (260, 0), 16);
-            Add_Action (Table.States (364), 52, (279, 0), 20);
-            Add_Action (Table.States (364), 57, (293, 0), 21);
-            Add_Action (Table.States (364), 58, (199, 0), 22);
-            Add_Action (Table.States (364), 61, (129, 0), 24);
-            Add_Action (Table.States (364), 68, Reduce, (303, 0),  1, null, 
null);
-            Add_Action (Table.States (364), 72, Reduce, (303, 0),  1, null, 
null);
-            Add_Action (Table.States (364), 73, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (364), 81, (242, 8), 31);
-            Add_Action (Table.States (364), 96, (220, 0), 32);
-            Add_Action (Table.States (364), 107, (134, 0), 363);
-            Add_Action (Table.States (364), 108, (242, 7), 34);
-            Add_Action (Table.States (364), 109, (242, 6), 35);
-            Table.States (364).Goto_List.Set_Capacity (29);
-            Add_Goto (Table.States (364), 116, 37);
-            Add_Goto (Table.States (364), 126, 39);
-            Add_Goto (Table.States (364), 129, 40);
-            Add_Goto (Table.States (364), 131, 42);
-            Add_Goto (Table.States (364), 134, 43);
-            Add_Goto (Table.States (364), 135, 44);
-            Add_Goto (Table.States (364), 136, 45);
-            Add_Goto (Table.States (364), 142, 48);
-            Add_Goto (Table.States (364), 154, 51);
-            Add_Goto (Table.States (364), 155, 52);
-            Add_Goto (Table.States (364), 164, 54);
-            Add_Goto (Table.States (364), 193, 58);
-            Add_Goto (Table.States (364), 199, 60);
-            Add_Goto (Table.States (364), 220, 69);
-            Add_Goto (Table.States (364), 225, 71);
-            Add_Goto (Table.States (364), 235, 73);
-            Add_Goto (Table.States (364), 242, 74);
-            Add_Goto (Table.States (364), 260, 84);
-            Add_Goto (Table.States (364), 264, 87);
-            Add_Goto (Table.States (364), 275, 93);
-            Add_Goto (Table.States (364), 279, 94);
-            Add_Goto (Table.States (364), 293, 97);
-            Add_Goto (Table.States (364), 296, 98);
-            Add_Goto (Table.States (364), 297, 99);
-            Add_Goto (Table.States (364), 301, 100);
-            Add_Goto (Table.States (364), 305, 101);
-            Add_Goto (Table.States (364), 306, 102);
-            Add_Goto (Table.States (364), 309, 538);
-            Add_Goto (Table.States (364), 326, 115);
-            Table.States (364).Kernel := To_Vector ((((302, 0),  302,  2, 
(2147483647, 0),  0), ((303, 0),  302,  0,
-            (303, 0),  1)));
-            Table.States (364).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (303, 0),  1)));
-            Table.States (365).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (365), (22, 24, 43), (298, 3),  2, null, 
null);
-            Table.States (365).Kernel := To_Vector ((0 => ((298, 3),  303,  0, 
(298, 3),  2)));
-            Table.States (365).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (298, 3),  2)));
-            Table.States (366).Action_List.Set_Capacity (30);
-            Add_Action (Table.States (366), (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, 81, 96, 107, 108, 109), (302, 1),  1, 
null, null);
-            Table.States (366).Kernel := To_Vector ((0 => ((302, 1),  309,  0, 
(302, 1),  1)));
-            Table.States (366).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (302, 1),  1)));
-            Table.States (367).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (367), 22, Reduce, (163, 0),  2, null, 
null);
-            Add_Action (Table.States (367), 24, Reduce, (163, 0),  2, null, 
null);
-            Add_Action (Table.States (367), 43, Reduce, (163, 0),  2, null, 
null);
-            Add_Action (Table.States (367), 68, Reduce, (327, 2),  2, null, 
null);
-            Table.States (367).Kernel := To_Vector ((((163, 0),  303,  0, 
(163, 0),  2), ((327, 2),  303,  0, (327, 2),
-             2)));
-            Table.States (367).Minimal_Complete_Actions := To_Vector 
(((Reduce, (163, 0),  2), (Reduce, (327, 2),
-            2)));
-            Table.States (368).Action_List.Set_Capacity (24);
-            Add_Action (Table.States (368), 4, (116, 0), 1);
-            Add_Action (Table.States (368), 5, (306, 8), 2);
-            Add_Action (Table.States (368), 13, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (368), 15, (142, 0), 3);
-            Add_Action (Table.States (368), 17, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (368), 18, (164, 0), 4);
-            Add_Action (Table.States (368), 24, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (368), 27, (193, 0), 5);
-            Add_Action (Table.States (368), 28, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (368), 31, (306, 3), 9);
-            Add_Action (Table.States (368), 32, (225, 0), 10);
-            Add_Action (Table.States (368), 37, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (368), 41, (306, 0), 13);
-            Add_Action (Table.States (368), 48, (260, 0), 16);
-            Add_Action (Table.States (368), 52, (279, 0), 20);
-            Add_Action (Table.States (368), 57, (293, 0), 21);
-            Add_Action (Table.States (368), 58, (199, 0), 22);
-            Add_Action (Table.States (368), 61, (129, 0), 24);
-            Add_Action (Table.States (368), 73, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (368), 81, (242, 8), 31);
-            Add_Action (Table.States (368), 96, (220, 0), 32);
-            Add_Action (Table.States (368), 107, (134, 0), 363);
-            Add_Action (Table.States (368), 108, (242, 7), 34);
-            Add_Action (Table.States (368), 109, (242, 6), 35);
-            Table.States (368).Goto_List.Set_Capacity (31);
-            Add_Goto (Table.States (368), 116, 37);
-            Add_Goto (Table.States (368), 126, 39);
-            Add_Goto (Table.States (368), 129, 40);
-            Add_Goto (Table.States (368), 131, 42);
-            Add_Goto (Table.States (368), 134, 43);
-            Add_Goto (Table.States (368), 135, 44);
-            Add_Goto (Table.States (368), 136, 45);
-            Add_Goto (Table.States (368), 142, 48);
-            Add_Goto (Table.States (368), 154, 51);
-            Add_Goto (Table.States (368), 155, 52);
-            Add_Goto (Table.States (368), 164, 54);
-            Add_Goto (Table.States (368), 193, 58);
-            Add_Goto (Table.States (368), 199, 60);
-            Add_Goto (Table.States (368), 220, 69);
-            Add_Goto (Table.States (368), 225, 71);
-            Add_Goto (Table.States (368), 235, 73);
-            Add_Goto (Table.States (368), 242, 74);
-            Add_Goto (Table.States (368), 260, 84);
-            Add_Goto (Table.States (368), 264, 87);
-            Add_Goto (Table.States (368), 275, 93);
-            Add_Goto (Table.States (368), 279, 94);
-            Add_Goto (Table.States (368), 293, 97);
-            Add_Goto (Table.States (368), 296, 98);
-            Add_Goto (Table.States (368), 297, 99);
-            Add_Goto (Table.States (368), 301, 100);
-            Add_Goto (Table.States (368), 302, 364);
-            Add_Goto (Table.States (368), 303, 539);
-            Add_Goto (Table.States (368), 305, 101);
-            Add_Goto (Table.States (368), 306, 102);
-            Add_Goto (Table.States (368), 309, 366);
-            Add_Goto (Table.States (368), 326, 115);
-            Table.States (368).Kernel := To_Vector ((0 => ((155, 0),  22,  3, 
(2147483647, 0),  0)));
-            Table.States (368).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (303, 1),  0)));
-            Table.States (369).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (369), 18, (164, 0), 4);
-            Table.States (369).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (369), 163, 540);
-            Add_Goto (Table.States (369), 164, 541);
-            Table.States (369).Kernel := To_Vector ((0 => ((326, 0),  43,  5, 
(2147483647, 0),  0)));
-            Table.States (369).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (164, 0),  18, 4)));
-            Table.States (370).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (370), 22, Reduce, (181, 1),  2, null, 
null);
-            Add_Action (Table.States (370), 43, Reduce, (181, 1),  2, null, 
null);
-            Add_Action (Table.States (370), 68, Reduce, (327, 1),  2, null, 
null);
-            Table.States (370).Kernel := To_Vector ((((181, 1),  303,  0, 
(181, 1),  2), ((327, 1),  303,  0, (327, 1),
-             2)));
-            Table.States (370).Minimal_Complete_Actions := To_Vector 
(((Reduce, (181, 1),  2), (Reduce, (327, 1),
-            2)));
-            Table.States (371).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (371), 22, Reduce, (181, 0),  2, null, 
null);
-            Add_Action (Table.States (371), 43, Reduce, (181, 0),  2, null, 
null);
-            Add_Action (Table.States (371), 68, Reduce, (327, 0),  2, null, 
null);
-            Table.States (371).Kernel := To_Vector ((((181, 0),  303,  0, 
(181, 0),  2), ((327, 0),  303,  0, (327, 0),
-             2)));
-            Table.States (371).Minimal_Complete_Actions := To_Vector 
(((Reduce, (181, 0),  2), (Reduce, (327, 0),
-            2)));
-            Table.States (372).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (372), 4, (116, 0), 1);
-            Add_Action (Table.States (372), 18, (164, 0), 4);
-            Add_Action (Table.States (372), 67, (298, 4), 201);
-            Add_Action (Table.States (372), 72, (298, 0), 202);
-            Table.States (372).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (372), 116, 203);
-            Add_Goto (Table.States (372), 163, 204);
-            Add_Goto (Table.States (372), 164, 541);
-            Add_Goto (Table.States (372), 298, 542);
-            Table.States (372).Kernel := To_Vector ((0 => ((299, 0),  43,  2, 
(2147483647, 0),  0)));
-            Table.States (372).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (298, 4),  67, 201)));
-            Table.States (373).Action_List.Set_Capacity (24);
-            Add_Action (Table.States (373), 4, (116, 0), 1);
-            Add_Action (Table.States (373), 5, (306, 8), 2);
-            Add_Action (Table.States (373), 13, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (373), 15, (142, 0), 3);
-            Add_Action (Table.States (373), 17, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (373), 18, (164, 0), 4);
-            Add_Action (Table.States (373), 24, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (373), 27, (193, 0), 5);
-            Add_Action (Table.States (373), 28, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (373), 31, (306, 3), 9);
-            Add_Action (Table.States (373), 32, (225, 0), 10);
-            Add_Action (Table.States (373), 37, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (373), 41, (306, 0), 13);
-            Add_Action (Table.States (373), 48, (260, 0), 16);
-            Add_Action (Table.States (373), 52, (279, 0), 20);
-            Add_Action (Table.States (373), 57, (293, 0), 21);
-            Add_Action (Table.States (373), 58, (199, 0), 22);
-            Add_Action (Table.States (373), 61, (129, 0), 24);
-            Add_Action (Table.States (373), 73, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (373), 81, (242, 8), 31);
-            Add_Action (Table.States (373), 96, (220, 0), 32);
-            Add_Action (Table.States (373), 107, (134, 0), 363);
-            Add_Action (Table.States (373), 108, (242, 7), 34);
-            Add_Action (Table.States (373), 109, (242, 6), 35);
-            Table.States (373).Goto_List.Set_Capacity (31);
-            Add_Goto (Table.States (373), 116, 37);
-            Add_Goto (Table.States (373), 126, 39);
-            Add_Goto (Table.States (373), 129, 40);
-            Add_Goto (Table.States (373), 131, 42);
-            Add_Goto (Table.States (373), 134, 43);
-            Add_Goto (Table.States (373), 135, 44);
-            Add_Goto (Table.States (373), 136, 45);
-            Add_Goto (Table.States (373), 142, 48);
-            Add_Goto (Table.States (373), 154, 51);
-            Add_Goto (Table.States (373), 155, 52);
-            Add_Goto (Table.States (373), 164, 54);
-            Add_Goto (Table.States (373), 193, 58);
-            Add_Goto (Table.States (373), 199, 60);
-            Add_Goto (Table.States (373), 220, 69);
-            Add_Goto (Table.States (373), 225, 71);
-            Add_Goto (Table.States (373), 235, 73);
-            Add_Goto (Table.States (373), 242, 74);
-            Add_Goto (Table.States (373), 260, 84);
-            Add_Goto (Table.States (373), 264, 87);
-            Add_Goto (Table.States (373), 275, 93);
-            Add_Goto (Table.States (373), 279, 94);
-            Add_Goto (Table.States (373), 293, 97);
-            Add_Goto (Table.States (373), 296, 98);
-            Add_Goto (Table.States (373), 297, 99);
-            Add_Goto (Table.States (373), 301, 100);
-            Add_Goto (Table.States (373), 302, 364);
-            Add_Goto (Table.States (373), 303, 543);
-            Add_Goto (Table.States (373), 305, 101);
-            Add_Goto (Table.States (373), 306, 102);
-            Add_Goto (Table.States (373), 309, 366);
-            Add_Goto (Table.States (373), 326, 115);
-            Table.States (373).Kernel := To_Vector ((0 => ((297, 0),  22,  3, 
(2147483647, 0),  0)));
-            Table.States (373).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (303, 1),  0)));
-            Table.States (374).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (374), 61, (297, 1), 544);
-            Table.States (374).Kernel := To_Vector ((0 => ((297, 1),  24,  2, 
(2147483647, 0),  0)));
-            Table.States (374).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (297, 1),  61, 544)));
-            Table.States (375).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (375), 5, (129, 0), 545);
-            Table.States (375).Kernel := To_Vector ((0 => ((129, 0),  68,  4, 
(2147483647, 0),  0)));
-            Table.States (375).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (129, 0),  5, 545)));
-            Table.States (376).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (376), 40, (317, 0), 490);
-            Add_Action (Table.States (376), 81, (242, 8), 31);
-            Add_Action (Table.States (376), 107, (242, 5), 120);
-            Add_Action (Table.States (376), 108, (242, 7), 34);
-            Add_Action (Table.States (376), 109, (242, 6), 35);
-            Table.States (376).Goto_List.Set_Capacity (5);
-            Add_Goto (Table.States (376), 131, 42);
-            Add_Goto (Table.States (376), 242, 491);
-            Add_Goto (Table.States (376), 275, 93);
-            Add_Goto (Table.States (376), 296, 98);
-            Add_Goto (Table.States (376), 317, 546);
-            Table.States (376).Kernel := To_Vector ((0 => ((316, 0),  35,  2, 
(2147483647, 0),  0)));
-            Table.States (376).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (377).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (377), 35, (320, 0), 547);
-            Add_Conflict (Table.States (377), 35, (125, 1),  0, null, null);
-            Add_Action (Table.States (377), 74, (125, 0), 340);
-            Table.States (377).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (377), 125, 548);
-            Table.States (377).Kernel := To_Vector ((((319, 0),  107,  4, 
(2147483647, 0),  0), ((320, 0),  107,  3,
-            (2147483647, 0),  0)));
-            Table.States (377).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (320, 0),  35, 547)));
-            Table.States (378).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (378), 35, Reduce, (172, 2),  0, null, 
null);
-            Add_Action (Table.States (378), 74, Reduce, (172, 2),  0, null, 
null);
-            Add_Action (Table.States (378), 76, (172, 0), 380);
-            Add_Action (Table.States (378), 99, Reduce, (172, 2),  0, null, 
null);
-            Table.States (378).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (378), 172, 549);
-            Table.States (378).Kernel := To_Vector ((((322, 0),  107,  6, 
(2147483647, 0),  0), ((322, 1),  107,  3,
-            (2147483647, 0),  0), ((322, 2),  107,  1, (2147483647, 0),  0)));
-            Table.States (378).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (172, 2),  0)));
-            Table.States (379).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (379), 35, (308, 0), 550);
-            Add_Action (Table.States (379), 99, (308, 2), 551);
-            Table.States (379).Kernel := To_Vector ((((308, 0),  125,  6, 
(2147483647, 0),  0), ((308, 1),  125,  3,
-            (2147483647, 0),  0), ((308, 2),  125,  1, (2147483647, 0),  0)));
-            Table.States (379).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (308, 2),  99, 551)));
-            Table.States (380).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (380), 78, Reduce, (173, 4),  0, null, 
null);
-            Add_Action (Table.States (380), 83, (172, 0), 552);
-            Add_Action (Table.States (380), 99, Reduce, (173, 4),  0, null, 
null);
-            Add_Action (Table.States (380), 107, (222, 1), 166);
-            Table.States (380).Goto_List.Set_Capacity (3);
-            Add_Goto (Table.States (380), 173, 553);
-            Add_Goto (Table.States (380), 174, 554);
-            Add_Goto (Table.States (380), 222, 555);
-            Table.States (380).Kernel := To_Vector ((((172, 0),  76,  2, 
(2147483647, 0),  0), ((172, 1),  76,  1,
-            (2147483647, 0),  0)));
-            Table.States (380).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (174, 1),  0)));
-            Table.States (381).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (381), 35, (209, 0), 556);
-            Add_Action (Table.States (381), 99, (226, 1), 557);
-            Table.States (381).Kernel := To_Vector ((((209, 0),  172,  3, 
(2147483647, 0),  0), ((226, 0),  172,  3,
-            (2147483647, 0),  0), ((226, 1),  172,  1, (2147483647, 0),  0), 
((262, 0),  172,  6, (2147483647, 0),  0),
-            ((263, 0),  172,  3, (2147483647, 0),  0)));
-            Table.States (381).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (226, 1),  99, 557)));
-            Table.States (382).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (382), 81, (242, 8), 31);
-            Add_Action (Table.States (382), 107, (242, 5), 120);
-            Add_Action (Table.States (382), 108, (242, 7), 34);
-            Add_Action (Table.States (382), 109, (242, 6), 35);
-            Table.States (382).Goto_List.Set_Capacity (5);
-            Add_Goto (Table.States (382), 131, 42);
-            Add_Goto (Table.States (382), 241, 558);
-            Add_Goto (Table.States (382), 242, 221);
-            Add_Goto (Table.States (382), 275, 93);
-            Add_Goto (Table.States (382), 296, 98);
-            Table.States (382).Kernel := To_Vector ((0 => ((334, 0),  69,  2, 
(2147483647, 0),  0)));
-            Table.States (382).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (383).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (383), 86, (241, 0), 384);
-            Add_Action (Table.States (383), 99, (334, 1), 559);
-            Table.States (383).Kernel := To_Vector ((((241, 0),  241,  2, 
(2147483647, 0),  0), ((334, 1),  241,  1,
-            (2147483647, 0),  0)));
-            Table.States (383).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (334, 1),  99, 559)));
-            Table.States (384).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (384), 81, (242, 8), 31);
-            Add_Action (Table.States (384), 107, (242, 5), 120);
-            Add_Action (Table.States (384), 108, (242, 7), 34);
-            Add_Action (Table.States (384), 109, (242, 6), 35);
-            Table.States (384).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (384), 131, 42);
-            Add_Goto (Table.States (384), 242, 560);
-            Add_Goto (Table.States (384), 275, 93);
-            Add_Goto (Table.States (384), 296, 98);
-            Table.States (384).Kernel := To_Vector ((0 => ((241, 0),  86,  1, 
(2147483647, 0),  0)));
-            Table.States (384).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (385).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (385), (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, 
81, 96, 107, 108, 109, 110), (334, 2),  3,
-            use_clause_2'Access, null);
-            Table.States (385).Kernel := To_Vector ((0 => ((334, 2),  99,  0, 
(334, 2),  3)));
-            Table.States (385).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (334, 2),  3)));
-            Table.States (386).Action_List.Set_Capacity (40);
-            Add_Action (Table.States (386), (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, 81, 
96, 107, 108, 109, 110), (335, 3),  3,
-            with_clause_3'Access, null);
-            Table.States (386).Kernel := To_Vector ((0 => ((335, 3),  99,  0, 
(335, 3),  3)));
-            Table.States (386).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (335, 3),  3)));
-            Table.States (387).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (387), (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, 81, 96, 107, 108,
-            109, 110), (220, 0),  3, goto_label_0'Access, null);
-            Table.States (387).Kernel := To_Vector ((0 => ((220, 0),  93,  0, 
(220, 0),  3)));
-            Table.States (387).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (220, 0),  3)));
-            Table.States (388).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (388), 56, (248, 2), 561);
-            Table.States (388).Kernel := To_Vector ((0 => ((248, 2),  26,  3, 
(2147483647, 0),  0)));
-            Table.States (388).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (248, 2),  56, 561)));
-            Table.States (389).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (389), 41, (244, 0), 562);
-            Table.States (389).Kernel := To_Vector ((0 => ((244, 0),  40,  1, 
(2147483647, 0),  0)));
-            Table.States (389).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (244, 0),  41, 562)));
-            Table.States (390).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (390), 56, (248, 1), 563);
-            Table.States (390).Kernel := To_Vector ((0 => ((248, 1),  117,  3, 
(2147483647, 0),  0)));
-            Table.States (390).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (248, 1),  56, 563)));
-            Table.States (391).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (391), 7, (117, 0), 564);
-            Add_Action (Table.States (391), 81, (242, 8), 31);
-            Add_Action (Table.States (391), 107, (242, 5), 120);
-            Add_Action (Table.States (391), 108, (242, 7), 34);
-            Add_Action (Table.States (391), 109, (242, 6), 35);
-            Table.States (391).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (391), 131, 42);
-            Add_Goto (Table.States (391), 242, 565);
-            Add_Goto (Table.States (391), 275, 93);
-            Add_Goto (Table.States (391), 296, 98);
-            Table.States (391).Kernel := To_Vector ((((117, 0),  244,  2, 
(2147483647, 0),  0), ((117, 1),  244,  3,
-            (2147483647, 0),  0), ((117, 2),  244,  2, (2147483647, 0),  0), 
((248, 0),  244,  4, (2147483647, 0),
-            0)));
-            Table.States (391).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (117, 0),  7, 564)));
-            Table.States (392).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (392), 24, (136, 1), 566);
-            Table.States (392).Kernel := To_Vector ((0 => ((136, 1),  221,  2, 
(2147483647, 0),  0)));
-            Table.States (392).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (136, 1),  24, 566)));
-            Table.States (393).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (393), 24, Reduce, (221, 1),  1, null, 
null);
-            Add_Action (Table.States (393), 26, (221, 0), 567);
-            Table.States (393).Kernel := To_Vector ((((221, 0),  303,  1, 
(2147483647, 0),  0), ((221, 1),  303,  0,
-            (221, 1),  1)));
-            Table.States (393).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (221, 1),  1)));
-            Table.States (394).Action_List.Set_Capacity (18);
-            Add_Action (Table.States (394), (13, 24, 25, 28, 29, 30, 40, 46, 
47, 48, 49, 50, 51, 63, 66, 69, 71, 107),
-            (161, 2),  1, null, null);
-            Table.States (394).Kernel := To_Vector ((0 => ((161, 2),  160,  0, 
(161, 2),  1)));
-            Table.States (394).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (161, 2),  1)));
-            Table.States (395).Action_List.Set_Capacity (18);
-            Add_Action (Table.States (395), 13, Reduce, (162, 0),  1, null, 
null);
-            Add_Action (Table.States (395), 24, Reduce, (162, 0),  1, null, 
null);
-            Add_Action (Table.States (395), 25, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (395), 28, (124, 0), 185);
-            Add_Action (Table.States (395), 29, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (395), 30, (213, 0), 8);
-            Add_Action (Table.States (395), 40, (249, 0), 12);
-            Add_Action (Table.States (395), 46, (249, 1), 14);
-            Add_Action (Table.States (395), 47, (216, 0), 15);
-            Add_Action (Table.States (395), 48, (260, 0), 16);
-            Add_Action (Table.States (395), 49, Reduce, (162, 0),  1, null, 
null);
-            Add_Action (Table.States (395), 50, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (395), 51, (267, 0), 19);
-            Add_Action (Table.States (395), 63, (316, 0), 25);
-            Add_Action (Table.States (395), 66, (308, 0), 26);
-            Add_Action (Table.States (395), 69, (209, 0), 27);
-            Add_Action (Table.States (395), 71, (334, 0), 28);
-            Add_Action (Table.States (395), 107, (222, 1), 187);
-            Table.States (395).Goto_List.Set_Capacity (51);
-            Add_Goto (Table.States (395), 115, 36);
-            Add_Goto (Table.States (395), 124, 38);
-            Add_Goto (Table.States (395), 130, 41);
-            Add_Goto (Table.States (395), 137, 46);
-            Add_Goto (Table.States (395), 138, 47);
-            Add_Goto (Table.States (395), 160, 568);
-            Add_Goto (Table.States (395), 182, 55);
-            Add_Goto (Table.States (395), 185, 56);
-            Add_Goto (Table.States (395), 189, 57);
-            Add_Goto (Table.States (395), 196, 59);
-            Add_Goto (Table.States (395), 209, 61);
-            Add_Goto (Table.States (395), 210, 62);
-            Add_Goto (Table.States (395), 212, 63);
-            Add_Goto (Table.States (395), 213, 64);
-            Add_Goto (Table.States (395), 216, 65);
-            Add_Goto (Table.States (395), 217, 66);
-            Add_Goto (Table.States (395), 218, 67);
-            Add_Goto (Table.States (395), 219, 68);
-            Add_Goto (Table.States (395), 222, 70);
-            Add_Goto (Table.States (395), 226, 72);
-            Add_Goto (Table.States (395), 246, 75);
-            Add_Goto (Table.States (395), 247, 76);
-            Add_Goto (Table.States (395), 248, 77);
-            Add_Goto (Table.States (395), 249, 78);
-            Add_Goto (Table.States (395), 250, 79);
-            Add_Goto (Table.States (395), 251, 80);
-            Add_Goto (Table.States (395), 252, 81);
-            Add_Goto (Table.States (395), 253, 82);
-            Add_Goto (Table.States (395), 254, 83);
-            Add_Goto (Table.States (395), 260, 569);
-            Add_Goto (Table.States (395), 262, 85);
-            Add_Goto (Table.States (395), 263, 86);
-            Add_Goto (Table.States (395), 265, 88);
-            Add_Goto (Table.States (395), 266, 89);
-            Add_Goto (Table.States (395), 267, 90);
-            Add_Goto (Table.States (395), 268, 91);
-            Add_Goto (Table.States (395), 274, 92);
-            Add_Goto (Table.States (395), 284, 95);
-            Add_Goto (Table.States (395), 292, 96);
-            Add_Goto (Table.States (395), 307, 103);
-            Add_Goto (Table.States (395), 308, 104);
-            Add_Goto (Table.States (395), 310, 106);
-            Add_Goto (Table.States (395), 311, 107);
-            Add_Goto (Table.States (395), 312, 108);
-            Add_Goto (Table.States (395), 314, 109);
-            Add_Goto (Table.States (395), 316, 110);
-            Add_Goto (Table.States (395), 319, 112);
-            Add_Goto (Table.States (395), 320, 113);
-            Add_Goto (Table.States (395), 322, 114);
-            Add_Goto (Table.States (395), 328, 116);
-            Add_Goto (Table.States (395), 334, 117);
-            Table.States (395).Kernel := To_Vector ((((161, 0),  161,  3, 
(2147483647, 0),  0), ((161, 1),  161,  3,
-            (2147483647, 0),  0), ((162, 0),  161,  0, (162, 0),  1)));
-            Table.States (395).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (162, 0),  1)));
-            Table.States (396).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (396), 13, (136, 0), 570);
-            Table.States (396).Kernel := To_Vector ((0 => ((136, 0),  162,  3, 
(2147483647, 0),  0)));
-            Table.States (396).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (136, 0),  13, 570)));
-            Table.States (397).Action_List.Set_Capacity (18);
-            Add_Action (Table.States (397), (13, 24, 25, 28, 29, 30, 40, 46, 
47, 48, 49, 50, 51, 63, 66, 69, 71, 107),
-            (161, 3),  1, null, null);
-            Table.States (397).Kernel := To_Vector ((0 => ((161, 3),  260,  0, 
(161, 3),  1)));
-            Table.States (397).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (161, 3),  1)));
-            Table.States (398).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (398), 33, (233, 2), 314);
-            Add_Action (Table.States (398), 42, (233, 3), 315);
-            Add_Action (Table.States (398), 84, (233, 0), 316);
-            Table.States (398).Kernel := To_Vector ((((233, 0),  107,  5, 
(2147483647, 0),  0), ((233, 1),  107,  4,
-            (2147483647, 0),  0), ((233, 2),  107,  3, (2147483647, 0),  0), 
((233, 3),  107,  3, (2147483647, 0),  0),
-            ((233, 4),  107,  2, (2147483647, 0),  0), ((233, 5),  107,  2, 
(2147483647, 0),  0)));
-            Table.States (398).Minimal_Complete_Actions := To_Vector (((Shift, 
(233, 3),  42, 315), (Shift, (233, 2),
-            33, 314)));
-            Table.States (399).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (399), 24, (235, 1), 571);
-            Table.States (399).Kernel := To_Vector ((0 => ((235, 1),  303,  3, 
(2147483647, 0),  0)));
-            Table.States (399).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (235, 1),  24, 571)));
-            Table.States (400).Action_List.Set_Capacity (24);
-            Add_Action (Table.States (400), 4, (116, 0), 1);
-            Add_Action (Table.States (400), 5, (306, 8), 2);
-            Add_Action (Table.States (400), 13, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (400), 15, (142, 0), 3);
-            Add_Action (Table.States (400), 17, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (400), 18, (164, 0), 4);
-            Add_Action (Table.States (400), 24, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (400), 27, (193, 0), 5);
-            Add_Action (Table.States (400), 28, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (400), 31, (306, 3), 9);
-            Add_Action (Table.States (400), 32, (225, 0), 10);
-            Add_Action (Table.States (400), 37, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (400), 41, (306, 0), 13);
-            Add_Action (Table.States (400), 48, (260, 0), 16);
-            Add_Action (Table.States (400), 52, (279, 0), 20);
-            Add_Action (Table.States (400), 57, (293, 0), 21);
-            Add_Action (Table.States (400), 58, (199, 0), 22);
-            Add_Action (Table.States (400), 61, (129, 0), 24);
-            Add_Action (Table.States (400), 73, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (400), 81, (242, 8), 31);
-            Add_Action (Table.States (400), 96, (220, 0), 32);
-            Add_Action (Table.States (400), 107, (134, 0), 363);
-            Add_Action (Table.States (400), 108, (242, 7), 34);
-            Add_Action (Table.States (400), 109, (242, 6), 35);
-            Table.States (400).Goto_List.Set_Capacity (31);
-            Add_Goto (Table.States (400), 116, 37);
-            Add_Goto (Table.States (400), 126, 39);
-            Add_Goto (Table.States (400), 129, 40);
-            Add_Goto (Table.States (400), 131, 42);
-            Add_Goto (Table.States (400), 134, 43);
-            Add_Goto (Table.States (400), 135, 44);
-            Add_Goto (Table.States (400), 136, 45);
-            Add_Goto (Table.States (400), 142, 48);
-            Add_Goto (Table.States (400), 154, 51);
-            Add_Goto (Table.States (400), 155, 52);
-            Add_Goto (Table.States (400), 164, 54);
-            Add_Goto (Table.States (400), 193, 58);
-            Add_Goto (Table.States (400), 199, 60);
-            Add_Goto (Table.States (400), 220, 69);
-            Add_Goto (Table.States (400), 225, 71);
-            Add_Goto (Table.States (400), 235, 73);
-            Add_Goto (Table.States (400), 242, 74);
-            Add_Goto (Table.States (400), 260, 84);
-            Add_Goto (Table.States (400), 264, 87);
-            Add_Goto (Table.States (400), 275, 93);
-            Add_Goto (Table.States (400), 279, 94);
-            Add_Goto (Table.States (400), 293, 97);
-            Add_Goto (Table.States (400), 296, 98);
-            Add_Goto (Table.States (400), 297, 99);
-            Add_Goto (Table.States (400), 301, 100);
-            Add_Goto (Table.States (400), 302, 364);
-            Add_Goto (Table.States (400), 303, 572);
-            Add_Goto (Table.States (400), 305, 101);
-            Add_Goto (Table.States (400), 306, 102);
-            Add_Goto (Table.States (400), 309, 366);
-            Add_Goto (Table.States (400), 326, 115);
-            Table.States (400).Kernel := To_Vector ((0 => ((235, 0),  37,  3, 
(2147483647, 0),  0)));
-            Table.States (400).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (303, 1),  0)));
-            Table.States (401).Action_List.Set_Capacity (6);
-            Add_Action (Table.States (401), 35, Reduce, (125, 1),  0, null, 
null);
-            Add_Action (Table.States (401), 74, (125, 0), 340);
-            Add_Action (Table.States (401), 76, (118, 0), 237);
-            Add_Action (Table.States (401), 87, (296, 0), 239);
-            Add_Action (Table.States (401), 104, (325, 0), 241);
-            Add_Action (Table.States (401), 105, (325, 1), 242);
-            Table.States (401).Goto_List.Set_Capacity (3);
-            Add_Goto (Table.States (401), 118, 243);
-            Add_Goto (Table.States (401), 125, 341);
-            Add_Goto (Table.States (401), 325, 244);
-            Table.States (401).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((242, 0),  242,  5,
-            (2147483647, 0),  0), ((242, 1),  242,  2, (2147483647, 0),  0), 
((254, 0),  242,  3, (2147483647, 0),  0),
-            ((254, 1),  242,  2, (2147483647, 0),  0), ((275, 0),  242,  3, 
(2147483647, 0),  0), ((296, 0),  242,  2,
-            (2147483647, 0),  0), ((296, 1),  242,  2, (2147483647, 0),  0), 
((296, 2),  242,  2, (2147483647, 0),  0),
-            ((296, 3),  242,  2, (2147483647, 0),  0)));
-            Table.States (401).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (402).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (402), (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, 
81, 96, 107, 108, 109, 110), (217, 0),  3,
-            generic_package_declaration_0'Access, null);
-            Table.States (402).Kernel := To_Vector ((0 => ((217, 0),  99,  0, 
(217, 0),  3)));
-            Table.States (402).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (217, 0),  3)));
-            Table.States (403).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (403), 99, (219, 0), 573);
-            Table.States (403).Kernel := To_Vector ((0 => ((219, 0),  125,  1, 
(2147483647, 0),  0)));
-            Table.States (403).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (219, 0),  99, 573)));
-            Table.States (404).Action_List.Set_Capacity (15);
-            Add_Action (Table.States (404), (7, 11, 16, 21, 33, 40, 45, 74, 
78, 81, 85, 99, 107, 108, 109), (121, 0),
-            1, null, null);
-            Table.States (404).Kernel := To_Vector ((0 => ((121, 0),  8,  0, 
(121, 0),  1)));
-            Table.States (404).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (121, 0),  1)));
-            Table.States (405).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (405), 85, (160, 9), 574);
-            Table.States (405).Kernel := To_Vector ((0 => ((160, 9),  16,  2, 
(2147483647, 0),  0)));
-            Table.States (405).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (160, 9),  85, 574)));
-            Table.States (406).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (406), 99, (189, 0), 575);
-            Table.States (406).Kernel := To_Vector ((0 => ((189, 0),  26,  1, 
(2147483647, 0),  0)));
-            Table.States (406).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (189, 0),  99, 575)));
-            Table.States (407).Action_List.Set_Capacity (11);
-            Add_Action (Table.States (407), 7, Reduce, (157, 1),  0, null, 
null);
-            Add_Action (Table.States (407), 11, Reduce, (157, 1),  0, null, 
null);
-            Add_Action (Table.States (407), 16, (157, 0), 576);
-            Add_Action (Table.States (407), 40, Reduce, (157, 1),  0, null, 
null);
-            Add_Action (Table.States (407), 74, Reduce, (157, 1),  0, null, 
null);
-            Add_Action (Table.States (407), 81, Reduce, (157, 1),  0, null, 
null);
-            Add_Action (Table.States (407), 85, Reduce, (157, 1),  0, null, 
null);
-            Add_Action (Table.States (407), 99, Reduce, (157, 1),  0, null, 
null);
-            Add_Action (Table.States (407), 107, Reduce, (157, 1),  0, null, 
null);
-            Add_Action (Table.States (407), 108, Reduce, (157, 1),  0, null, 
null);
-            Add_Action (Table.States (407), 109, Reduce, (157, 1),  0, null, 
null);
-            Table.States (407).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (407), 157, 577);
-            Table.States (407).Kernel := To_Vector ((((247, 0),  121,  3, 
(2147483647, 0),  0), ((247, 1),  121,  4,
-            (2147483647, 0),  0), ((247, 2),  121,  10, (2147483647, 0),  0), 
((247, 3),  121,  2, (2147483647, 0),
-            0), ((247, 4),  121,  3, (2147483647, 0),  0), ((247, 5),  121,  
9, (2147483647, 0),  0)));
-            Table.States (407).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (157, 1),  0)));
-            Table.States (408).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (408), (84, 86), (222, 0),  3, 
identifier_list_0'Access, null);
-            Table.States (408).Kernel := To_Vector ((0 => ((222, 0),  107,  0, 
(222, 0),  3)));
-            Table.States (408).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (222, 0),  3)));
-            Table.States (409).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (409), 78, (118, 0), 578);
-            Add_Action (Table.States (409), 86, (128, 0), 448);
-            Table.States (409).Kernel := To_Vector ((((118, 0),  128,  1, 
(2147483647, 0),  0), ((128, 0),  128,  1,
-            (2147483647, 0),  0)));
-            Table.States (409).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (118, 0),  78, 578)));
-            Table.States (410).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (410), 78, (118, 1), 579);
-            Table.States (410).Kernel := To_Vector ((0 => ((118, 1),  156,  1, 
(2147483647, 0),  0)));
-            Table.States (410).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (118, 1),  78, 579)));
-            Table.States (411).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (411), 35, Reduce, (127, 4),  1, 
association_opt_4'Access, null);
-            Add_Action (Table.States (411), 78, Reduce, (127, 4),  1, 
association_opt_4'Access, null);
-            Add_Action (Table.States (411), 79, Reduce, (127, 4),  1, 
association_opt_4'Access, null);
-            Add_Action (Table.States (411), 82, Reduce, (168, 0),  1, null, 
null);
-            Add_Action (Table.States (411), 86, Reduce, (127, 4),  1, 
association_opt_4'Access, null);
-            Add_Action (Table.States (411), 90, Reduce, (168, 0),  1, null, 
null);
-            Add_Action (Table.States (411), 99, Reduce, (127, 4),  1, 
association_opt_4'Access, null);
-            Table.States (411).Kernel := To_Vector ((((127, 4),  194,  0, 
(127, 4),  1), ((168, 0),  194,  0, (168, 0),
-             1)));
-            Table.States (411).Minimal_Complete_Actions := To_Vector 
(((Reduce, (127, 4),  1), (Reduce, (168, 0),
-            1)));
-            Table.States (412).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (412), 78, Reduce, (281, 1),  1, null, 
null);
-            Add_Action (Table.States (412), 82, Reduce, (168, 2),  1, null, 
null);
-            Add_Action (Table.States (412), 86, Reduce, (281, 1),  1, null, 
null);
-            Add_Action (Table.States (412), 90, Reduce, (168, 2),  1, null, 
null);
-            Table.States (412).Kernel := To_Vector ((((168, 2),  280,  0, 
(168, 2),  1), ((281, 1),  280,  0, (281, 1),
-             1)));
-            Table.States (412).Minimal_Complete_Actions := To_Vector 
(((Reduce, (168, 2),  1), (Reduce, (281, 1),
-            1)));
-            Table.States (413).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (413), 78, (242, 0), 580);
-            Add_Action (Table.States (413), 86, (281, 0), 581);
-            Table.States (413).Kernel := To_Vector ((((242, 0),  281,  1, 
(2147483647, 0),  0), ((281, 0),  281,  4,
-            (2147483647, 0),  0)));
-            Table.States (414).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (414), 99, (126, 0), 582);
-            Table.States (414).Kernel := To_Vector ((0 => ((126, 0),  195,  1, 
(2147483647, 0),  0)));
-            Table.States (414).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (126, 0),  99, 582)));
-            Table.States (415).Action_List.Set_Capacity (65);
-            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, 78, 79, 80, 81, 82, 85, 86, 87, 88,
-            89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 
105, 107, 108, 109), (296, 3),  3,
-            selected_component_3'Access, null);
-            Table.States (415).Kernel := To_Vector ((0 => ((296, 3),  9,  0, 
(296, 3),  3)));
-            Table.States (415).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (296, 3),  3)));
-            Table.States (416).Action_List.Set_Capacity (65);
-            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, 78, 79, 80, 81, 82, 85, 86, 87, 88,
-            89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 
105, 107, 108, 109), (296, 0),  3,
-            selected_component_0'Access, selected_component_0_check'Access);
-            Table.States (416).Kernel := To_Vector ((0 => ((296, 0),  107,  0, 
(296, 0),  3)));
-            Table.States (416).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (296, 0),  3)));
-            Table.States (417).Action_List.Set_Capacity (65);
-            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, 78, 79, 80, 81, 82, 85, 86, 87, 88,
-            89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 
105, 107, 108, 109), (296, 2),  3,
-            selected_component_2'Access, selected_component_2_check'Access);
-            Table.States (417).Kernel := To_Vector ((0 => ((296, 2),  108,  0, 
(296, 2),  3)));
-            Table.States (417).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (296, 2),  3)));
-            Table.States (418).Action_List.Set_Capacity (65);
-            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, 78, 79, 80, 81, 82, 85, 86, 87, 88,
-            89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 
105, 107, 108, 109), (296, 1),  3,
-            selected_component_1'Access, null);
-            Table.States (418).Kernel := To_Vector ((0 => ((296, 1),  109,  0, 
(296, 1),  3)));
-            Table.States (418).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (296, 1),  3)));
-            Table.States (419).Action_List.Set_Capacity (65);
-            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, 78, 79, 80, 81, 82, 85, 86, 87, 88,
-            89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 
105, 107, 108, 109), (132, 2),  1, null,
-            null);
-            Table.States (419).Kernel := To_Vector ((0 => ((132, 2),  7,  0, 
(132, 2),  1)));
-            Table.States (419).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (132, 2),  1)));
-            Table.States (420).Action_List.Set_Capacity (65);
-            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, 78, 79, 80, 81, 82, 85, 86, 87, 88,
-            89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 
105, 107, 108, 109), (132, 3),  1, null,
-            null);
-            Table.States (420).Kernel := To_Vector ((0 => ((132, 3),  19,  0, 
(132, 3),  1)));
-            Table.States (420).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (132, 3),  1)));
-            Table.States (421).Action_List.Set_Capacity (65);
-            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, 78, 79, 80, 81, 82, 85, 86, 87, 88,
-            89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 
105, 107, 108, 109), (132, 4),  1, null,
-            null);
-            Table.States (421).Kernel := To_Vector ((0 => ((132, 4),  20,  0, 
(132, 4),  1)));
-            Table.States (421).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (132, 4),  1)));
-            Table.States (422).Action_List.Set_Capacity (65);
-            Add_Action (Table.States (422), (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, 78, 79, 80, 81, 82, 85, 86, 87, 88,
-            89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 
105, 107, 108, 109), (132, 5),  1, null,
-            null);
-            Table.States (422).Kernel := To_Vector ((0 => ((132, 5),  38,  0, 
(132, 5),  1)));
-            Table.States (422).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (132, 5),  1)));
-            Table.States (423).Action_List.Set_Capacity (65);
-            Add_Action (Table.States (423), 4, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 5, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 10, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 13, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 15, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 17, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 18, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 20, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 21, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 22, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 23, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 27, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 28, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 31, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 32, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 33, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 35, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 37, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 38, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 40, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 41, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 42, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 43, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 48, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 52, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 53, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 55, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 56, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 57, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 58, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 61, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 68, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 71, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 73, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 74, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 75, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 76, (132, 0), 583);
-            Add_Conflict (Table.States (423), 76, (132, 1),  1, null, null);
-            Add_Action (Table.States (423), 78, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 79, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 80, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 81, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 82, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 85, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 86, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 87, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 88, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 89, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 90, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 91, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 92, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 94, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 95, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 96, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 97, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 98, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 99, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 100, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 101, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 102, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 103, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 104, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 105, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 107, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 108, Reduce, (132, 1),  1, null, 
null);
-            Add_Action (Table.States (423), 109, Reduce, (132, 1),  1, null, 
null);
-            Table.States (423).Kernel := To_Vector ((((132, 0),  107,  3, 
(2147483647, 0),  0), ((132, 1),  107,  0,
-            (132, 1),  1)));
-            Table.States (423).Minimal_Complete_Actions := To_Vector (((Shift, 
(132, 0),  76, 583), (Reduce, (132, 1),
-            1)));
-         end Subr_8;
-         procedure Subr_9
-         is begin
-            Table.States (424).Action_List.Set_Capacity (65);
-            Add_Action (Table.States (424), (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, 78, 79, 80, 81, 82, 85, 86, 87, 88,
-            89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 
105, 107, 108, 109), (275, 0),  3,
-            qualified_expression_0'Access, null);
-            Table.States (424).Kernel := To_Vector ((0 => ((275, 0),  120,  0, 
(275, 0),  3)));
-            Table.States (424).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (275, 0),  3)));
-            Table.States (425).Action_List.Set_Capacity (65);
-            Add_Action (Table.States (425), (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, 78, 79, 80, 81, 82, 85, 86, 87, 88,
-            89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 
105, 107, 108, 109), (131, 0),  3, null,
-            null);
-            Table.States (425).Kernel := To_Vector ((0 => ((131, 0),  132,  0, 
(131, 0),  3)));
-            Table.States (425).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (131, 0),  3)));
-            Table.States (426).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (426), 74, Reduce, (256, 1),  0, null, 
null);
-            Add_Action (Table.States (426), 76, (182, 0), 584);
-            Add_Action (Table.States (426), 99, Reduce, (256, 1),  0, null, 
null);
-            Table.States (426).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (426), 202, 347);
-            Add_Goto (Table.States (426), 256, 585);
-            Table.States (426).Kernel := To_Vector ((((182, 0),  107,  4, 
(2147483647, 0),  0), ((182, 1),  107,  1,
-            (2147483647, 0),  0)));
-            Table.States (426).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (256, 1),  0)));
-            Table.States (427).Action_List.Set_Capacity (6);
-            Add_Action (Table.States (427), 35, (216, 2), 586);
-            Add_Action (Table.States (427), 58, (294, 0), 320);
-            Add_Action (Table.States (427), 76, (118, 0), 321);
-            Add_Action (Table.States (427), 87, (296, 0), 239);
-            Add_Action (Table.States (427), 104, (325, 0), 241);
-            Add_Action (Table.States (427), 105, (325, 1), 242);
-            Table.States (427).Goto_List.Set_Capacity (5);
-            Add_Goto (Table.States (427), 118, 243);
-            Add_Goto (Table.States (427), 202, 322);
-            Add_Goto (Table.States (427), 255, 323);
-            Add_Goto (Table.States (427), 294, 324);
-            Add_Goto (Table.States (427), 325, 244);
-            Table.States (427).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((210, 0),  242,  1,
-            (2147483647, 0),  0), ((216, 2),  242,  4, (2147483647, 0),  0), 
((242, 0),  242,  5, (2147483647, 0),  0),
-            ((242, 1),  242,  2, (2147483647, 0),  0), ((275, 0),  242,  3, 
(2147483647, 0),  0), ((296, 0),  242,  2,
-            (2147483647, 0),  0), ((296, 1),  242,  2, (2147483647, 0),  0), 
((296, 2),  242,  2, (2147483647, 0),  0),
-            ((296, 3),  242,  2, (2147483647, 0),  0)));
-            Table.States (427).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (294, 0),  58, 320)));
-            Table.States (428).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (428), 35, (216, 1), 587);
-            Add_Conflict (Table.States (428), 35, (256, 1),  0, null, null);
-            Add_Action (Table.States (428), 56, Reduce, (256, 1),  0, null, 
null);
-            Add_Action (Table.States (428), 74, Reduce, (256, 1),  0, null, 
null);
-            Add_Action (Table.States (428), 76, (118, 0), 321);
-            Add_Action (Table.States (428), 87, (296, 0), 239);
-            Add_Action (Table.States (428), 99, Reduce, (256, 1),  0, null, 
null);
-            Add_Action (Table.States (428), 104, (325, 0), 241);
-            Add_Action (Table.States (428), 105, (325, 1), 242);
-            Table.States (428).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (428), 118, 243);
-            Add_Goto (Table.States (428), 202, 347);
-            Add_Goto (Table.States (428), 256, 348);
-            Add_Goto (Table.States (428), 325, 244);
-            Table.States (428).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((216, 1),  242,  4,
-            (2147483647, 0),  0), ((242, 0),  242,  5, (2147483647, 0),  0), 
((242, 1),  242,  2, (2147483647, 0),  0),
-            ((265, 0),  242,  0, (256, 1),  0), ((275, 0),  242,  3, 
(2147483647, 0),  0), ((296, 0),  242,  2,
-            (2147483647, 0),  0), ((296, 1),  242,  2, (2147483647, 0),  0), 
((296, 2),  242,  2, (2147483647, 0),  0),
-            ((296, 3),  242,  2, (2147483647, 0),  0)));
-            Table.States (428).Minimal_Complete_Actions := To_Vector (((Shift, 
(216, 1),  35, 587), (Reduce, (256, 1),
-            0)));
-            Table.States (429).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (429), 76, (120, 0), 588);
-            Add_Action (Table.States (429), 77, (120, 5), 128);
-            Table.States (429).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (429), 120, 589);
-            Add_Goto (Table.States (429), 259, 590);
-            Table.States (429).Kernel := To_Vector ((0 => ((196, 0),  35,  3, 
(2147483647, 0),  0)));
-            Table.States (429).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (120, 0),  76, 588)));
-            Table.States (430).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (430), 41, (246, 0), 591);
-            Table.States (430).Kernel := To_Vector ((0 => ((246, 0),  35,  2, 
(2147483647, 0),  0)));
-            Table.States (430).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (246, 0),  41, 591)));
-            Table.States (431).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (431), 6, (115, 0), 592);
-            Add_Action (Table.States (431), 60, (311, 0), 593);
-            Table.States (431).Kernel := To_Vector ((((115, 0),  35,  2, 
(2147483647, 0),  0), ((311, 0),  35,  2,
-            (2147483647, 0),  0)));
-            Table.States (431).Minimal_Complete_Actions := To_Vector (((Shift, 
(115, 0),  6, 592), (Shift, (311, 0),
-            60, 593)));
-            Table.States (432).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (432), 81, (242, 8), 31);
-            Add_Action (Table.States (432), 107, (242, 5), 120);
-            Add_Action (Table.States (432), 108, (242, 7), 34);
-            Add_Action (Table.States (432), 109, (242, 6), 35);
-            Table.States (432).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (432), 131, 42);
-            Add_Goto (Table.States (432), 242, 594);
-            Add_Goto (Table.States (432), 275, 93);
-            Add_Goto (Table.States (432), 296, 98);
-            Table.States (432).Kernel := To_Vector ((0 => ((314, 0),  56,  2, 
(2147483647, 0),  0)));
-            Table.States (432).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (433).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (433), 35, (310, 0), 595);
-            Add_Action (Table.States (433), 99, (312, 0), 596);
-            Table.States (433).Kernel := To_Vector ((((310, 0),  125,  4, 
(2147483647, 0),  0), ((312, 0),  125,  1,
-            (2147483647, 0),  0)));
-            Table.States (433).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (312, 0),  99, 596)));
-            Table.States (434).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (434), 78, Reduce, (257, 4),  0, null, 
null);
-            Add_Action (Table.States (434), 99, Reduce, (257, 4),  0, null, 
null);
-            Add_Action (Table.States (434), 107, (222, 1), 166);
-            Table.States (434).Goto_List.Set_Capacity (3);
-            Add_Goto (Table.States (434), 222, 500);
-            Add_Goto (Table.States (434), 257, 501);
-            Add_Goto (Table.States (434), 258, 502);
-            Table.States (434).Kernel := To_Vector ((0 => ((202, 0),  76,  1, 
(2147483647, 0),  0)));
-            Table.States (434).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (258, 1),  0)));
-            Table.States (435).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (435), 21, (116, 0), 597);
-            Add_Action (Table.States (435), 99, (116, 1), 598);
-            Table.States (435).Kernel := To_Vector ((((116, 0),  256,  3, 
(2147483647, 0),  0), ((116, 1),  256,  1,
-            (2147483647, 0),  0)));
-            Table.States (435).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (116, 1),  99, 598)));
-            Table.States (436).Action_List.Set_Capacity (32);
-            Add_Action (Table.States (436), 3, (200, 2), 122);
-            Add_Action (Table.States (436), 10, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (436), 20, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (436), 21, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (436), 22, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (436), 23, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (436), 35, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (436), 37, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (436), 39, (261, 4), 123);
-            Add_Action (Table.States (436), 40, (200, 3), 124);
-            Add_Action (Table.States (436), 41, (261, 1), 125);
-            Add_Action (Table.States (436), 43, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (436), 52, (278, 0), 126);
-            Add_Action (Table.States (436), 53, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (436), 68, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (436), 74, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (436), 75, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (436), 76, (120, 0), 127);
-            Add_Action (Table.States (436), 77, (120, 5), 128);
-            Add_Action (Table.States (436), 78, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (436), 79, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (436), 81, (242, 8), 31);
-            Add_Action (Table.States (436), 82, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (436), 86, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (436), 90, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (436), 97, (333, 1), 129);
-            Add_Action (Table.States (436), 98, (333, 0), 130);
-            Add_Action (Table.States (436), 99, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (436), 106, (261, 0), 131);
-            Add_Action (Table.States (436), 107, (242, 5), 120);
-            Add_Action (Table.States (436), 108, (242, 7), 34);
-            Add_Action (Table.States (436), 109, (242, 6), 35);
-            Table.States (436).Goto_List.Set_Capacity (20);
-            Add_Goto (Table.States (436), 120, 132);
-            Add_Goto (Table.States (436), 131, 42);
-            Add_Goto (Table.States (436), 194, 133);
-            Add_Goto (Table.States (436), 195, 599);
-            Add_Goto (Table.States (436), 200, 135);
-            Add_Goto (Table.States (436), 242, 136);
-            Add_Goto (Table.States (436), 261, 137);
-            Add_Goto (Table.States (436), 275, 93);
-            Add_Goto (Table.States (436), 278, 138);
-            Add_Goto (Table.States (436), 285, 139);
-            Add_Goto (Table.States (436), 286, 140);
-            Add_Goto (Table.States (436), 287, 141);
-            Add_Goto (Table.States (436), 288, 142);
-            Add_Goto (Table.States (436), 289, 143);
-            Add_Goto (Table.States (436), 290, 144);
-            Add_Goto (Table.States (436), 296, 98);
-            Add_Goto (Table.States (436), 304, 145);
-            Add_Goto (Table.States (436), 323, 146);
-            Add_Goto (Table.States (436), 324, 147);
-            Add_Goto (Table.States (436), 333, 148);
-            Table.States (436).Kernel := To_Vector ((0 => ((278, 0),  74,  0, 
(195, 1),  0)));
-            Table.States (436).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (195, 1),  0)));
-            Table.States (437).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (437), 35, (139, 0), 600);
-            Table.States (437).Kernel := To_Vector ((0 => ((139, 0),  195,  3, 
(2147483647, 0),  0)));
-            Table.States (437).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (139, 0),  35, 600)));
-            Table.States (438).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (438), (1 =>  107), (277, 0),  1, null, 
null);
-            Table.States (438).Kernel := To_Vector ((0 => ((277, 0),  9,  0, 
(277, 0),  1)));
-            Table.States (438).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (277, 0),  1)));
-            Table.States (439).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (439), (1 =>  107), (277, 1),  1, null, 
null);
-            Table.States (439).Kernel := To_Vector ((0 => ((277, 1),  62,  0, 
(277, 1),  1)));
-            Table.States (439).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (277, 1),  1)));
-            Table.States (440).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (440), 33, (127, 6), 601);
-            Add_Action (Table.States (440), 42, (233, 3), 315);
-            Add_Action (Table.States (440), 84, (233, 0), 316);
-            Table.States (440).Kernel := To_Vector ((((127, 6),  107,  3, 
(2147483647, 0),  0), ((233, 0),  107,  5,
-            (2147483647, 0),  0), ((233, 1),  107,  4, (2147483647, 0),  0), 
((233, 2),  107,  3, (2147483647, 0),  0),
-            ((233, 3),  107,  3, (2147483647, 0),  0), ((233, 4),  107,  2, 
(2147483647, 0),  0), ((233, 5),  107,  2,
-            (2147483647, 0),  0)));
-            Table.States (440).Minimal_Complete_Actions := To_Vector (((Shift, 
(233, 3),  42, 315), (Shift, (127, 6),
-            33, 601)));
-            Table.States (441).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (441), 90, (127, 7), 602);
-            Table.States (441).Kernel := To_Vector ((0 => ((127, 7),  233,  2, 
(2147483647, 0),  0)));
-            Table.States (441).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (127, 7),  90, 602)));
-            Table.States (442).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (442), 107, (233, 0), 398);
-            Table.States (442).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (442), 233, 603);
-            Table.States (442).Kernel := To_Vector ((0 => ((276, 0),  277,  4, 
(2147483647, 0),  0)));
-            Table.States (442).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (233, 0),  107, 398)));
-            Table.States (443).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (443), 68, (224, 0), 604);
-            Table.States (443).Kernel := To_Vector ((((224, 0),  195,  4, 
(2147483647, 0),  0), ((224, 1),  195,  2,
-            (2147483647, 0),  0), ((224, 2),  195,  3, (2147483647, 0),  0), 
((224, 3),  195,  1, (2147483647, 0),
-            0)));
-            Table.States (443).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (224, 0),  68, 604)));
-            Table.States (444).Action_List.Set_Capacity (31);
-            Add_Action (Table.States (444), 10, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (444), 33, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (444), 35, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (444), 38, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (444), 40, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (444), 43, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (444), 55, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (444), 74, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (444), 75, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (444), 78, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (444), 79, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (444), 80, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (444), 81, (242, 8), 31);
-            Add_Action (Table.States (444), 82, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (444), 86, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (444), 88, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (444), 89, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (444), 90, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (444), 91, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (444), 92, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (444), 94, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (444), 95, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (444), 97, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (444), 98, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (444), 99, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (444), 100, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (444), 101, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (444), 102, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (444), 107, (242, 5), 120);
-            Add_Action (Table.States (444), 108, (242, 7), 34);
-            Add_Action (Table.States (444), 109, (242, 6), 35);
-            Table.States (444).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (444), 131, 42);
-            Add_Goto (Table.States (444), 242, 605);
-            Add_Goto (Table.States (444), 275, 93);
-            Add_Goto (Table.States (444), 296, 98);
-            Table.States (444).Kernel := To_Vector ((((168, 1),  41,  1, 
(2147483647, 0),  0), ((261, 1),  41,  0,
-            (261, 1),  1)));
-            Table.States (444).Minimal_Complete_Actions := To_Vector (((Shift, 
(242, 5),  107, 120), (Reduce, (261, 1),
-             1)));
-            Table.States (445).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (445), 78, (120, 1), 606);
-            Table.States (445).Kernel := To_Vector ((0 => ((120, 1),  54,  1, 
(2147483647, 0),  0)));
-            Table.States (445).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (120, 1),  78, 606)));
-            Table.States (446).Action_List.Set_Capacity (20);
-            Add_Action (Table.States (446), 3, (200, 2), 122);
-            Add_Action (Table.States (446), 35, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (446), 39, (261, 4), 123);
-            Add_Action (Table.States (446), 40, (200, 3), 124);
-            Add_Action (Table.States (446), 41, (261, 1), 125);
-            Add_Action (Table.States (446), 52, (278, 0), 126);
-            Add_Action (Table.States (446), 76, (120, 0), 127);
-            Add_Action (Table.States (446), 77, (120, 5), 128);
-            Add_Action (Table.States (446), 78, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (446), 79, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (446), 81, (242, 8), 31);
-            Add_Action (Table.States (446), 83, (127, 1), 607);
-            Add_Action (Table.States (446), 86, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (446), 97, (333, 1), 129);
-            Add_Action (Table.States (446), 98, (333, 0), 130);
-            Add_Action (Table.States (446), 99, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (446), 106, (261, 0), 131);
-            Add_Action (Table.States (446), 107, (242, 5), 120);
-            Add_Action (Table.States (446), 108, (242, 7), 34);
-            Add_Action (Table.States (446), 109, (242, 6), 35);
-            Table.States (446).Goto_List.Set_Capacity (20);
-            Add_Goto (Table.States (446), 120, 132);
-            Add_Goto (Table.States (446), 131, 42);
-            Add_Goto (Table.States (446), 194, 133);
-            Add_Goto (Table.States (446), 195, 608);
-            Add_Goto (Table.States (446), 200, 135);
-            Add_Goto (Table.States (446), 242, 136);
-            Add_Goto (Table.States (446), 261, 137);
-            Add_Goto (Table.States (446), 275, 93);
-            Add_Goto (Table.States (446), 278, 138);
-            Add_Goto (Table.States (446), 285, 139);
-            Add_Goto (Table.States (446), 286, 140);
-            Add_Goto (Table.States (446), 287, 141);
-            Add_Goto (Table.States (446), 288, 142);
-            Add_Goto (Table.States (446), 289, 143);
-            Add_Goto (Table.States (446), 290, 144);
-            Add_Goto (Table.States (446), 296, 98);
-            Add_Goto (Table.States (446), 304, 145);
-            Add_Goto (Table.States (446), 323, 146);
-            Add_Goto (Table.States (446), 324, 147);
-            Add_Goto (Table.States (446), 333, 148);
-            Table.States (446).Kernel := To_Vector ((((127, 0),  90,  0, (195, 
1),  0), ((127, 1),  90,  1,
-            (2147483647, 0),  0)));
-            Table.States (446).Minimal_Complete_Actions := To_Vector 
(((Reduce, (195, 1),  0), (Shift, (127, 1),  83,
-            607)));
-            Table.States (447).Action_List.Set_Capacity (65);
-            Add_Action (Table.States (447), (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, 78, 79, 80, 81, 82, 85, 86, 87, 88,
-            89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 
105, 107, 108, 109), (120, 0),  3,
-            aggregate_0'Access, null);
-            Table.States (447).Kernel := To_Vector ((0 => ((120, 0),  78,  0, 
(120, 0),  3)));
-            Table.States (447).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (120, 0),  3)));
-            Table.States (448).Action_List.Set_Capacity (23);
-            Add_Action (Table.States (448), 3, (200, 2), 122);
-            Add_Action (Table.States (448), 28, (127, 6), 521);
-            Add_Action (Table.States (448), 35, Reduce, (127, 5),  0, null, 
null);
-            Add_Action (Table.States (448), 39, (261, 4), 123);
-            Add_Action (Table.States (448), 40, (168, 1), 263);
-            Add_Action (Table.States (448), 41, (261, 1), 125);
-            Add_Action (Table.States (448), 44, (168, 3), 265);
-            Add_Action (Table.States (448), 52, (278, 0), 126);
-            Add_Action (Table.States (448), 76, (120, 0), 127);
-            Add_Action (Table.States (448), 77, (120, 5), 128);
-            Add_Action (Table.States (448), 78, Reduce, (127, 5),  0, null, 
null);
-            Add_Action (Table.States (448), 79, Reduce, (127, 5),  0, null, 
null);
-            Add_Action (Table.States (448), 81, (242, 8), 31);
-            Add_Action (Table.States (448), 82, Reduce, (169, 2),  0, null, 
null);
-            Add_Action (Table.States (448), 86, Reduce, (127, 5),  0, null, 
null);
-            Add_Action (Table.States (448), 90, Reduce, (169, 2),  0, null, 
null);
-            Add_Action (Table.States (448), 97, (333, 1), 129);
-            Add_Action (Table.States (448), 98, (333, 0), 130);
-            Add_Action (Table.States (448), 99, Reduce, (127, 5),  0, null, 
null);
-            Add_Action (Table.States (448), 106, (261, 0), 131);
-            Add_Action (Table.States (448), 107, (242, 5), 120);
-            Add_Action (Table.States (448), 108, (242, 7), 34);
-            Add_Action (Table.States (448), 109, (127, 0), 266);
-            Table.States (448).Goto_List.Set_Capacity (23);
-            Add_Goto (Table.States (448), 120, 132);
-            Add_Goto (Table.States (448), 127, 609);
-            Add_Goto (Table.States (448), 131, 42);
-            Add_Goto (Table.States (448), 168, 271);
-            Add_Goto (Table.States (448), 169, 272);
-            Add_Goto (Table.States (448), 194, 411);
-            Add_Goto (Table.States (448), 200, 135);
-            Add_Goto (Table.States (448), 242, 276);
-            Add_Goto (Table.States (448), 261, 137);
-            Add_Goto (Table.States (448), 275, 93);
-            Add_Goto (Table.States (448), 278, 138);
-            Add_Goto (Table.States (448), 280, 278);
-            Add_Goto (Table.States (448), 285, 139);
-            Add_Goto (Table.States (448), 286, 140);
-            Add_Goto (Table.States (448), 287, 141);
-            Add_Goto (Table.States (448), 288, 142);
-            Add_Goto (Table.States (448), 289, 143);
-            Add_Goto (Table.States (448), 290, 144);
-            Add_Goto (Table.States (448), 296, 98);
-            Add_Goto (Table.States (448), 304, 279);
-            Add_Goto (Table.States (448), 323, 146);
-            Add_Goto (Table.States (448), 324, 147);
-            Add_Goto (Table.States (448), 333, 148);
-            Table.States (448).Kernel := To_Vector ((0 => ((128, 0),  86,  0, 
(127, 5),  0)));
-            Table.States (448).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (127, 5),  0)));
-            Table.States (449).Action_List.Set_Capacity (65);
-            Add_Action (Table.States (449), (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, 78, 79, 80, 81, 82, 85, 86, 87, 88,
-            89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 
105, 107, 108, 109), (120, 6),  3,
-            aggregate_6'Access, null);
-            Table.States (449).Kernel := To_Vector ((0 => ((120, 6),  78,  0, 
(120, 6),  3)));
-            Table.States (449).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (120, 6),  3)));
-            Table.States (450).Action_List.Set_Capacity (15);
-            Add_Action (Table.States (450), 3, (200, 2), 122);
-            Add_Action (Table.States (450), 39, (261, 4), 123);
-            Add_Action (Table.States (450), 40, (168, 1), 263);
-            Add_Action (Table.States (450), 41, (261, 1), 125);
-            Add_Action (Table.States (450), 44, (168, 3), 265);
-            Add_Action (Table.States (450), 52, (278, 0), 126);
-            Add_Action (Table.States (450), 76, (120, 0), 127);
-            Add_Action (Table.States (450), 77, (120, 5), 128);
-            Add_Action (Table.States (450), 81, (242, 8), 31);
-            Add_Action (Table.States (450), 97, (333, 1), 129);
-            Add_Action (Table.States (450), 98, (333, 0), 130);
-            Add_Action (Table.States (450), 106, (261, 0), 131);
-            Add_Action (Table.States (450), 107, (242, 5), 120);
-            Add_Action (Table.States (450), 108, (242, 7), 34);
-            Add_Action (Table.States (450), 109, (242, 6), 35);
-            Table.States (450).Goto_List.Set_Capacity (21);
-            Add_Goto (Table.States (450), 120, 132);
-            Add_Goto (Table.States (450), 131, 42);
-            Add_Goto (Table.States (450), 168, 610);
-            Add_Goto (Table.States (450), 194, 611);
-            Add_Goto (Table.States (450), 200, 135);
-            Add_Goto (Table.States (450), 242, 276);
-            Add_Goto (Table.States (450), 261, 137);
-            Add_Goto (Table.States (450), 275, 93);
-            Add_Goto (Table.States (450), 278, 138);
-            Add_Goto (Table.States (450), 280, 278);
-            Add_Goto (Table.States (450), 285, 139);
-            Add_Goto (Table.States (450), 286, 140);
-            Add_Goto (Table.States (450), 287, 141);
-            Add_Goto (Table.States (450), 288, 142);
-            Add_Goto (Table.States (450), 289, 143);
-            Add_Goto (Table.States (450), 290, 144);
-            Add_Goto (Table.States (450), 296, 98);
-            Add_Goto (Table.States (450), 304, 279);
-            Add_Goto (Table.States (450), 323, 146);
-            Add_Goto (Table.States (450), 324, 147);
-            Add_Goto (Table.States (450), 333, 148);
-            Table.States (450).Kernel := To_Vector ((0 => ((169, 0),  82,  1, 
(2147483647, 0),  0)));
-            Table.States (450).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (261, 0),  106, 131)));
-            Table.States (451).Action_List.Set_Capacity (20);
-            Add_Action (Table.States (451), 3, (200, 2), 122);
-            Add_Action (Table.States (451), 35, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (451), 39, (261, 4), 123);
-            Add_Action (Table.States (451), 40, (200, 3), 124);
-            Add_Action (Table.States (451), 41, (261, 1), 125);
-            Add_Action (Table.States (451), 52, (278, 0), 126);
-            Add_Action (Table.States (451), 76, (120, 0), 127);
-            Add_Action (Table.States (451), 77, (120, 5), 128);
-            Add_Action (Table.States (451), 78, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (451), 79, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (451), 81, (242, 8), 31);
-            Add_Action (Table.States (451), 83, (127, 3), 612);
-            Add_Action (Table.States (451), 86, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (451), 97, (333, 1), 129);
-            Add_Action (Table.States (451), 98, (333, 0), 130);
-            Add_Action (Table.States (451), 99, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (451), 106, (261, 0), 131);
-            Add_Action (Table.States (451), 107, (242, 5), 120);
-            Add_Action (Table.States (451), 108, (242, 7), 34);
-            Add_Action (Table.States (451), 109, (242, 6), 35);
-            Table.States (451).Goto_List.Set_Capacity (20);
-            Add_Goto (Table.States (451), 120, 132);
-            Add_Goto (Table.States (451), 131, 42);
-            Add_Goto (Table.States (451), 194, 133);
-            Add_Goto (Table.States (451), 195, 613);
-            Add_Goto (Table.States (451), 200, 135);
-            Add_Goto (Table.States (451), 242, 136);
-            Add_Goto (Table.States (451), 261, 137);
-            Add_Goto (Table.States (451), 275, 93);
-            Add_Goto (Table.States (451), 278, 138);
-            Add_Goto (Table.States (451), 285, 139);
-            Add_Goto (Table.States (451), 286, 140);
-            Add_Goto (Table.States (451), 287, 141);
-            Add_Goto (Table.States (451), 288, 142);
-            Add_Goto (Table.States (451), 289, 143);
-            Add_Goto (Table.States (451), 290, 144);
-            Add_Goto (Table.States (451), 296, 98);
-            Add_Goto (Table.States (451), 304, 145);
-            Add_Goto (Table.States (451), 323, 146);
-            Add_Goto (Table.States (451), 324, 147);
-            Add_Goto (Table.States (451), 333, 148);
-            Table.States (451).Kernel := To_Vector ((((127, 2),  90,  0, (195, 
1),  0), ((127, 3),  90,  1,
-            (2147483647, 0),  0)));
-            Table.States (452).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (452), 19, (120, 4), 614);
-            Table.States (452).Kernel := To_Vector ((0 => ((120, 4),  74,  2, 
(2147483647, 0),  0)));
-            Table.States (452).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (120, 4),  19, 614)));
-            Table.States (453).Action_List.Set_Capacity (20);
-            Add_Action (Table.States (453), 3, (200, 2), 122);
-            Add_Action (Table.States (453), 28, (127, 6), 521);
-            Add_Action (Table.States (453), 39, (261, 4), 123);
-            Add_Action (Table.States (453), 40, (168, 1), 263);
-            Add_Action (Table.States (453), 41, (120, 2), 615);
-            Add_Action (Table.States (453), 44, (168, 3), 265);
-            Add_Action (Table.States (453), 52, (278, 0), 126);
-            Add_Action (Table.States (453), 76, (120, 0), 127);
-            Add_Action (Table.States (453), 77, (120, 5), 128);
-            Add_Action (Table.States (453), 78, Reduce, (127, 5),  0, null, 
null);
-            Add_Action (Table.States (453), 81, (242, 8), 31);
-            Add_Action (Table.States (453), 82, Reduce, (169, 2),  0, null, 
null);
-            Add_Action (Table.States (453), 86, Reduce, (127, 5),  0, null, 
null);
-            Add_Action (Table.States (453), 90, Reduce, (169, 2),  0, null, 
null);
-            Add_Action (Table.States (453), 97, (333, 1), 129);
-            Add_Action (Table.States (453), 98, (333, 0), 130);
-            Add_Action (Table.States (453), 106, (261, 0), 131);
-            Add_Action (Table.States (453), 107, (242, 5), 120);
-            Add_Action (Table.States (453), 108, (242, 7), 34);
-            Add_Action (Table.States (453), 109, (127, 0), 266);
-            Table.States (453).Goto_List.Set_Capacity (24);
-            Add_Goto (Table.States (453), 120, 132);
-            Add_Goto (Table.States (453), 127, 267);
-            Add_Goto (Table.States (453), 128, 616);
-            Add_Goto (Table.States (453), 131, 42);
-            Add_Goto (Table.States (453), 168, 271);
-            Add_Goto (Table.States (453), 169, 272);
-            Add_Goto (Table.States (453), 194, 411);
-            Add_Goto (Table.States (453), 200, 135);
-            Add_Goto (Table.States (453), 242, 276);
-            Add_Goto (Table.States (453), 261, 137);
-            Add_Goto (Table.States (453), 275, 93);
-            Add_Goto (Table.States (453), 278, 138);
-            Add_Goto (Table.States (453), 280, 278);
-            Add_Goto (Table.States (453), 285, 139);
-            Add_Goto (Table.States (453), 286, 140);
-            Add_Goto (Table.States (453), 287, 141);
-            Add_Goto (Table.States (453), 288, 142);
-            Add_Goto (Table.States (453), 289, 143);
-            Add_Goto (Table.States (453), 290, 144);
-            Add_Goto (Table.States (453), 296, 98);
-            Add_Goto (Table.States (453), 304, 279);
-            Add_Goto (Table.States (453), 323, 146);
-            Add_Goto (Table.States (453), 324, 147);
-            Add_Goto (Table.States (453), 333, 148);
-            Table.States (453).Kernel := To_Vector ((((120, 2),  74,  3, 
(2147483647, 0),  0), ((120, 3),  74,  1,
-            (2147483647, 0),  0)));
-            Table.States (453).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (128, 1),  0)));
-            Table.States (454).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (454), 7, (132, 2), 419);
-            Add_Action (Table.States (454), 19, (132, 3), 420);
-            Add_Action (Table.States (454), 20, (132, 4), 421);
-            Add_Action (Table.States (454), 38, (132, 5), 422);
-            Add_Action (Table.States (454), 53, (280, 0), 617);
-            Add_Action (Table.States (454), 76, (120, 0), 127);
-            Add_Action (Table.States (454), 77, (120, 5), 128);
-            Add_Action (Table.States (454), 107, (132, 0), 423);
-            Table.States (454).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (454), 120, 424);
-            Add_Goto (Table.States (454), 132, 425);
-            Table.States (454).Kernel := To_Vector ((((131, 0),  325,  1, 
(2147483647, 0),  0), ((275, 0),  325,  2,
-            (2147483647, 0),  0), ((280, 0),  325,  3, (2147483647, 0),  0), 
((280, 1),  325,  1, (2147483647, 0),
-            0)));
-            Table.States (455).Action_List.Set_Capacity (13);
-            Add_Action (Table.States (455), 3, (200, 2), 122);
-            Add_Action (Table.States (455), 39, (261, 4), 123);
-            Add_Action (Table.States (455), 40, (200, 3), 124);
-            Add_Action (Table.States (455), 41, (261, 1), 125);
-            Add_Action (Table.States (455), 76, (120, 0), 127);
-            Add_Action (Table.States (455), 77, (120, 5), 128);
-            Add_Action (Table.States (455), 81, (242, 8), 31);
-            Add_Action (Table.States (455), 97, (333, 1), 129);
-            Add_Action (Table.States (455), 98, (333, 0), 130);
-            Add_Action (Table.States (455), 106, (261, 0), 131);
-            Add_Action (Table.States (455), 107, (242, 5), 120);
-            Add_Action (Table.States (455), 108, (242, 7), 34);
-            Add_Action (Table.States (455), 109, (242, 6), 35);
-            Table.States (455).Goto_List.Set_Capacity (11);
-            Add_Goto (Table.States (455), 120, 132);
-            Add_Goto (Table.States (455), 131, 42);
-            Add_Goto (Table.States (455), 200, 135);
-            Add_Goto (Table.States (455), 242, 136);
-            Add_Goto (Table.States (455), 261, 137);
-            Add_Goto (Table.States (455), 275, 93);
-            Add_Goto (Table.States (455), 296, 98);
-            Add_Goto (Table.States (455), 304, 618);
-            Add_Goto (Table.States (455), 323, 146);
-            Add_Goto (Table.States (455), 324, 147);
-            Add_Goto (Table.States (455), 333, 148);
-            Table.States (455).Kernel := To_Vector ((0 => ((280, 2),  88,  1, 
(2147483647, 0),  0)));
-            Table.States (455).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (261, 0),  106, 131)));
-            Table.States (456).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (456), 19, (120, 5), 619);
-            Table.States (456).Kernel := To_Vector ((0 => ((120, 5),  74,  2, 
(2147483647, 0),  0)));
-            Table.States (456).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (120, 5),  19, 619)));
-            Table.States (457).Action_List.Set_Capacity (17);
-            Add_Action (Table.States (457), 3, (200, 2), 122);
-            Add_Action (Table.States (457), 39, (261, 4), 123);
-            Add_Action (Table.States (457), 40, (168, 1), 263);
-            Add_Action (Table.States (457), 41, (261, 1), 125);
-            Add_Action (Table.States (457), 44, (168, 3), 265);
-            Add_Action (Table.States (457), 52, (278, 0), 126);
-            Add_Action (Table.States (457), 76, (120, 0), 127);
-            Add_Action (Table.States (457), 77, (120, 5), 128);
-            Add_Action (Table.States (457), 81, (242, 8), 31);
-            Add_Action (Table.States (457), 82, Reduce, (169, 2),  0, null, 
null);
-            Add_Action (Table.States (457), 90, Reduce, (169, 2),  0, null, 
null);
-            Add_Action (Table.States (457), 97, (333, 1), 129);
-            Add_Action (Table.States (457), 98, (333, 0), 130);
-            Add_Action (Table.States (457), 106, (261, 0), 131);
-            Add_Action (Table.States (457), 107, (242, 5), 120);
-            Add_Action (Table.States (457), 108, (242, 7), 34);
-            Add_Action (Table.States (457), 109, (242, 6), 35);
-            Table.States (457).Goto_List.Set_Capacity (22);
-            Add_Goto (Table.States (457), 120, 132);
-            Add_Goto (Table.States (457), 131, 42);
-            Add_Goto (Table.States (457), 168, 271);
-            Add_Goto (Table.States (457), 169, 620);
-            Add_Goto (Table.States (457), 194, 611);
-            Add_Goto (Table.States (457), 200, 135);
-            Add_Goto (Table.States (457), 242, 276);
-            Add_Goto (Table.States (457), 261, 137);
-            Add_Goto (Table.States (457), 275, 93);
-            Add_Goto (Table.States (457), 278, 138);
-            Add_Goto (Table.States (457), 280, 278);
-            Add_Goto (Table.States (457), 285, 139);
-            Add_Goto (Table.States (457), 286, 140);
-            Add_Goto (Table.States (457), 287, 141);
-            Add_Goto (Table.States (457), 288, 142);
-            Add_Goto (Table.States (457), 289, 143);
-            Add_Goto (Table.States (457), 290, 144);
-            Add_Goto (Table.States (457), 296, 98);
-            Add_Goto (Table.States (457), 304, 279);
-            Add_Goto (Table.States (457), 323, 146);
-            Add_Goto (Table.States (457), 324, 147);
-            Add_Goto (Table.States (457), 333, 148);
-            Table.States (457).Kernel := To_Vector ((0 => ((143, 0),  72,  1, 
(2147483647, 0),  0)));
-            Table.States (457).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (169, 2),  0)));
-            Table.States (458).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (458), (24, 72), (144, 1),  1, null, 
null);
-            Table.States (458).Kernel := To_Vector ((0 => ((144, 1),  143,  0, 
(144, 1),  1)));
-            Table.States (458).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (144, 1),  1)));
-            Table.States (459).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (459), 24, (142, 0), 621);
-            Add_Action (Table.States (459), 72, (143, 0), 457);
-            Table.States (459).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (459), 143, 622);
-            Table.States (459).Kernel := To_Vector ((((142, 0),  144,  3, 
(2147483647, 0),  0), ((144, 0),  144,  2,
-            (2147483647, 0),  0)));
-            Table.States (459).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (142, 0),  24, 621)));
-            Table.States (460).Action_List.Set_Capacity (36);
-            Add_Action (Table.States (460), (10, 20, 21, 22, 23, 33, 35, 37, 
38, 40, 42, 43, 53, 55, 68, 74, 75, 78,
-            79, 80, 82, 85, 86, 88, 89, 90, 91, 92, 94, 95, 97, 98, 99, 100, 
101, 102), (200, 0),  3, null, null);
-            Table.States (460).Kernel := To_Vector ((0 => ((200, 0),  261,  0, 
(200, 0),  3)));
-            Table.States (460).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (200, 0),  3)));
-            Table.States (461).Action_List.Set_Capacity (18);
-            Add_Action (Table.States (461), (10, 20, 21, 22, 23, 35, 37, 43, 
53, 68, 74, 75, 78, 79, 82, 86, 90, 99),
-            (285, 0),  3, null, null);
-            Table.States (461).Kernel := To_Vector ((0 => ((285, 0),  290,  0, 
(285, 0),  3)));
-            Table.States (461).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (285, 0),  3)));
-            Table.States (462).Action_List.Set_Capacity (14);
-            Add_Action (Table.States (462), 3, (200, 2), 122);
-            Add_Action (Table.States (462), 39, (261, 4), 123);
-            Add_Action (Table.States (462), 40, (200, 3), 124);
-            Add_Action (Table.States (462), 41, (261, 1), 125);
-            Add_Action (Table.States (462), 52, (278, 0), 126);
-            Add_Action (Table.States (462), 76, (120, 0), 127);
-            Add_Action (Table.States (462), 77, (120, 5), 128);
-            Add_Action (Table.States (462), 81, (242, 8), 31);
-            Add_Action (Table.States (462), 97, (333, 1), 129);
-            Add_Action (Table.States (462), 98, (333, 0), 130);
-            Add_Action (Table.States (462), 106, (261, 0), 131);
-            Add_Action (Table.States (462), 107, (242, 5), 120);
-            Add_Action (Table.States (462), 108, (242, 7), 34);
-            Add_Action (Table.States (462), 109, (242, 6), 35);
-            Table.States (462).Goto_List.Set_Capacity (13);
-            Add_Goto (Table.States (462), 120, 132);
-            Add_Goto (Table.States (462), 131, 42);
-            Add_Goto (Table.States (462), 200, 135);
-            Add_Goto (Table.States (462), 242, 136);
-            Add_Goto (Table.States (462), 261, 137);
-            Add_Goto (Table.States (462), 275, 93);
-            Add_Goto (Table.States (462), 278, 138);
-            Add_Goto (Table.States (462), 290, 623);
-            Add_Goto (Table.States (462), 296, 98);
-            Add_Goto (Table.States (462), 304, 145);
-            Add_Goto (Table.States (462), 323, 146);
-            Add_Goto (Table.States (462), 324, 147);
-            Add_Goto (Table.States (462), 333, 148);
-            Table.States (462).Kernel := To_Vector ((0 => ((286, 0),  68,  1, 
(2147483647, 0),  0)));
-            Table.States (462).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (261, 0),  106, 131)));
-            Table.States (463).Action_List.Set_Capacity (18);
-            Add_Action (Table.States (463), (10, 20, 21, 22, 23, 35, 37, 43, 
53, 68, 74, 75, 78, 79, 82, 86, 90, 99),
-            (287, 0),  3, null, null);
-            Table.States (463).Kernel := To_Vector ((0 => ((287, 0),  290,  0, 
(287, 0),  3)));
-            Table.States (463).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (287, 0),  3)));
-            Table.States (464).Action_List.Set_Capacity (14);
-            Add_Action (Table.States (464), 3, (200, 2), 122);
-            Add_Action (Table.States (464), 39, (261, 4), 123);
-            Add_Action (Table.States (464), 40, (200, 3), 124);
-            Add_Action (Table.States (464), 41, (261, 1), 125);
-            Add_Action (Table.States (464), 52, (278, 0), 126);
-            Add_Action (Table.States (464), 76, (120, 0), 127);
-            Add_Action (Table.States (464), 77, (120, 5), 128);
-            Add_Action (Table.States (464), 81, (242, 8), 31);
-            Add_Action (Table.States (464), 97, (333, 1), 129);
-            Add_Action (Table.States (464), 98, (333, 0), 130);
-            Add_Action (Table.States (464), 106, (261, 0), 131);
-            Add_Action (Table.States (464), 107, (242, 5), 120);
-            Add_Action (Table.States (464), 108, (242, 7), 34);
-            Add_Action (Table.States (464), 109, (242, 6), 35);
-            Table.States (464).Goto_List.Set_Capacity (13);
-            Add_Goto (Table.States (464), 120, 132);
-            Add_Goto (Table.States (464), 131, 42);
-            Add_Goto (Table.States (464), 200, 135);
-            Add_Goto (Table.States (464), 242, 136);
-            Add_Goto (Table.States (464), 261, 137);
-            Add_Goto (Table.States (464), 275, 93);
-            Add_Goto (Table.States (464), 278, 138);
-            Add_Goto (Table.States (464), 290, 624);
-            Add_Goto (Table.States (464), 296, 98);
-            Add_Goto (Table.States (464), 304, 145);
-            Add_Goto (Table.States (464), 323, 146);
-            Add_Goto (Table.States (464), 324, 147);
-            Add_Goto (Table.States (464), 333, 148);
-            Table.States (464).Kernel := To_Vector ((0 => ((288, 0),  22,  1, 
(2147483647, 0),  0)));
-            Table.States (464).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (261, 0),  106, 131)));
-            Table.States (465).Action_List.Set_Capacity (18);
-            Add_Action (Table.States (465), (10, 20, 21, 22, 23, 35, 37, 43, 
53, 68, 74, 75, 78, 79, 82, 86, 90, 99),
-            (289, 0),  3, null, null);
-            Table.States (465).Kernel := To_Vector ((0 => ((289, 0),  290,  0, 
(289, 0),  3)));
-            Table.States (465).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (289, 0),  3)));
-            Table.States (466).Action_List.Set_Capacity (14);
-            Add_Action (Table.States (466), 3, (200, 2), 122);
-            Add_Action (Table.States (466), 39, (261, 4), 123);
-            Add_Action (Table.States (466), 40, (200, 3), 124);
-            Add_Action (Table.States (466), 41, (261, 1), 125);
-            Add_Action (Table.States (466), 52, (278, 0), 126);
-            Add_Action (Table.States (466), 76, (120, 0), 127);
-            Add_Action (Table.States (466), 77, (120, 5), 128);
-            Add_Action (Table.States (466), 81, (242, 8), 31);
-            Add_Action (Table.States (466), 97, (333, 1), 129);
-            Add_Action (Table.States (466), 98, (333, 0), 130);
-            Add_Action (Table.States (466), 106, (261, 0), 131);
-            Add_Action (Table.States (466), 107, (242, 5), 120);
-            Add_Action (Table.States (466), 108, (242, 7), 34);
-            Add_Action (Table.States (466), 109, (242, 6), 35);
-            Table.States (466).Goto_List.Set_Capacity (13);
-            Add_Goto (Table.States (466), 120, 132);
-            Add_Goto (Table.States (466), 131, 42);
-            Add_Goto (Table.States (466), 200, 135);
-            Add_Goto (Table.States (466), 242, 136);
-            Add_Goto (Table.States (466), 261, 137);
-            Add_Goto (Table.States (466), 275, 93);
-            Add_Goto (Table.States (466), 278, 138);
-            Add_Goto (Table.States (466), 290, 625);
-            Add_Goto (Table.States (466), 296, 98);
-            Add_Goto (Table.States (466), 304, 145);
-            Add_Goto (Table.States (466), 323, 146);
-            Add_Goto (Table.States (466), 324, 147);
-            Add_Goto (Table.States (466), 333, 148);
-            Table.States (466).Kernel := To_Vector ((0 => ((286, 1),  68,  1, 
(2147483647, 0),  0)));
-            Table.States (466).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (261, 0),  106, 131)));
-         end Subr_9;
-         procedure Subr_10
-         is begin
-            Table.States (467).Action_List.Set_Capacity (18);
-            Add_Action (Table.States (467), (10, 20, 21, 22, 23, 35, 37, 43, 
53, 68, 74, 75, 78, 79, 82, 86, 90, 99),
-            (285, 1),  3, null, null);
-            Table.States (467).Kernel := To_Vector ((0 => ((285, 1),  290,  0, 
(285, 1),  3)));
-            Table.States (467).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (285, 1),  3)));
-            Table.States (468).Action_List.Set_Capacity (14);
-            Add_Action (Table.States (468), 3, (200, 2), 122);
-            Add_Action (Table.States (468), 39, (261, 4), 123);
-            Add_Action (Table.States (468), 40, (200, 3), 124);
-            Add_Action (Table.States (468), 41, (261, 1), 125);
-            Add_Action (Table.States (468), 52, (278, 0), 126);
-            Add_Action (Table.States (468), 76, (120, 0), 127);
-            Add_Action (Table.States (468), 77, (120, 5), 128);
-            Add_Action (Table.States (468), 81, (242, 8), 31);
-            Add_Action (Table.States (468), 97, (333, 1), 129);
-            Add_Action (Table.States (468), 98, (333, 0), 130);
-            Add_Action (Table.States (468), 106, (261, 0), 131);
-            Add_Action (Table.States (468), 107, (242, 5), 120);
-            Add_Action (Table.States (468), 108, (242, 7), 34);
-            Add_Action (Table.States (468), 109, (242, 6), 35);
-            Table.States (468).Goto_List.Set_Capacity (13);
-            Add_Goto (Table.States (468), 120, 132);
-            Add_Goto (Table.States (468), 131, 42);
-            Add_Goto (Table.States (468), 200, 135);
-            Add_Goto (Table.States (468), 242, 136);
-            Add_Goto (Table.States (468), 261, 137);
-            Add_Goto (Table.States (468), 275, 93);
-            Add_Goto (Table.States (468), 278, 138);
-            Add_Goto (Table.States (468), 290, 626);
-            Add_Goto (Table.States (468), 296, 98);
-            Add_Goto (Table.States (468), 304, 145);
-            Add_Goto (Table.States (468), 323, 146);
-            Add_Goto (Table.States (468), 324, 147);
-            Add_Goto (Table.States (468), 333, 148);
-            Table.States (468).Kernel := To_Vector ((0 => ((288, 1),  22,  1, 
(2147483647, 0),  0)));
-            Table.States (468).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (261, 0),  106, 131)));
-            Table.States (469).Action_List.Set_Capacity (18);
-            Add_Action (Table.States (469), (10, 20, 21, 22, 23, 35, 37, 43, 
53, 68, 74, 75, 78, 79, 82, 86, 90, 99),
-            (287, 1),  3, null, null);
-            Table.States (469).Kernel := To_Vector ((0 => ((287, 1),  290,  0, 
(287, 1),  3)));
-            Table.States (469).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (287, 1),  3)));
-            Table.States (470).Action_List.Set_Capacity (18);
-            Add_Action (Table.States (470), (10, 20, 21, 22, 23, 35, 37, 43, 
53, 68, 74, 75, 78, 79, 82, 86, 90, 99),
-            (289, 1),  3, null, null);
-            Table.States (470).Kernel := To_Vector ((0 => ((289, 1),  290,  0, 
(289, 1),  3)));
-            Table.States (470).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (289, 1),  3)));
-            Table.States (471).Action_List.Set_Capacity (18);
-            Add_Action (Table.States (471), 10, Reduce, (290, 1),  3, null, 
null);
-            Add_Action (Table.States (471), 20, Reduce, (290, 1),  3, null, 
null);
-            Add_Action (Table.States (471), 21, Reduce, (290, 1),  3, null, 
null);
-            Add_Action (Table.States (471), 22, Reduce, (290, 1),  3, null, 
null);
-            Add_Action (Table.States (471), 23, Reduce, (290, 1),  3, null, 
null);
-            Add_Action (Table.States (471), 35, Reduce, (290, 1),  3, null, 
null);
-            Add_Action (Table.States (471), 37, Reduce, (290, 1),  3, null, 
null);
-            Add_Action (Table.States (471), 43, Reduce, (290, 1),  3, null, 
null);
-            Add_Action (Table.States (471), 53, Reduce, (290, 1),  3, null, 
null);
-            Add_Action (Table.States (471), 68, Reduce, (290, 1),  3, null, 
null);
-            Add_Action (Table.States (471), 74, Reduce, (290, 1),  3, null, 
null);
-            Add_Action (Table.States (471), 75, Reduce, (290, 1),  3, null, 
null);
-            Add_Action (Table.States (471), 78, Reduce, (290, 1),  3, null, 
null);
-            Add_Action (Table.States (471), 79, Reduce, (290, 1),  3, null, 
null);
-            Add_Action (Table.States (471), 82, (236, 0), 627);
-            Add_Conflict (Table.States (471), 82, (290, 1),  3, null, null);
-            Add_Action (Table.States (471), 86, Reduce, (290, 1),  3, null, 
null);
-            Add_Action (Table.States (471), 90, Reduce, (290, 1),  3, null, 
null);
-            Add_Action (Table.States (471), 99, Reduce, (290, 1),  3, null, 
null);
-            Table.States (471).Kernel := To_Vector ((((236, 0),  236,  2, 
(2147483647, 0),  0), ((290, 1),  236,  0,
-            (290, 1),  3)));
-            Table.States (471).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (290, 1),  3)));
-            Table.States (472).Action_List.Set_Capacity (18);
-            Add_Action (Table.States (472), (10, 20, 21, 22, 23, 35, 37, 43, 
53, 68, 74, 75, 78, 79, 82, 86, 90, 99),
-            (236, 1),  1, null, null);
-            Table.States (472).Kernel := To_Vector ((0 => ((236, 1),  237,  0, 
(236, 1),  1)));
-            Table.States (472).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (236, 1),  1)));
-            Table.States (473).Action_List.Set_Capacity (18);
-            Add_Action (Table.States (473), (10, 20, 21, 22, 23, 35, 37, 43, 
53, 68, 74, 75, 78, 79, 82, 86, 90, 99),
-            (237, 1),  1, null, null);
-            Table.States (473).Kernel := To_Vector ((0 => ((237, 1),  280,  0, 
(237, 1),  1)));
-            Table.States (473).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (237, 1),  1)));
-            Table.States (474).Action_List.Set_Capacity (19);
-            Add_Action (Table.States (474), 10, Reduce, (237, 0),  1, null, 
null);
-            Add_Action (Table.States (474), 20, Reduce, (237, 0),  1, null, 
null);
-            Add_Action (Table.States (474), 21, Reduce, (237, 0),  1, null, 
null);
-            Add_Action (Table.States (474), 22, Reduce, (237, 0),  1, null, 
null);
-            Add_Action (Table.States (474), 23, Reduce, (237, 0),  1, null, 
null);
-            Add_Action (Table.States (474), 35, Reduce, (237, 0),  1, null, 
null);
-            Add_Action (Table.States (474), 37, Reduce, (237, 0),  1, null, 
null);
-            Add_Action (Table.States (474), 43, Reduce, (237, 0),  1, null, 
null);
-            Add_Action (Table.States (474), 53, Reduce, (237, 0),  1, null, 
null);
-            Add_Action (Table.States (474), 68, Reduce, (237, 0),  1, null, 
null);
-            Add_Action (Table.States (474), 74, Reduce, (237, 0),  1, null, 
null);
-            Add_Action (Table.States (474), 75, Reduce, (237, 0),  1, null, 
null);
-            Add_Action (Table.States (474), 78, Reduce, (237, 0),  1, null, 
null);
-            Add_Action (Table.States (474), 79, Reduce, (237, 0),  1, null, 
null);
-            Add_Action (Table.States (474), 82, Reduce, (237, 0),  1, null, 
null);
-            Add_Action (Table.States (474), 86, Reduce, (237, 0),  1, null, 
null);
-            Add_Action (Table.States (474), 88, (280, 2), 455);
-            Add_Action (Table.States (474), 90, Reduce, (237, 0),  1, null, 
null);
-            Add_Action (Table.States (474), 99, Reduce, (237, 0),  1, null, 
null);
-            Table.States (474).Kernel := To_Vector ((((237, 0),  304,  0, 
(237, 0),  1), ((280, 2),  304,  2,
-            (2147483647, 0),  0)));
-            Table.States (474).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (237, 0),  1)));
-            Table.States (475).Action_List.Set_Capacity (13);
-            Add_Action (Table.States (475), 3, (200, 2), 122);
-            Add_Action (Table.States (475), 39, (261, 4), 123);
-            Add_Action (Table.States (475), 40, (200, 3), 124);
-            Add_Action (Table.States (475), 41, (261, 1), 125);
-            Add_Action (Table.States (475), 76, (120, 0), 127);
-            Add_Action (Table.States (475), 77, (120, 5), 128);
-            Add_Action (Table.States (475), 81, (242, 8), 31);
-            Add_Action (Table.States (475), 97, (333, 1), 129);
-            Add_Action (Table.States (475), 98, (333, 0), 130);
-            Add_Action (Table.States (475), 106, (261, 0), 131);
-            Add_Action (Table.States (475), 107, (242, 5), 120);
-            Add_Action (Table.States (475), 108, (242, 7), 34);
-            Add_Action (Table.States (475), 109, (242, 6), 35);
-            Table.States (475).Goto_List.Set_Capacity (14);
-            Add_Goto (Table.States (475), 120, 132);
-            Add_Goto (Table.States (475), 131, 42);
-            Add_Goto (Table.States (475), 200, 135);
-            Add_Goto (Table.States (475), 236, 628);
-            Add_Goto (Table.States (475), 237, 472);
-            Add_Goto (Table.States (475), 242, 276);
-            Add_Goto (Table.States (475), 261, 137);
-            Add_Goto (Table.States (475), 275, 93);
-            Add_Goto (Table.States (475), 280, 473);
-            Add_Goto (Table.States (475), 296, 98);
-            Add_Goto (Table.States (475), 304, 474);
-            Add_Goto (Table.States (475), 323, 146);
-            Add_Goto (Table.States (475), 324, 147);
-            Add_Goto (Table.States (475), 333, 148);
-            Table.States (475).Kernel := To_Vector ((0 => ((290, 0),  33,  1, 
(2147483647, 0),  0)));
-            Table.States (475).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (261, 0),  106, 131)));
-            Table.States (476).Action_List.Set_Capacity (18);
-            Add_Action (Table.States (476), (10, 20, 21, 22, 23, 35, 37, 43, 
53, 68, 74, 75, 78, 79, 82, 86, 90, 99),
-            (290, 2),  3, null, null);
-            Table.States (476).Kernel := To_Vector ((0 => ((290, 2),  304,  0, 
(290, 2),  3)));
-            Table.States (476).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (290, 2),  3)));
-            Table.States (477).Action_List.Set_Capacity (36);
-            Add_Action (Table.States (477), (10, 20, 21, 22, 23, 33, 35, 37, 
38, 40, 42, 43, 53, 55, 68, 74, 75, 78,
-            79, 80, 82, 85, 86, 88, 89, 90, 91, 92, 94, 95, 97, 98, 99, 100, 
101, 102), (323, 0),  3, null, null);
-            Table.States (477).Kernel := To_Vector ((0 => ((323, 0),  200,  0, 
(323, 0),  3)));
-            Table.States (477).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (323, 0),  3)));
-            Table.States (478).Action_List.Set_Capacity (36);
-            Add_Action (Table.States (478), 10, Reduce, (324, 0),  3, null, 
null);
-            Add_Action (Table.States (478), 20, Reduce, (324, 0),  3, null, 
null);
-            Add_Action (Table.States (478), 21, Reduce, (324, 0),  3, null, 
null);
-            Add_Action (Table.States (478), 22, Reduce, (324, 0),  3, null, 
null);
-            Add_Action (Table.States (478), 23, Reduce, (324, 0),  3, null, 
null);
-            Add_Action (Table.States (478), 33, Reduce, (324, 0),  3, null, 
null);
-            Add_Action (Table.States (478), 35, Reduce, (324, 0),  3, null, 
null);
-            Add_Action (Table.States (478), 37, Reduce, (324, 0),  3, null, 
null);
-            Add_Action (Table.States (478), 38, (240, 2), 300);
-            Add_Action (Table.States (478), 40, Reduce, (324, 0),  3, null, 
null);
-            Add_Action (Table.States (478), 42, Reduce, (324, 0),  3, null, 
null);
-            Add_Action (Table.States (478), 43, Reduce, (324, 0),  3, null, 
null);
-            Add_Action (Table.States (478), 53, Reduce, (324, 0),  3, null, 
null);
-            Add_Action (Table.States (478), 55, (240, 3), 301);
-            Add_Action (Table.States (478), 68, Reduce, (324, 0),  3, null, 
null);
-            Add_Action (Table.States (478), 74, Reduce, (324, 0),  3, null, 
null);
-            Add_Action (Table.States (478), 75, Reduce, (324, 0),  3, null, 
null);
-            Add_Action (Table.States (478), 78, Reduce, (324, 0),  3, null, 
null);
-            Add_Action (Table.States (478), 79, Reduce, (324, 0),  3, null, 
null);
-            Add_Action (Table.States (478), 80, Reduce, (324, 0),  3, null, 
null);
-            Add_Action (Table.States (478), 82, Reduce, (324, 0),  3, null, 
null);
-            Add_Action (Table.States (478), 85, Reduce, (324, 0),  3, null, 
null);
-            Add_Action (Table.States (478), 86, Reduce, (324, 0),  3, null, 
null);
-            Add_Action (Table.States (478), 88, Reduce, (324, 0),  3, null, 
null);
-            Add_Action (Table.States (478), 89, Reduce, (324, 0),  3, null, 
null);
-            Add_Action (Table.States (478), 90, Reduce, (324, 0),  3, null, 
null);
-            Add_Action (Table.States (478), 91, Reduce, (324, 0),  3, null, 
null);
-            Add_Action (Table.States (478), 92, Reduce, (324, 0),  3, null, 
null);
-            Add_Action (Table.States (478), 94, Reduce, (324, 0),  3, null, 
null);
-            Add_Action (Table.States (478), 95, Reduce, (324, 0),  3, null, 
null);
-            Add_Action (Table.States (478), 97, Reduce, (324, 0),  3, null, 
null);
-            Add_Action (Table.States (478), 98, Reduce, (324, 0),  3, null, 
null);
-            Add_Action (Table.States (478), 99, Reduce, (324, 0),  3, null, 
null);
-            Add_Action (Table.States (478), 100, (240, 1), 302);
-            Add_Action (Table.States (478), 101, Reduce, (324, 0),  3, null, 
null);
-            Add_Action (Table.States (478), 102, (240, 0), 303);
-            Table.States (478).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (478), 240, 304);
-            Table.States (478).Kernel := To_Vector ((((323, 0),  323,  2, 
(2147483647, 0),  0), ((324, 0),  323,  0,
-            (324, 0),  3)));
-            Table.States (478).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (324, 0),  3)));
-            Table.States (479).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (479), (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, 81, 96, 107, 108,
-            109, 110), (164, 0),  4, delay_statement_0'Access, null);
-            Table.States (479).Kernel := To_Vector ((0 => ((164, 0),  99,  0, 
(164, 0),  4)));
-            Table.States (479).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (164, 0),  4)));
-            Table.States (480).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (480), 99, (193, 0), 629);
-            Table.States (480).Kernel := To_Vector ((0 => ((193, 0),  195,  1, 
(2147483647, 0),  0)));
-            Table.States (480).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (193, 0),  99, 629)));
-            Table.States (481).Action_List.Set_Capacity (9);
-            Add_Action (Table.States (481), 39, (261, 4), 123);
-            Add_Action (Table.States (481), 41, (261, 1), 630);
-            Add_Action (Table.States (481), 76, (120, 0), 127);
-            Add_Action (Table.States (481), 77, (120, 5), 128);
-            Add_Action (Table.States (481), 81, (242, 8), 31);
-            Add_Action (Table.States (481), 106, (261, 0), 131);
-            Add_Action (Table.States (481), 107, (242, 5), 120);
-            Add_Action (Table.States (481), 108, (242, 7), 34);
-            Add_Action (Table.States (481), 109, (242, 6), 35);
-            Table.States (481).Goto_List.Set_Capacity (6);
-            Add_Goto (Table.States (481), 120, 132);
-            Add_Goto (Table.States (481), 131, 42);
-            Add_Goto (Table.States (481), 242, 136);
-            Add_Goto (Table.States (481), 261, 258);
-            Add_Goto (Table.States (481), 275, 93);
-            Add_Goto (Table.States (481), 296, 98);
-            Table.States (481).Kernel := To_Vector ((((200, 3),  40,  1, 
(2147483647, 0),  0), ((317, 0),  40,  6,
-            (2147483647, 0),  0), ((317, 1),  40,  2, (2147483647, 0),  0)));
-            Table.States (481).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (261, 0),  106, 131)));
-            Table.States (482).Action_List.Set_Capacity (13);
-            Add_Action (Table.States (482), 3, (200, 2), 122);
-            Add_Action (Table.States (482), 39, (261, 4), 123);
-            Add_Action (Table.States (482), 40, (200, 3), 481);
-            Add_Action (Table.States (482), 41, (261, 1), 125);
-            Add_Action (Table.States (482), 76, (120, 0), 127);
-            Add_Action (Table.States (482), 77, (120, 5), 128);
-            Add_Action (Table.States (482), 81, (242, 8), 31);
-            Add_Action (Table.States (482), 97, (333, 1), 129);
-            Add_Action (Table.States (482), 98, (333, 0), 130);
-            Add_Action (Table.States (482), 106, (261, 0), 131);
-            Add_Action (Table.States (482), 107, (242, 5), 120);
-            Add_Action (Table.States (482), 108, (242, 7), 34);
-            Add_Action (Table.States (482), 109, (242, 6), 35);
-            Table.States (482).Goto_List.Set_Capacity (14);
-            Add_Goto (Table.States (482), 120, 132);
-            Add_Goto (Table.States (482), 131, 42);
-            Add_Goto (Table.States (482), 170, 631);
-            Add_Goto (Table.States (482), 200, 135);
-            Add_Goto (Table.States (482), 242, 484);
-            Add_Goto (Table.States (482), 261, 137);
-            Add_Goto (Table.States (482), 275, 93);
-            Add_Goto (Table.States (482), 280, 485);
-            Add_Goto (Table.States (482), 296, 98);
-            Add_Goto (Table.States (482), 304, 486);
-            Add_Goto (Table.States (482), 317, 487);
-            Add_Goto (Table.States (482), 323, 146);
-            Add_Goto (Table.States (482), 324, 147);
-            Add_Goto (Table.States (482), 333, 148);
-            Table.States (482).Kernel := To_Vector ((0 => ((233, 2),  59,  1, 
(2147483647, 0),  0)));
-            Table.States (482).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (483).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (483), (37, 90), (233, 5),  3, 
iterator_specification_5'Access, null);
-            Table.States (483).Kernel := To_Vector ((0 => ((233, 5),  170,  0, 
(233, 5),  3)));
-            Table.States (483).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (233, 5),  3)));
-            Table.States (484).Action_List.Set_Capacity (30);
-            Add_Action (Table.States (484), 10, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (484), 33, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (484), 37, Reduce, (317, 3),  1, 
subtype_indication_3'Access, null);
-            Add_Action (Table.States (484), 38, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (484), 40, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (484), 43, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (484), 53, (158, 0), 632);
-            Add_Action (Table.States (484), 55, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (484), 75, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (484), 76, (118, 0), 633);
-            Add_Action (Table.States (484), 78, Reduce, (261, 3),  1, null, 
null);
-            Add_Conflict (Table.States (484), 78, (317, 3),  1, 
subtype_indication_3'Access, null);
-            Add_Action (Table.States (484), 80, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (484), 82, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (484), 86, Reduce, (261, 3),  1, null, 
null);
-            Add_Conflict (Table.States (484), 86, (317, 3),  1, 
subtype_indication_3'Access, null);
-            Add_Action (Table.States (484), 87, (296, 0), 239);
-            Add_Action (Table.States (484), 88, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (484), 89, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (484), 90, Reduce, (261, 3),  1, null, 
null);
-            Add_Conflict (Table.States (484), 90, (317, 3),  1, 
subtype_indication_3'Access, null);
-            Add_Action (Table.States (484), 91, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (484), 92, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (484), 94, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (484), 95, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (484), 97, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (484), 98, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (484), 100, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (484), 101, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (484), 102, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (484), 103, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (484), 104, (325, 0), 241);
-            Add_Action (Table.States (484), 105, (325, 1), 242);
-            Table.States (484).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (484), 118, 243);
-            Add_Goto (Table.States (484), 158, 634);
-            Add_Goto (Table.States (484), 227, 635);
-            Add_Goto (Table.States (484), 325, 454);
-            Table.States (484).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((242, 0),  242,  5,
-            (2147483647, 0),  0), ((242, 1),  242,  2, (2147483647, 0),  0), 
((261, 3),  242,  0, (261, 3),  1), ((275,
-            0),  242,  3, (2147483647, 0),  0), ((280, 0),  242,  4, 
(2147483647, 0),  0), ((280, 1),  242,  2,
-            (2147483647, 0),  0), ((296, 0),  242,  2, (2147483647, 0),  0), 
((296, 1),  242,  2, (2147483647, 0),  0),
-            ((296, 2),  242,  2, (2147483647, 0),  0), ((296, 3),  242,  2, 
(2147483647, 0),  0), ((317, 2),  242,  4,
-            (2147483647, 0),  0), ((317, 3),  242,  0, (317, 3),  1)));
-            Table.States (484).Minimal_Complete_Actions := To_Vector 
(((Reduce, (261, 3),  1), (Reduce, (317, 3),
-            1)));
-            Table.States (485).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (485), (37, 78, 86, 90), (170, 1),  1, 
null, null);
-            Table.States (485).Kernel := To_Vector ((0 => ((170, 1),  280,  0, 
(170, 1),  1)));
-            Table.States (485).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (170, 1),  1)));
-            Table.States (486).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (486), 88, (280, 2), 455);
-            Table.States (486).Kernel := To_Vector ((0 => ((280, 2),  304,  2, 
(2147483647, 0),  0)));
-            Table.States (486).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (280, 2),  88, 455)));
-            Table.States (487).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (487), (37, 78, 86, 90), (170, 0),  1, 
null, null);
-            Table.States (487).Kernel := To_Vector ((0 => ((170, 0),  317,  0, 
(170, 0),  1)));
-            Table.States (487).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (170, 0),  1)));
-            Table.States (488).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (488), 81, (242, 8), 31);
-            Add_Action (Table.States (488), 107, (242, 5), 120);
-            Add_Action (Table.States (488), 108, (242, 7), 34);
-            Add_Action (Table.States (488), 109, (242, 6), 35);
-            Table.States (488).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (488), 131, 42);
-            Add_Goto (Table.States (488), 242, 636);
-            Add_Goto (Table.States (488), 275, 93);
-            Add_Goto (Table.States (488), 296, 98);
-            Table.States (488).Kernel := To_Vector ((0 => ((233, 3),  59,  1, 
(2147483647, 0),  0)));
-            Table.States (488).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (489).Action_List.Set_Capacity (6);
-            Add_Action (Table.States (489), 37, Reduce, (233, 4),  3, null, 
null);
-            Add_Action (Table.States (489), 76, (118, 0), 237);
-            Add_Action (Table.States (489), 87, (296, 0), 239);
-            Add_Action (Table.States (489), 90, Reduce, (233, 4),  3, null, 
null);
-            Add_Action (Table.States (489), 104, (325, 0), 241);
-            Add_Action (Table.States (489), 105, (325, 1), 242);
-            Table.States (489).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (489), 118, 243);
-            Add_Goto (Table.States (489), 325, 244);
-            Table.States (489).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((233, 4),  242,  0,
-            (233, 4),  3), ((242, 0),  242,  5, (2147483647, 0),  0), ((242, 
1),  242,  2, (2147483647, 0),  0), ((275,
-            0),  242,  3, (2147483647, 0),  0), ((296, 0),  242,  2, 
(2147483647, 0),  0), ((296, 1),  242,  2,
-            (2147483647, 0),  0), ((296, 2),  242,  2, (2147483647, 0),  0), 
((296, 3),  242,  2, (2147483647, 0),
-            0)));
-            Table.States (489).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (233, 4),  3)));
-            Table.States (490).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (490), 41, (317, 0), 637);
-            Table.States (490).Kernel := To_Vector ((((317, 0),  40,  6, 
(2147483647, 0),  0), ((317, 1),  40,  2,
-            (2147483647, 0),  0)));
-            Table.States (490).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (317, 0),  41, 637)));
-            Table.States (491).Action_List.Set_Capacity (11);
-            Add_Action (Table.States (491), 10, Reduce, (317, 3),  1, 
subtype_indication_3'Access, null);
-            Add_Action (Table.States (491), 21, Reduce, (317, 3),  1, 
subtype_indication_3'Access, null);
-            Add_Action (Table.States (491), 42, Reduce, (317, 3),  1, 
subtype_indication_3'Access, null);
-            Add_Action (Table.States (491), 53, (158, 0), 632);
-            Add_Action (Table.States (491), 74, Reduce, (317, 3),  1, 
subtype_indication_3'Access, null);
-            Add_Action (Table.States (491), 76, (118, 0), 633);
-            Add_Action (Table.States (491), 85, Reduce, (317, 3),  1, 
subtype_indication_3'Access, null);
-            Add_Action (Table.States (491), 87, (296, 0), 239);
-            Add_Action (Table.States (491), 99, Reduce, (317, 3),  1, 
subtype_indication_3'Access, null);
-            Add_Action (Table.States (491), 104, (325, 0), 241);
-            Add_Action (Table.States (491), 105, (325, 1), 242);
-            Table.States (491).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (491), 118, 243);
-            Add_Goto (Table.States (491), 158, 634);
-            Add_Goto (Table.States (491), 227, 635);
-            Add_Goto (Table.States (491), 325, 244);
-            Table.States (491).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((242, 0),  242,  5,
-            (2147483647, 0),  0), ((242, 1),  242,  2, (2147483647, 0),  0), 
((275, 0),  242,  3, (2147483647, 0),  0),
-            ((296, 0),  242,  2, (2147483647, 0),  0), ((296, 1),  242,  2, 
(2147483647, 0),  0), ((296, 2),  242,  2,
-            (2147483647, 0),  0), ((296, 3),  242,  2, (2147483647, 0),  0), 
((317, 2),  242,  4, (2147483647, 0),  0),
-            ((317, 3),  242,  0, (317, 3),  1)));
-            Table.States (491).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (317, 3),  1)));
-            Table.States (492).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (492), 42, (233, 0), 638);
-            Table.States (492).Kernel := To_Vector ((((233, 0),  317,  3, 
(2147483647, 0),  0), ((233, 1),  317,  2,
-            (2147483647, 0),  0)));
-            Table.States (492).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (233, 0),  42, 638)));
-            Table.States (493).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (493), 99, (124, 0), 639);
-            Table.States (493).Kernel := To_Vector ((0 => ((124, 0),  195,  1, 
(2147483647, 0),  0)));
-            Table.States (493).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (124, 0),  99, 639)));
-            Table.States (494).Action_List.Set_Capacity (15);
-            Add_Action (Table.States (494), 3, (200, 2), 122);
-            Add_Action (Table.States (494), 39, (261, 4), 123);
-            Add_Action (Table.States (494), 40, (200, 3), 124);
-            Add_Action (Table.States (494), 41, (261, 1), 125);
-            Add_Action (Table.States (494), 52, (278, 0), 126);
-            Add_Action (Table.States (494), 76, (120, 0), 127);
-            Add_Action (Table.States (494), 77, (120, 5), 128);
-            Add_Action (Table.States (494), 81, (242, 8), 31);
-            Add_Action (Table.States (494), 97, (333, 1), 129);
-            Add_Action (Table.States (494), 98, (333, 0), 130);
-            Add_Action (Table.States (494), 99, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (494), 106, (261, 0), 131);
-            Add_Action (Table.States (494), 107, (242, 5), 120);
-            Add_Action (Table.States (494), 108, (242, 7), 34);
-            Add_Action (Table.States (494), 109, (242, 6), 35);
-            Table.States (494).Goto_List.Set_Capacity (20);
-            Add_Goto (Table.States (494), 120, 132);
-            Add_Goto (Table.States (494), 131, 42);
-            Add_Goto (Table.States (494), 194, 133);
-            Add_Goto (Table.States (494), 195, 640);
-            Add_Goto (Table.States (494), 200, 135);
-            Add_Goto (Table.States (494), 242, 136);
-            Add_Goto (Table.States (494), 261, 137);
-            Add_Goto (Table.States (494), 275, 93);
-            Add_Goto (Table.States (494), 278, 138);
-            Add_Goto (Table.States (494), 285, 139);
-            Add_Goto (Table.States (494), 286, 140);
-            Add_Goto (Table.States (494), 287, 141);
-            Add_Goto (Table.States (494), 288, 142);
-            Add_Goto (Table.States (494), 289, 143);
-            Add_Goto (Table.States (494), 290, 144);
-            Add_Goto (Table.States (494), 296, 98);
-            Add_Goto (Table.States (494), 304, 145);
-            Add_Goto (Table.States (494), 323, 146);
-            Add_Goto (Table.States (494), 324, 147);
-            Add_Goto (Table.States (494), 333, 148);
-            Table.States (494).Kernel := To_Vector ((0 => ((130, 0),  12,  1, 
(2147483647, 0),  0)));
-            Table.States (494).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (195, 1),  0)));
-            Table.States (495).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (495), 12, (238, 0), 641);
-            Add_Action (Table.States (495), 107, Reduce, (238, 1),  0, null, 
null);
-            Table.States (495).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (495), 238, 642);
-            Table.States (495).Kernel := To_Vector ((0 => ((284, 0),  54,  11, 
(2147483647, 0),  0)));
-            Table.States (495).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (238, 1),  0)));
-            Table.States (496).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (496), 99, (185, 0), 643);
-            Table.States (496).Kernel := To_Vector ((0 => ((185, 0),  120,  1, 
(2147483647, 0),  0)));
-            Table.States (496).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (185, 0),  99, 643)));
-            Table.States (497).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (497), (21, 35, 56, 74, 78, 85, 99), 
(294, 1),  2, result_profile_1'Access, null);
-            Table.States (497).Kernel := To_Vector ((0 => ((294, 1),  117,  0, 
(294, 1),  2)));
-            Table.States (497).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (294, 1),  2)));
-            Table.States (498).Action_List.Set_Capacity (12);
-            Add_Action (Table.States (498), 7, (117, 0), 564);
-            Add_Action (Table.States (498), 21, Reduce, (243, 1),  0, null, 
null);
-            Add_Action (Table.States (498), 35, Reduce, (243, 1),  0, null, 
null);
-            Add_Action (Table.States (498), 56, Reduce, (243, 1),  0, null, 
null);
-            Add_Action (Table.States (498), 74, Reduce, (243, 1),  0, null, 
null);
-            Add_Action (Table.States (498), 78, Reduce, (243, 1),  0, null, 
null);
-            Add_Action (Table.States (498), 81, (242, 8), 31);
-            Add_Action (Table.States (498), 85, Reduce, (243, 1),  0, null, 
null);
-            Add_Action (Table.States (498), 99, Reduce, (243, 1),  0, null, 
null);
-            Add_Action (Table.States (498), 107, (242, 5), 120);
-            Add_Action (Table.States (498), 108, (242, 7), 34);
-            Add_Action (Table.States (498), 109, (242, 6), 35);
-            Table.States (498).Goto_List.Set_Capacity (5);
-            Add_Goto (Table.States (498), 131, 42);
-            Add_Goto (Table.States (498), 242, 644);
-            Add_Goto (Table.States (498), 243, 645);
-            Add_Goto (Table.States (498), 275, 93);
-            Add_Goto (Table.States (498), 296, 98);
-            Table.States (498).Kernel := To_Vector ((((117, 0),  244,  2, 
(2147483647, 0),  0), ((117, 1),  244,  3,
-            (2147483647, 0),  0), ((117, 2),  244,  2, (2147483647, 0),  0), 
((294, 0),  244,  0, (243, 1),  0)));
-            Table.States (498).Minimal_Complete_Actions := To_Vector (((Shift, 
(117, 0),  7, 564), (Reduce, (243, 1),
-            0)));
-            Table.States (499).Action_List.Set_Capacity (30);
-            Add_Action (Table.States (499), 10, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (499), 33, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (499), 38, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (499), 40, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (499), 43, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (499), 53, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (499), 55, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (499), 75, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (499), 76, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (499), 78, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (499), 80, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (499), 82, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (499), 84, Reduce, (222, 1),  1, 
identifier_list_1'Access, null);
-            Add_Action (Table.States (499), 86, Reduce, (222, 1),  1, 
identifier_list_1'Access, null);
-            Add_Conflict (Table.States (499), 86, (242, 5),  1, name_5'Access, 
name_5_check'Access);
-            Add_Action (Table.States (499), 87, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (499), 88, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (499), 89, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (499), 90, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (499), 91, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (499), 92, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (499), 94, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (499), 95, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (499), 97, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (499), 98, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (499), 100, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (499), 101, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (499), 102, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (499), 103, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (499), 104, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (499), 105, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Table.States (499).Kernel := To_Vector ((((222, 1),  107,  0, 
(222, 1),  1), ((242, 5),  107,  0, (242, 5),
-             1)));
-            Table.States (499).Minimal_Complete_Actions := To_Vector 
(((Reduce, (222, 1),  1), (Reduce, (242, 5),
-            1)));
-            Table.States (500).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (500), 84, (257, 0), 646);
-            Add_Action (Table.States (500), 86, (222, 0), 236);
-            Table.States (500).Kernel := To_Vector ((((222, 0),  222,  2, 
(2147483647, 0),  0), ((257, 0),  222,  3,
-            (2147483647, 0),  0), ((257, 1),  222,  2, (2147483647, 0),  0), 
((257, 2),  222,  4, (2147483647, 0),  0),
-            ((257, 3),  222,  3, (2147483647, 0),  0)));
-            Table.States (500).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (257, 0),  84, 646)));
-            Table.States (501).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (501), (78, 99), (258, 1),  1, null, 
null);
-            Table.States (501).Kernel := To_Vector ((0 => ((258, 1),  257,  0, 
(258, 1),  1)));
-            Table.States (501).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (258, 1),  1)));
-            Table.States (502).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (502), 78, (202, 0), 647);
-            Add_Action (Table.States (502), 99, (258, 0), 648);
-            Table.States (502).Kernel := To_Vector ((((202, 0),  258,  1, 
(2147483647, 0),  0), ((258, 0),  258,  1,
-            (2147483647, 0),  0)));
-            Table.States (502).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (202, 0),  78, 647)));
-            Table.States (503).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (503), (21, 35, 56, 74, 78, 85, 99), 
(255, 0),  2,
-            parameter_and_result_profile_0'Access, null);
-            Table.States (503).Kernel := To_Vector ((0 => ((255, 0),  294,  0, 
(255, 0),  2)));
-            Table.States (503).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (255, 0),  2)));
-            Table.States (504).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (504), 81, (242, 8), 31);
-            Add_Action (Table.States (504), 107, (242, 5), 120);
-            Add_Action (Table.States (504), 108, (242, 7), 34);
-            Add_Action (Table.States (504), 109, (242, 6), 35);
-            Table.States (504).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (504), 131, 42);
-            Add_Goto (Table.States (504), 242, 649);
-            Add_Goto (Table.States (504), 275, 93);
-            Add_Goto (Table.States (504), 296, 98);
-            Table.States (504).Kernel := To_Vector ((0 => ((218, 2),  56,  2, 
(2147483647, 0),  0)));
-            Table.States (504).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (505).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (505), 81, (242, 8), 31);
-            Add_Action (Table.States (505), 107, (242, 5), 120);
-            Add_Action (Table.States (505), 108, (242, 7), 34);
-            Add_Action (Table.States (505), 109, (242, 6), 35);
-            Table.States (505).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (505), 131, 42);
-            Add_Goto (Table.States (505), 242, 650);
-            Add_Goto (Table.States (505), 275, 93);
-            Add_Goto (Table.States (505), 296, 98);
-            Table.States (505).Kernel := To_Vector ((0 => ((218, 0),  56,  2, 
(2147483647, 0),  0)));
-            Table.States (505).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (506).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (506), 81, (242, 8), 31);
-            Add_Action (Table.States (506), 107, (242, 5), 120);
-            Add_Action (Table.States (506), 108, (242, 7), 34);
-            Add_Action (Table.States (506), 109, (242, 6), 35);
-            Table.States (506).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (506), 131, 42);
-            Add_Goto (Table.States (506), 242, 651);
-            Add_Goto (Table.States (506), 275, 93);
-            Add_Goto (Table.States (506), 296, 98);
-            Table.States (506).Kernel := To_Vector ((0 => ((218, 1),  56,  2, 
(2147483647, 0),  0)));
-            Table.States (506).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (507).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (507), 35, (204, 0), 652);
-            Add_Action (Table.States (507), 74, (125, 0), 340);
-            Add_Action (Table.States (507), 99, Reduce, (125, 1),  0, null, 
null);
-            Table.States (507).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (507), 125, 653);
-            Table.States (507).Kernel := To_Vector ((((204, 0),  172,  3, 
(2147483647, 0),  0), ((204, 1),  172,  3,
-            (2147483647, 0),  0), ((204, 2),  172,  1, (2147483647, 0),  0)));
-            Table.States (507).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (508).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (508), 35, (207, 0), 654);
-            Add_Action (Table.States (508), 76, (118, 0), 237);
-            Add_Action (Table.States (508), 87, (296, 0), 239);
-            Add_Action (Table.States (508), 104, (325, 0), 241);
-            Add_Action (Table.States (508), 105, (325, 1), 242);
-            Table.States (508).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (508), 118, 243);
-            Add_Goto (Table.States (508), 325, 244);
-            Table.States (508).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((207, 0),  242,  4,
-            (2147483647, 0),  0), ((242, 0),  242,  5, (2147483647, 0),  0), 
((242, 1),  242,  2, (2147483647, 0),  0),
-            ((275, 0),  242,  3, (2147483647, 0),  0), ((296, 0),  242,  2, 
(2147483647, 0),  0), ((296, 1),  242,  2,
-            (2147483647, 0),  0), ((296, 2),  242,  2, (2147483647, 0),  0), 
((296, 3),  242,  2, (2147483647, 0),
-            0)));
-            Table.States (508).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (207, 0),  35, 654)));
-            Table.States (509).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (509), 6, (203, 0), 655);
-            Add_Action (Table.States (509), 41, (313, 2), 656);
-            Add_Action (Table.States (509), 81, (242, 8), 31);
-            Add_Action (Table.States (509), 83, (313, 1), 657);
-            Add_Action (Table.States (509), 107, (242, 5), 120);
-            Add_Action (Table.States (509), 108, (242, 7), 34);
-            Add_Action (Table.States (509), 109, (242, 6), 35);
-            Table.States (509).Goto_List.Set_Capacity (5);
-            Add_Goto (Table.States (509), 131, 42);
-            Add_Goto (Table.States (509), 242, 658);
-            Add_Goto (Table.States (509), 275, 93);
-            Add_Goto (Table.States (509), 296, 98);
-            Add_Goto (Table.States (509), 313, 659);
-            Table.States (509).Kernel := To_Vector ((((203, 0),  35,  3, 
(2147483647, 0),  0), ((203, 1),  35,  2,
-            (2147483647, 0),  0), ((203, 2),  35,  2, (2147483647, 0),  0)));
-            Table.States (509).Minimal_Complete_Actions := To_Vector (((Shift, 
(242, 5),  107, 120), (Shift, (203, 0),
-            6, 655)));
-            Table.States (510).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (510), 99, (203, 3), 660);
-            Table.States (510).Kernel := To_Vector ((0 => ((203, 3),  125,  1, 
(2147483647, 0),  0)));
-            Table.States (510).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (203, 3),  99, 660)));
-            Table.States (511).Action_List.Set_Capacity (10);
-            Add_Action (Table.States (511), 7, Reduce, (239, 0),  1, null, 
null);
-            Add_Action (Table.States (511), 40, Reduce, (239, 0),  1, null, 
null);
-            Add_Action (Table.States (511), 45, (239, 1), 661);
-            Add_Action (Table.States (511), 74, Reduce, (239, 0),  1, null, 
null);
-            Add_Action (Table.States (511), 81, Reduce, (239, 0),  1, null, 
null);
-            Add_Action (Table.States (511), 85, Reduce, (239, 0),  1, null, 
null);
-            Add_Action (Table.States (511), 99, Reduce, (239, 0),  1, null, 
null);
-            Add_Action (Table.States (511), 107, Reduce, (239, 0),  1, null, 
null);
-            Add_Action (Table.States (511), 108, Reduce, (239, 0),  1, null, 
null);
-            Add_Action (Table.States (511), 109, Reduce, (239, 0),  1, null, 
null);
-            Table.States (511).Kernel := To_Vector ((((239, 0),  33,  0, (239, 
0),  1), ((239, 1),  33,  1,
-            (2147483647, 0),  0)));
-            Table.States (511).Minimal_Complete_Actions := To_Vector 
(((Reduce, (239, 0),  1), (Shift, (239, 1),  45,
-            661)));
-            Table.States (512).Action_List.Set_Capacity (9);
-            Add_Action (Table.States (512), (7, 40, 74, 81, 85, 99, 107, 108, 
109), (239, 2),  1, null, null);
-            Table.States (512).Kernel := To_Vector ((0 => ((239, 2),  45,  0, 
(239, 2),  1)));
-            Table.States (512).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (239, 2),  1)));
-            Table.States (513).Action_List.Set_Capacity (6);
-            Add_Action (Table.States (513), 7, Reduce, (244, 1),  0, null, 
null);
-            Add_Action (Table.States (513), 40, (244, 0), 389);
-            Add_Action (Table.States (513), 81, Reduce, (244, 1),  0, null, 
null);
-            Add_Action (Table.States (513), 107, Reduce, (244, 1),  0, null, 
null);
-            Add_Action (Table.States (513), 108, Reduce, (244, 1),  0, null, 
null);
-            Add_Action (Table.States (513), 109, Reduce, (244, 1),  0, null, 
null);
-            Table.States (513).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (513), 117, 662);
-            Add_Goto (Table.States (513), 244, 663);
-            Table.States (513).Kernel := To_Vector ((((201, 0),  239,  3, 
(2147483647, 0),  0), ((201, 1),  239,  4,
-            (2147483647, 0),  0), ((201, 2),  239,  2, (2147483647, 0),  0), 
((201, 3),  239,  3, (2147483647, 0),
-            0)));
-            Table.States (513).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (244, 1),  0)));
-            Table.States (514).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (514), 22, (225, 1), 664);
-            Add_Action (Table.States (514), 23, (177, 0), 665);
-            Add_Action (Table.States (514), 24, (225, 3), 666);
-            Table.States (514).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (514), 177, 667);
-            Add_Goto (Table.States (514), 178, 668);
-            Table.States (514).Kernel := To_Vector ((((225, 0),  303,  6, 
(2147483647, 0),  0), ((225, 1),  303,  4,
-            (2147483647, 0),  0), ((225, 2),  303,  5, (2147483647, 0),  0), 
((225, 3),  303,  3, (2147483647, 0),
-            0)));
-            Table.States (514).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (225, 3),  24, 666)));
-            Table.States (515).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (515), 86, (241, 0), 384);
-            Add_Action (Table.States (515), 99, (335, 0), 669);
-            Table.States (515).Kernel := To_Vector ((((241, 0),  241,  2, 
(2147483647, 0),  0), ((335, 0),  241,  1,
-            (2147483647, 0),  0)));
-            Table.States (515).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (335, 0),  99, 669)));
-            Table.States (516).Action_List.Set_Capacity (40);
-            Add_Action (Table.States (516), (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, 81, 
96, 107, 108, 109, 110), (335, 1),  4,
-            with_clause_1'Access, null);
-            Table.States (516).Kernel := To_Vector ((0 => ((335, 1),  99,  0, 
(335, 1),  4)));
-            Table.States (516).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (335, 1),  4)));
-            Table.States (517).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (517), 60, (251, 0), 670);
-            Table.States (517).Kernel := To_Vector ((0 => ((251, 0),  35,  2, 
(2147483647, 0),  0)));
-            Table.States (517).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (251, 0),  60, 670)));
-            Table.States (518).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (518), 35, (250, 0), 671);
-            Table.States (518).Kernel := To_Vector ((((250, 0),  125,  4, 
(2147483647, 0),  0), ((250, 1),  125,  3,
-            (2147483647, 0),  0)));
-            Table.States (518).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (250, 0),  35, 671)));
-            Table.States (519).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (519), 81, (242, 8), 31);
-            Add_Action (Table.States (519), 107, (242, 5), 120);
-            Add_Action (Table.States (519), 108, (242, 7), 34);
-            Add_Action (Table.States (519), 109, (242, 6), 35);
-            Table.States (519).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (519), 131, 42);
-            Add_Goto (Table.States (519), 242, 672);
-            Add_Goto (Table.States (519), 275, 93);
-            Add_Goto (Table.States (519), 296, 98);
-            Table.States (519).Kernel := To_Vector ((0 => ((216, 0),  39,  2, 
(2147483647, 0),  0)));
-            Table.States (519).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (520).Action_List.Set_Capacity (6);
-            Add_Action (Table.States (520), 74, (125, 0), 340);
-            Add_Action (Table.States (520), 76, (118, 0), 237);
-            Add_Action (Table.States (520), 87, (296, 0), 239);
-            Add_Action (Table.States (520), 99, Reduce, (125, 1),  0, null, 
null);
-            Add_Action (Table.States (520), 104, (325, 0), 241);
-            Add_Action (Table.States (520), 105, (325, 1), 242);
-            Table.States (520).Goto_List.Set_Capacity (3);
-            Add_Goto (Table.States (520), 118, 243);
-            Add_Goto (Table.States (520), 125, 673);
-            Add_Goto (Table.States (520), 325, 244);
-            Table.States (520).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((242, 0),  242,  5,
-            (2147483647, 0),  0), ((242, 1),  242,  2, (2147483647, 0),  0), 
((253, 0),  242,  1, (2147483647, 0),  0),
-            ((275, 0),  242,  3, (2147483647, 0),  0), ((296, 0),  242,  2, 
(2147483647, 0),  0), ((296, 1),  242,  2,
-            (2147483647, 0),  0), ((296, 2),  242,  2, (2147483647, 0),  0), 
((296, 3),  242,  2, (2147483647, 0),
-            0)));
-            Table.States (520).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-         end Subr_10;
-         procedure Subr_11
-         is begin
-            Table.States (521).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (521), 107, (127, 6), 440);
-            Table.States (521).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (521), 233, 441);
-            Table.States (521).Kernel := To_Vector ((((127, 6),  28,  4, 
(2147483647, 0),  0), ((127, 7),  28,  5,
-            (2147483647, 0),  0)));
-            Table.States (521).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (127, 6),  107, 440)));
-            Table.States (522).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (522), 35, Reduce, (125, 0),  2, 
aspect_specification_opt_0'Access, null);
-            Add_Action (Table.States (522), 86, (128, 0), 448);
-            Add_Action (Table.States (522), 99, Reduce, (125, 0),  2, 
aspect_specification_opt_0'Access, null);
-            Table.States (522).Kernel := To_Vector ((((125, 0),  128,  0, 
(125, 0),  2), ((128, 0),  128,  1,
-            (2147483647, 0),  0)));
-            Table.States (522).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 0),  2)));
-            Table.States (523).Action_List.Set_Capacity (17);
-            Add_Action (Table.States (523), 24, Reduce, (162, 1),  0, null, 
null);
-            Add_Action (Table.States (523), 25, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (523), 28, (124, 0), 185);
-            Add_Action (Table.States (523), 29, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (523), 30, (213, 0), 8);
-            Add_Action (Table.States (523), 40, (249, 0), 12);
-            Add_Action (Table.States (523), 46, (249, 1), 14);
-            Add_Action (Table.States (523), 47, (216, 0), 15);
-            Add_Action (Table.States (523), 48, (260, 0), 16);
-            Add_Action (Table.States (523), 49, Reduce, (162, 1),  0, null, 
null);
-            Add_Action (Table.States (523), 50, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (523), 51, (267, 0), 19);
-            Add_Action (Table.States (523), 63, (316, 0), 25);
-            Add_Action (Table.States (523), 66, (308, 0), 26);
-            Add_Action (Table.States (523), 69, (209, 0), 27);
-            Add_Action (Table.States (523), 71, (334, 0), 28);
-            Add_Action (Table.States (523), 107, (222, 1), 187);
-            Table.States (523).Goto_List.Set_Capacity (53);
-            Add_Goto (Table.States (523), 115, 36);
-            Add_Goto (Table.States (523), 124, 38);
-            Add_Goto (Table.States (523), 130, 41);
-            Add_Goto (Table.States (523), 137, 46);
-            Add_Goto (Table.States (523), 138, 47);
-            Add_Goto (Table.States (523), 160, 394);
-            Add_Goto (Table.States (523), 161, 395);
-            Add_Goto (Table.States (523), 162, 674);
-            Add_Goto (Table.States (523), 182, 55);
-            Add_Goto (Table.States (523), 185, 56);
-            Add_Goto (Table.States (523), 189, 57);
-            Add_Goto (Table.States (523), 196, 59);
-            Add_Goto (Table.States (523), 209, 61);
-            Add_Goto (Table.States (523), 210, 62);
-            Add_Goto (Table.States (523), 212, 63);
-            Add_Goto (Table.States (523), 213, 64);
-            Add_Goto (Table.States (523), 216, 65);
-            Add_Goto (Table.States (523), 217, 66);
-            Add_Goto (Table.States (523), 218, 67);
-            Add_Goto (Table.States (523), 219, 68);
-            Add_Goto (Table.States (523), 222, 70);
-            Add_Goto (Table.States (523), 226, 72);
-            Add_Goto (Table.States (523), 246, 75);
-            Add_Goto (Table.States (523), 247, 76);
-            Add_Goto (Table.States (523), 248, 77);
-            Add_Goto (Table.States (523), 249, 78);
-            Add_Goto (Table.States (523), 250, 79);
-            Add_Goto (Table.States (523), 251, 80);
-            Add_Goto (Table.States (523), 252, 81);
-            Add_Goto (Table.States (523), 253, 82);
-            Add_Goto (Table.States (523), 254, 83);
-            Add_Goto (Table.States (523), 260, 397);
-            Add_Goto (Table.States (523), 262, 85);
-            Add_Goto (Table.States (523), 263, 86);
-            Add_Goto (Table.States (523), 265, 88);
-            Add_Goto (Table.States (523), 266, 89);
-            Add_Goto (Table.States (523), 267, 90);
-            Add_Goto (Table.States (523), 268, 91);
-            Add_Goto (Table.States (523), 274, 92);
-            Add_Goto (Table.States (523), 284, 95);
-            Add_Goto (Table.States (523), 292, 96);
-            Add_Goto (Table.States (523), 307, 103);
-            Add_Goto (Table.States (523), 308, 104);
-            Add_Goto (Table.States (523), 310, 106);
-            Add_Goto (Table.States (523), 311, 107);
-            Add_Goto (Table.States (523), 312, 108);
-            Add_Goto (Table.States (523), 314, 109);
-            Add_Goto (Table.States (523), 316, 110);
-            Add_Goto (Table.States (523), 319, 112);
-            Add_Goto (Table.States (523), 320, 113);
-            Add_Goto (Table.States (523), 322, 114);
-            Add_Goto (Table.States (523), 328, 116);
-            Add_Goto (Table.States (523), 334, 117);
-            Table.States (523).Kernel := To_Vector ((((254, 0),  35,  2, 
(2147483647, 0),  0), ((254, 1),  35,  1,
-            (2147483647, 0),  0)));
-            Table.States (523).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (162, 1),  0)));
-            Table.States (524).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (524), 78, (260, 0), 675);
-            Add_Action (Table.States (524), 86, (128, 0), 448);
-            Table.States (524).Kernel := To_Vector ((((128, 0),  128,  1, 
(2147483647, 0),  0), ((260, 0),  128,  2,
-            (2147483647, 0),  0)));
-            Table.States (524).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (260, 0),  78, 675)));
-            Table.States (525).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (525), 78, (260, 1), 676);
-            Table.States (525).Kernel := To_Vector ((0 => ((260, 1),  156,  2, 
(2147483647, 0),  0)));
-            Table.States (525).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (260, 1),  78, 676)));
-            Table.States (526).Action_List.Set_Capacity (40);
-            Add_Action (Table.States (526), (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, 81, 
96, 107, 108, 109, 110), (335, 2),  4,
-            with_clause_2'Access, null);
-            Table.States (526).Kernel := To_Vector ((0 => ((335, 2),  99,  0, 
(335, 2),  4)));
-            Table.States (526).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (335, 2),  4)));
-            Table.States (527).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (527), 60, (268, 0), 677);
-            Table.States (527).Kernel := To_Vector ((0 => ((268, 0),  35,  2, 
(2147483647, 0),  0)));
-            Table.States (527).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (268, 0),  60, 677)));
-            Table.States (528).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (528), 35, (267, 0), 678);
-            Table.States (528).Kernel := To_Vector ((0 => ((267, 0),  125,  3, 
(2147483647, 0),  0)));
-            Table.States (528).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (267, 0),  35, 678)));
-            Table.States (529).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (529), 35, Reduce, (125, 1),  0, null, 
null);
-            Add_Action (Table.States (529), 74, (125, 0), 340);
-            Table.States (529).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (529), 125, 679);
-            Table.States (529).Kernel := To_Vector ((((274, 0),  172,  6, 
(2147483647, 0),  0), ((274, 1),  172,  3,
-            (2147483647, 0),  0)));
-            Table.States (529).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (530).Action_List.Set_Capacity (18);
-            Add_Action (Table.States (530), 24, Reduce, (162, 1),  0, null, 
null);
-            Add_Action (Table.States (530), 25, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (530), 28, (124, 0), 185);
-            Add_Action (Table.States (530), 29, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (530), 30, (213, 0), 8);
-            Add_Action (Table.States (530), 39, (307, 0), 680);
-            Add_Action (Table.States (530), 40, (249, 0), 12);
-            Add_Action (Table.States (530), 46, (249, 1), 14);
-            Add_Action (Table.States (530), 47, (216, 0), 15);
-            Add_Action (Table.States (530), 48, (260, 0), 16);
-            Add_Action (Table.States (530), 49, Reduce, (162, 1),  0, null, 
null);
-            Add_Action (Table.States (530), 50, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (530), 51, (267, 0), 19);
-            Add_Action (Table.States (530), 63, (316, 0), 25);
-            Add_Action (Table.States (530), 66, (308, 0), 26);
-            Add_Action (Table.States (530), 69, (209, 0), 27);
-            Add_Action (Table.States (530), 71, (334, 0), 28);
-            Add_Action (Table.States (530), 107, (222, 1), 187);
-            Table.States (530).Goto_List.Set_Capacity (54);
-            Add_Goto (Table.States (530), 115, 36);
-            Add_Goto (Table.States (530), 124, 38);
-            Add_Goto (Table.States (530), 130, 41);
-            Add_Goto (Table.States (530), 137, 46);
-            Add_Goto (Table.States (530), 138, 47);
-            Add_Goto (Table.States (530), 160, 394);
-            Add_Goto (Table.States (530), 161, 395);
-            Add_Goto (Table.States (530), 162, 681);
-            Add_Goto (Table.States (530), 182, 55);
-            Add_Goto (Table.States (530), 185, 56);
-            Add_Goto (Table.States (530), 189, 57);
-            Add_Goto (Table.States (530), 196, 59);
-            Add_Goto (Table.States (530), 209, 61);
-            Add_Goto (Table.States (530), 210, 62);
-            Add_Goto (Table.States (530), 212, 63);
-            Add_Goto (Table.States (530), 213, 64);
-            Add_Goto (Table.States (530), 216, 65);
-            Add_Goto (Table.States (530), 217, 66);
-            Add_Goto (Table.States (530), 218, 67);
-            Add_Goto (Table.States (530), 219, 68);
-            Add_Goto (Table.States (530), 222, 70);
-            Add_Goto (Table.States (530), 226, 72);
-            Add_Goto (Table.States (530), 246, 75);
-            Add_Goto (Table.States (530), 247, 76);
-            Add_Goto (Table.States (530), 248, 77);
-            Add_Goto (Table.States (530), 249, 78);
-            Add_Goto (Table.States (530), 250, 79);
-            Add_Goto (Table.States (530), 251, 80);
-            Add_Goto (Table.States (530), 252, 81);
-            Add_Goto (Table.States (530), 253, 82);
-            Add_Goto (Table.States (530), 254, 83);
-            Add_Goto (Table.States (530), 260, 397);
-            Add_Goto (Table.States (530), 262, 85);
-            Add_Goto (Table.States (530), 263, 86);
-            Add_Goto (Table.States (530), 265, 88);
-            Add_Goto (Table.States (530), 266, 89);
-            Add_Goto (Table.States (530), 267, 90);
-            Add_Goto (Table.States (530), 268, 91);
-            Add_Goto (Table.States (530), 269, 682);
-            Add_Goto (Table.States (530), 274, 92);
-            Add_Goto (Table.States (530), 284, 95);
-            Add_Goto (Table.States (530), 292, 96);
-            Add_Goto (Table.States (530), 307, 103);
-            Add_Goto (Table.States (530), 308, 104);
-            Add_Goto (Table.States (530), 310, 106);
-            Add_Goto (Table.States (530), 311, 107);
-            Add_Goto (Table.States (530), 312, 108);
-            Add_Goto (Table.States (530), 314, 109);
-            Add_Goto (Table.States (530), 316, 110);
-            Add_Goto (Table.States (530), 319, 112);
-            Add_Goto (Table.States (530), 320, 113);
-            Add_Goto (Table.States (530), 322, 114);
-            Add_Goto (Table.States (530), 328, 116);
-            Add_Goto (Table.States (530), 334, 117);
-            Table.States (530).Kernel := To_Vector ((((307, 0),  35,  5, 
(2147483647, 0),  0), ((307, 1),  35,  2,
-            (2147483647, 0),  0)));
-            Table.States (530).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (162, 1),  0)));
-            Table.States (531).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (531), 99, (279, 0), 683);
-            Table.States (531).Kernel := To_Vector ((0 => ((279, 0),  195,  1, 
(2147483647, 0),  0)));
-            Table.States (531).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (279, 0),  99, 683)));
-            Table.States (532).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (532), 99, (293, 0), 684);
-            Table.States (532).Kernel := To_Vector ((0 => ((293, 0),  5,  1, 
(2147483647, 0),  0)));
-            Table.States (532).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (293, 0),  99, 684)));
-            Table.States (533).Action_List.Set_Capacity (10);
-            Add_Action (Table.States (533), 7, Reduce, (157, 1),  0, null, 
null);
-            Add_Action (Table.States (533), 16, (157, 0), 576);
-            Add_Action (Table.States (533), 21, Reduce, (157, 1),  0, null, 
null);
-            Add_Action (Table.States (533), 40, Reduce, (157, 1),  0, null, 
null);
-            Add_Action (Table.States (533), 81, Reduce, (157, 1),  0, null, 
null);
-            Add_Action (Table.States (533), 85, Reduce, (157, 1),  0, null, 
null);
-            Add_Action (Table.States (533), 99, Reduce, (157, 1),  0, null, 
null);
-            Add_Action (Table.States (533), 107, Reduce, (157, 1),  0, null, 
null);
-            Add_Action (Table.States (533), 108, Reduce, (157, 1),  0, null, 
null);
-            Add_Action (Table.States (533), 109, Reduce, (157, 1),  0, null, 
null);
-            Table.States (533).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (533), 157, 685);
-            Table.States (533).Kernel := To_Vector ((((197, 0),  121,  2, 
(2147483647, 0),  0), ((197, 1),  121,  1,
-            (2147483647, 0),  0)));
-            Table.States (533).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (157, 1),  0)));
-            Table.States (534).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (534), 24, (199, 0), 686);
-            Table.States (534).Kernel := To_Vector ((0 => ((199, 0),  221,  3, 
(2147483647, 0),  0)));
-            Table.States (534).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (199, 0),  24, 686)));
-            Table.States (535).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (535), 29, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (535), 40, (249, 0), 12);
-            Add_Action (Table.States (535), 46, (249, 1), 14);
-            Add_Action (Table.States (535), 47, (250, 0), 687);
-            Add_Action (Table.States (535), 50, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (535), 51, (267, 0), 688);
-            Add_Action (Table.States (535), 66, (319, 0), 689);
-            Table.States (535).Goto_List.Set_Capacity (8);
-            Add_Goto (Table.States (535), 210, 62);
-            Add_Goto (Table.States (535), 249, 690);
-            Add_Goto (Table.States (535), 250, 79);
-            Add_Goto (Table.States (535), 265, 88);
-            Add_Goto (Table.States (535), 266, 691);
-            Add_Goto (Table.States (535), 267, 90);
-            Add_Goto (Table.States (535), 310, 106);
-            Add_Goto (Table.States (535), 319, 112);
-            Table.States (535).Kernel := To_Vector ((0 => ((318, 0),  78,  6, 
(2147483647, 0),  0)));
-            Table.States (535).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (249, 2),  0)));
-            Table.States (536).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (536), 4, (116, 0), 1);
-            Add_Action (Table.States (536), 18, (164, 0), 4);
-            Add_Action (Table.States (536), 67, (298, 1), 692);
-            Table.States (536).Goto_List.Set_Capacity (3);
-            Add_Goto (Table.States (536), 116, 693);
-            Add_Goto (Table.States (536), 163, 694);
-            Add_Goto (Table.States (536), 164, 541);
-            Table.States (536).Kernel := To_Vector ((((298, 0),  90,  3, 
(2147483647, 0),  0), ((298, 1),  90,  2,
-            (2147483647, 0),  0), ((298, 2),  90,  2, (2147483647, 0),  0)));
-            Table.States (536).Minimal_Complete_Actions := To_Vector (((Shift, 
(298, 1),  67, 692), (Shift, (164, 0),
-            18, 4)));
-            Table.States (537).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (537), (13, 17, 28, 37, 73), (134, 0),  
2, block_label_0'Access,
-            block_label_0_check'Access);
-            Table.States (537).Kernel := To_Vector ((0 => ((134, 0),  84,  0, 
(134, 0),  2)));
-            Table.States (537).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (134, 0),  2)));
-            Table.States (538).Action_List.Set_Capacity (30);
-            Add_Action (Table.States (538), (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, 81, 96, 107, 108, 109), (302, 0),  2, 
null, null);
-            Table.States (538).Kernel := To_Vector ((0 => ((302, 0),  309,  0, 
(302, 0),  2)));
-            Table.States (538).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (302, 0),  2)));
-            Table.States (539).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (539), 24, (155, 0), 695);
-            Table.States (539).Kernel := To_Vector ((0 => ((155, 0),  303,  3, 
(2147483647, 0),  0)));
-            Table.States (539).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (155, 0),  24, 695)));
-            Table.States (540).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (540), 24, (326, 0), 696);
-            Table.States (540).Kernel := To_Vector ((0 => ((326, 0),  163,  3, 
(2147483647, 0),  0)));
-            Table.States (540).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (326, 0),  24, 696)));
-            Table.States (541).Action_List.Set_Capacity (26);
-            Add_Action (Table.States (541), 4, (116, 0), 1);
-            Add_Action (Table.States (541), 5, (306, 8), 2);
-            Add_Action (Table.States (541), 13, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (541), 15, (142, 0), 3);
-            Add_Action (Table.States (541), 17, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (541), 18, (164, 0), 4);
-            Add_Action (Table.States (541), 22, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (541), 24, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (541), 27, (193, 0), 5);
-            Add_Action (Table.States (541), 28, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (541), 31, (306, 3), 9);
-            Add_Action (Table.States (541), 32, (225, 0), 10);
-            Add_Action (Table.States (541), 37, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (541), 41, (306, 0), 13);
-            Add_Action (Table.States (541), 43, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (541), 48, (260, 0), 16);
-            Add_Action (Table.States (541), 52, (279, 0), 20);
-            Add_Action (Table.States (541), 57, (293, 0), 21);
-            Add_Action (Table.States (541), 58, (199, 0), 22);
-            Add_Action (Table.States (541), 61, (129, 0), 24);
-            Add_Action (Table.States (541), 73, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (541), 81, (242, 8), 31);
-            Add_Action (Table.States (541), 96, (220, 0), 32);
-            Add_Action (Table.States (541), 107, (134, 0), 363);
-            Add_Action (Table.States (541), 108, (242, 7), 34);
-            Add_Action (Table.States (541), 109, (242, 6), 35);
-            Table.States (541).Goto_List.Set_Capacity (31);
-            Add_Goto (Table.States (541), 116, 37);
-            Add_Goto (Table.States (541), 126, 39);
-            Add_Goto (Table.States (541), 129, 40);
-            Add_Goto (Table.States (541), 131, 42);
-            Add_Goto (Table.States (541), 134, 43);
-            Add_Goto (Table.States (541), 135, 44);
-            Add_Goto (Table.States (541), 136, 45);
-            Add_Goto (Table.States (541), 142, 48);
-            Add_Goto (Table.States (541), 154, 51);
-            Add_Goto (Table.States (541), 155, 52);
-            Add_Goto (Table.States (541), 164, 54);
-            Add_Goto (Table.States (541), 193, 58);
-            Add_Goto (Table.States (541), 199, 60);
-            Add_Goto (Table.States (541), 220, 69);
-            Add_Goto (Table.States (541), 225, 71);
-            Add_Goto (Table.States (541), 235, 73);
-            Add_Goto (Table.States (541), 242, 74);
-            Add_Goto (Table.States (541), 260, 84);
-            Add_Goto (Table.States (541), 264, 87);
-            Add_Goto (Table.States (541), 275, 93);
-            Add_Goto (Table.States (541), 279, 94);
-            Add_Goto (Table.States (541), 293, 97);
-            Add_Goto (Table.States (541), 296, 98);
-            Add_Goto (Table.States (541), 297, 99);
-            Add_Goto (Table.States (541), 301, 100);
-            Add_Goto (Table.States (541), 302, 364);
-            Add_Goto (Table.States (541), 303, 697);
-            Add_Goto (Table.States (541), 305, 101);
-            Add_Goto (Table.States (541), 306, 102);
-            Add_Goto (Table.States (541), 309, 366);
-            Add_Goto (Table.States (541), 326, 115);
-            Table.States (541).Kernel := To_Vector ((0 => ((163, 0),  164,  0, 
(303, 1),  0)));
-            Table.States (541).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (303, 1),  0)));
-            Table.States (542).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (542), (22, 24, 43), (299, 0),  3, 
select_alternative_list_0'Access, null);
-            Table.States (542).Kernel := To_Vector ((0 => ((299, 0),  298,  0, 
(299, 0),  3)));
-            Table.States (542).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (299, 0),  3)));
-            Table.States (543).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (543), 24, (297, 0), 698);
-            Table.States (543).Kernel := To_Vector ((0 => ((297, 0),  303,  3, 
(2147483647, 0),  0)));
-            Table.States (543).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (297, 0),  24, 698)));
-            Table.States (544).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (544), 99, (297, 1), 699);
-            Table.States (544).Kernel := To_Vector ((0 => ((297, 1),  61,  1, 
(2147483647, 0),  0)));
-            Table.States (544).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (297, 1),  99, 699)));
-            Table.States (545).Action_List.Set_Capacity (24);
-            Add_Action (Table.States (545), 4, (116, 0), 1);
-            Add_Action (Table.States (545), 5, (306, 8), 2);
-            Add_Action (Table.States (545), 13, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (545), 15, (142, 0), 3);
-            Add_Action (Table.States (545), 17, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (545), 18, (164, 0), 4);
-            Add_Action (Table.States (545), 24, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (545), 27, (193, 0), 5);
-            Add_Action (Table.States (545), 28, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (545), 31, (306, 3), 9);
-            Add_Action (Table.States (545), 32, (225, 0), 10);
-            Add_Action (Table.States (545), 37, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (545), 41, (306, 0), 13);
-            Add_Action (Table.States (545), 48, (260, 0), 16);
-            Add_Action (Table.States (545), 52, (279, 0), 20);
-            Add_Action (Table.States (545), 57, (293, 0), 21);
-            Add_Action (Table.States (545), 58, (199, 0), 22);
-            Add_Action (Table.States (545), 61, (129, 0), 24);
-            Add_Action (Table.States (545), 73, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (545), 81, (242, 8), 31);
-            Add_Action (Table.States (545), 96, (220, 0), 32);
-            Add_Action (Table.States (545), 107, (134, 0), 363);
-            Add_Action (Table.States (545), 108, (242, 7), 34);
-            Add_Action (Table.States (545), 109, (242, 6), 35);
-            Table.States (545).Goto_List.Set_Capacity (31);
-            Add_Goto (Table.States (545), 116, 37);
-            Add_Goto (Table.States (545), 126, 39);
-            Add_Goto (Table.States (545), 129, 40);
-            Add_Goto (Table.States (545), 131, 42);
-            Add_Goto (Table.States (545), 134, 43);
-            Add_Goto (Table.States (545), 135, 44);
-            Add_Goto (Table.States (545), 136, 45);
-            Add_Goto (Table.States (545), 142, 48);
-            Add_Goto (Table.States (545), 154, 51);
-            Add_Goto (Table.States (545), 155, 52);
-            Add_Goto (Table.States (545), 164, 54);
-            Add_Goto (Table.States (545), 193, 58);
-            Add_Goto (Table.States (545), 199, 60);
-            Add_Goto (Table.States (545), 220, 69);
-            Add_Goto (Table.States (545), 225, 71);
-            Add_Goto (Table.States (545), 235, 73);
-            Add_Goto (Table.States (545), 242, 74);
-            Add_Goto (Table.States (545), 260, 84);
-            Add_Goto (Table.States (545), 264, 87);
-            Add_Goto (Table.States (545), 275, 93);
-            Add_Goto (Table.States (545), 279, 94);
-            Add_Goto (Table.States (545), 293, 97);
-            Add_Goto (Table.States (545), 296, 98);
-            Add_Goto (Table.States (545), 297, 99);
-            Add_Goto (Table.States (545), 301, 100);
-            Add_Goto (Table.States (545), 302, 364);
-            Add_Goto (Table.States (545), 303, 700);
-            Add_Goto (Table.States (545), 305, 101);
-            Add_Goto (Table.States (545), 306, 102);
-            Add_Goto (Table.States (545), 309, 366);
-            Add_Goto (Table.States (545), 326, 115);
-            Table.States (545).Kernel := To_Vector ((0 => ((129, 0),  5,  3, 
(2147483647, 0),  0)));
-            Table.States (545).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (303, 1),  0)));
-            Table.States (546).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (546), 74, (125, 0), 340);
-            Add_Action (Table.States (546), 99, Reduce, (125, 1),  0, null, 
null);
-            Table.States (546).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (546), 125, 701);
-            Table.States (546).Kernel := To_Vector ((0 => ((316, 0),  317,  1, 
(2147483647, 0),  0)));
-            Table.States (546).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (547).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (547), 60, (320, 0), 702);
-            Table.States (547).Kernel := To_Vector ((0 => ((320, 0),  35,  2, 
(2147483647, 0),  0)));
-            Table.States (547).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (320, 0),  60, 702)));
-            Table.States (548).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (548), 35, (319, 0), 703);
-            Table.States (548).Kernel := To_Vector ((0 => ((319, 0),  125,  4, 
(2147483647, 0),  0)));
-            Table.States (548).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (319, 0),  35, 703)));
-            Table.States (549).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (549), 35, Reduce, (125, 1),  0, null, 
null);
-            Add_Action (Table.States (549), 74, (125, 0), 340);
-            Add_Action (Table.States (549), 99, Reduce, (125, 1),  0, null, 
null);
-            Table.States (549).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (549), 125, 704);
-            Table.States (549).Kernel := To_Vector ((((322, 0),  172,  6, 
(2147483647, 0),  0), ((322, 1),  172,  3,
-            (2147483647, 0),  0), ((322, 2),  172,  1, (2147483647, 0),  0)));
-            Table.States (549).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (550).Action_List.Set_Capacity (18);
-            Add_Action (Table.States (550), 24, Reduce, (162, 1),  0, null, 
null);
-            Add_Action (Table.States (550), 25, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (550), 28, (124, 0), 185);
-            Add_Action (Table.States (550), 29, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (550), 30, (213, 0), 8);
-            Add_Action (Table.States (550), 39, (308, 0), 705);
-            Add_Action (Table.States (550), 40, (249, 0), 12);
-            Add_Action (Table.States (550), 46, (249, 1), 14);
-            Add_Action (Table.States (550), 47, (216, 0), 15);
-            Add_Action (Table.States (550), 48, (260, 0), 16);
-            Add_Action (Table.States (550), 49, Reduce, (162, 1),  0, null, 
null);
-            Add_Action (Table.States (550), 50, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (550), 51, (267, 0), 19);
-            Add_Action (Table.States (550), 63, (316, 0), 25);
-            Add_Action (Table.States (550), 66, (308, 0), 26);
-            Add_Action (Table.States (550), 69, (209, 0), 27);
-            Add_Action (Table.States (550), 71, (334, 0), 28);
-            Add_Action (Table.States (550), 107, (222, 1), 187);
-            Table.States (550).Goto_List.Set_Capacity (54);
-            Add_Goto (Table.States (550), 115, 36);
-            Add_Goto (Table.States (550), 124, 38);
-            Add_Goto (Table.States (550), 130, 41);
-            Add_Goto (Table.States (550), 137, 46);
-            Add_Goto (Table.States (550), 138, 47);
-            Add_Goto (Table.States (550), 160, 394);
-            Add_Goto (Table.States (550), 161, 395);
-            Add_Goto (Table.States (550), 162, 706);
-            Add_Goto (Table.States (550), 182, 55);
-            Add_Goto (Table.States (550), 185, 56);
-            Add_Goto (Table.States (550), 189, 57);
-            Add_Goto (Table.States (550), 196, 59);
-            Add_Goto (Table.States (550), 209, 61);
-            Add_Goto (Table.States (550), 210, 62);
-            Add_Goto (Table.States (550), 212, 63);
-            Add_Goto (Table.States (550), 213, 64);
-            Add_Goto (Table.States (550), 216, 65);
-            Add_Goto (Table.States (550), 217, 66);
-            Add_Goto (Table.States (550), 218, 67);
-            Add_Goto (Table.States (550), 219, 68);
-            Add_Goto (Table.States (550), 222, 70);
-            Add_Goto (Table.States (550), 226, 72);
-            Add_Goto (Table.States (550), 246, 75);
-            Add_Goto (Table.States (550), 247, 76);
-            Add_Goto (Table.States (550), 248, 77);
-            Add_Goto (Table.States (550), 249, 78);
-            Add_Goto (Table.States (550), 250, 79);
-            Add_Goto (Table.States (550), 251, 80);
-            Add_Goto (Table.States (550), 252, 81);
-            Add_Goto (Table.States (550), 253, 82);
-            Add_Goto (Table.States (550), 254, 83);
-            Add_Goto (Table.States (550), 260, 397);
-            Add_Goto (Table.States (550), 262, 85);
-            Add_Goto (Table.States (550), 263, 86);
-            Add_Goto (Table.States (550), 265, 88);
-            Add_Goto (Table.States (550), 266, 89);
-            Add_Goto (Table.States (550), 267, 90);
-            Add_Goto (Table.States (550), 268, 91);
-            Add_Goto (Table.States (550), 274, 92);
-            Add_Goto (Table.States (550), 284, 95);
-            Add_Goto (Table.States (550), 292, 96);
-            Add_Goto (Table.States (550), 307, 103);
-            Add_Goto (Table.States (550), 308, 104);
-            Add_Goto (Table.States (550), 310, 106);
-            Add_Goto (Table.States (550), 311, 107);
-            Add_Goto (Table.States (550), 312, 108);
-            Add_Goto (Table.States (550), 314, 109);
-            Add_Goto (Table.States (550), 316, 110);
-            Add_Goto (Table.States (550), 319, 112);
-            Add_Goto (Table.States (550), 320, 113);
-            Add_Goto (Table.States (550), 321, 707);
-            Add_Goto (Table.States (550), 322, 114);
-            Add_Goto (Table.States (550), 328, 116);
-            Add_Goto (Table.States (550), 334, 117);
-            Table.States (550).Kernel := To_Vector ((((308, 0),  35,  5, 
(2147483647, 0),  0), ((308, 1),  35,  2,
-            (2147483647, 0),  0)));
-            Table.States (550).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (321, 1),  0)));
-            Table.States (551).Action_List.Set_Capacity (41);
-            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, 
81, 96, 107, 108, 109, 110), (308, 2),  4,
-            single_task_declaration_2'Access, null);
-            Table.States (551).Kernel := To_Vector ((0 => ((308, 2),  99,  0, 
(308, 2),  4)));
-            Table.States (551).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (308, 2),  4)));
-            Table.States (552).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (552), 78, (172, 0), 708);
-            Table.States (552).Kernel := To_Vector ((0 => ((172, 0),  83,  1, 
(2147483647, 0),  0)));
-            Table.States (552).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (172, 0),  78, 708)));
-            Table.States (553).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (553), (78, 99), (174, 1),  1, null, 
null);
-            Table.States (553).Kernel := To_Vector ((0 => ((174, 1),  173,  0, 
(174, 1),  1)));
-            Table.States (553).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (174, 1),  1)));
-            Table.States (554).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (554), 78, (172, 1), 709);
-            Add_Action (Table.States (554), 99, (174, 0), 710);
-            Table.States (554).Kernel := To_Vector ((((172, 1),  174,  1, 
(2147483647, 0),  0), ((174, 0),  174,  1,
-            (2147483647, 0),  0)));
-            Table.States (554).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (172, 1),  78, 709)));
-            Table.States (555).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (555), 84, (173, 0), 711);
-            Add_Action (Table.States (555), 86, (222, 0), 236);
-            Table.States (555).Kernel := To_Vector ((((173, 0),  222,  3, 
(2147483647, 0),  0), ((173, 1),  222,  4,
-            (2147483647, 0),  0), ((173, 2),  222,  2, (2147483647, 0),  0), 
((173, 3),  222,  3, (2147483647, 0),  0),
-            ((222, 0),  222,  2, (2147483647, 0),  0)));
-            Table.States (555).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (173, 0),  84, 711)));
-            Table.States (556).Action_List.Set_Capacity (19);
-            Add_Action (Table.States (556), 6, (112, 0), 712);
-            Add_Action (Table.States (556), 7, Reduce, (244, 1),  0, null, 
null);
-            Add_Action (Table.States (556), 11, (123, 0), 713);
-            Add_Action (Table.States (556), 19, (329, 4), 714);
-            Add_Action (Table.States (556), 20, (329, 3), 715);
-            Add_Action (Table.States (556), 34, (231, 8), 716);
-            Add_Action (Table.States (556), 36, (112, 3), 717);
-            Add_Action (Table.States (556), 38, (329, 2), 718);
-            Add_Action (Table.States (556), 39, Reduce, (112, 5),  0, null, 
null);
-            Add_Conflict (Table.States (556), 39, (113, 3),  0, null, null);
-            Add_Action (Table.States (556), 40, (244, 0), 389);
-            Add_Action (Table.States (556), 41, Reduce, (114, 5),  0, null, 
null);
-            Add_Action (Table.States (556), 49, Reduce, (114, 5),  0, null, 
null);
-            Add_Action (Table.States (556), 51, (231, 2), 720);
-            Add_Action (Table.States (556), 53, (329, 1), 721);
-            Add_Action (Table.States (556), 54, Reduce, (114, 5),  0, null, 
null);
-            Add_Action (Table.States (556), 64, (112, 4), 723);
-            Add_Action (Table.States (556), 65, (114, 2), 724);
-            Add_Action (Table.States (556), 66, (231, 1), 725);
-            Add_Action (Table.States (556), 76, (186, 0), 726);
-            Table.States (556).Goto_List.Set_Capacity (10);
-            Add_Goto (Table.States (556), 112, 727);
-            Add_Goto (Table.States (556), 113, 728);
-            Add_Goto (Table.States (556), 114, 729);
-            Add_Goto (Table.States (556), 117, 730);
-            Add_Goto (Table.States (556), 123, 731);
-            Add_Goto (Table.States (556), 165, 732);
-            Add_Goto (Table.States (556), 186, 733);
-            Add_Goto (Table.States (556), 231, 734);
-            Add_Goto (Table.States (556), 244, 735);
-            Add_Goto (Table.States (556), 329, 736);
-            Table.States (556).Kernel := To_Vector ((((209, 0),  35,  2, 
(2147483647, 0),  0), ((226, 0),  35,  2,
-            (2147483647, 0),  0), ((262, 0),  35,  5, (2147483647, 0),  0), 
((263, 0),  35,  2, (2147483647, 0),  0)));
-            Table.States (556).Minimal_Complete_Actions := To_Vector (((Shift, 
(329, 2),  38, 718), (Shift, (114, 2),
-            65, 724), (Reduce, (114, 5),  0)));
-            Table.States (557).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (557), (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, 
81, 96, 107, 108, 109, 110), (226, 1),  4,
-            incomplete_type_declaration_1'Access, null);
-            Table.States (557).Kernel := To_Vector ((0 => ((226, 1),  99,  0, 
(226, 1),  4)));
-            Table.States (557).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (226, 1),  4)));
-            Table.States (558).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (558), 86, (241, 0), 384);
-            Add_Action (Table.States (558), 99, (334, 0), 737);
-            Table.States (558).Kernel := To_Vector ((((241, 0),  241,  2, 
(2147483647, 0),  0), ((334, 0),  241,  1,
-            (2147483647, 0),  0)));
-            Table.States (558).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (334, 0),  99, 737)));
-            Table.States (559).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (559), (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, 
81, 96, 107, 108, 109, 110), (334, 1),  4,
-            use_clause_1'Access, null);
-            Table.States (559).Kernel := To_Vector ((0 => ((334, 1),  99,  0, 
(334, 1),  4)));
-            Table.States (559).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (334, 1),  4)));
-            Table.States (560).Action_List.Set_Capacity (6);
-            Add_Action (Table.States (560), 76, (118, 0), 237);
-            Add_Action (Table.States (560), 86, Reduce, (241, 0),  3, null, 
null);
-            Add_Action (Table.States (560), 87, (296, 0), 239);
-            Add_Action (Table.States (560), 99, Reduce, (241, 0),  3, null, 
null);
-            Add_Action (Table.States (560), 104, (325, 0), 241);
-            Add_Action (Table.States (560), 105, (325, 1), 242);
-            Table.States (560).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (560), 118, 243);
-            Add_Goto (Table.States (560), 325, 244);
-            Table.States (560).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((241, 0),  242,  0,
-            (241, 0),  3), ((242, 0),  242,  5, (2147483647, 0),  0), ((242, 
1),  242,  2, (2147483647, 0),  0), ((275,
-            0),  242,  3, (2147483647, 0),  0), ((296, 0),  242,  2, 
(2147483647, 0),  0), ((296, 1),  242,  2,
-            (2147483647, 0),  0), ((296, 2),  242,  2, (2147483647, 0),  0), 
((296, 3),  242,  2, (2147483647, 0),
-            0)));
-            Table.States (560).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (241, 0),  3)));
-            Table.States (561).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (561), 81, (242, 8), 31);
-            Add_Action (Table.States (561), 107, (242, 5), 120);
-            Add_Action (Table.States (561), 108, (242, 7), 34);
-            Add_Action (Table.States (561), 109, (242, 6), 35);
-            Table.States (561).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (561), 131, 42);
-            Add_Goto (Table.States (561), 242, 738);
-            Add_Goto (Table.States (561), 275, 93);
-            Add_Goto (Table.States (561), 296, 98);
-            Table.States (561).Kernel := To_Vector ((0 => ((248, 2),  56,  2, 
(2147483647, 0),  0)));
-            Table.States (561).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (562).Action_List.Set_Capacity (12);
-            Add_Action (Table.States (562), (7, 21, 35, 56, 74, 78, 81, 85, 
99, 107, 108, 109), (244, 0),  2, null,
-            null);
-            Table.States (562).Kernel := To_Vector ((0 => ((244, 0),  41,  0, 
(244, 0),  2)));
-            Table.States (562).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (244, 0),  2)));
-            Table.States (563).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (563), 81, (242, 8), 31);
-            Add_Action (Table.States (563), 107, (242, 5), 120);
-            Add_Action (Table.States (563), 108, (242, 7), 34);
-            Add_Action (Table.States (563), 109, (242, 6), 35);
-            Table.States (563).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (563), 131, 42);
-            Add_Goto (Table.States (563), 242, 739);
-            Add_Goto (Table.States (563), 275, 93);
-            Add_Goto (Table.States (563), 296, 98);
-            Table.States (563).Kernel := To_Vector ((0 => ((248, 1),  56,  2, 
(2147483647, 0),  0)));
-            Table.States (563).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (564).Action_List.Set_Capacity (9);
-            Add_Action (Table.States (564), 9, (211, 0), 740);
-            Add_Action (Table.States (564), 16, (211, 1), 741);
-            Add_Action (Table.States (564), 29, Reduce, (273, 1),  0, null, 
null);
-            Add_Action (Table.States (564), 50, Reduce, (273, 1),  0, null, 
null);
-            Add_Action (Table.States (564), 51, (273, 0), 742);
-            Add_Action (Table.States (564), 81, Reduce, (211, 2),  0, null, 
null);
-            Add_Action (Table.States (564), 107, Reduce, (211, 2),  0, null, 
null);
-            Add_Action (Table.States (564), 108, Reduce, (211, 2),  0, null, 
null);
-            Add_Action (Table.States (564), 109, Reduce, (211, 2),  0, null, 
null);
-            Table.States (564).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (564), 211, 743);
-            Add_Goto (Table.States (564), 273, 744);
-            Table.States (564).Kernel := To_Vector ((((117, 0),  7,  1, 
(2147483647, 0),  0), ((117, 1),  7,  2,
-            (2147483647, 0),  0), ((117, 2),  7,  1, (2147483647, 0),  0)));
-            Table.States (564).Minimal_Complete_Actions := To_Vector 
(((Reduce, (273, 1),  0), (Reduce, (211, 2),
-            0)));
-            Table.States (565).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (565), 56, (248, 0), 745);
-            Add_Action (Table.States (565), 76, (118, 0), 237);
-            Add_Action (Table.States (565), 87, (296, 0), 239);
-            Add_Action (Table.States (565), 104, (325, 0), 241);
-            Add_Action (Table.States (565), 105, (325, 1), 242);
-            Table.States (565).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (565), 118, 243);
-            Add_Goto (Table.States (565), 325, 244);
-            Table.States (565).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((242, 0),  242,  5,
-            (2147483647, 0),  0), ((242, 1),  242,  2, (2147483647, 0),  0), 
((248, 0),  242,  3, (2147483647, 0),  0),
-            ((275, 0),  242,  3, (2147483647, 0),  0), ((296, 0),  242,  2, 
(2147483647, 0),  0), ((296, 1),  242,  2,
-            (2147483647, 0),  0), ((296, 2),  242,  2, (2147483647, 0),  0), 
((296, 3),  242,  2, (2147483647, 0),
-            0)));
-            Table.States (565).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (248, 0),  56, 745)));
-            Table.States (566).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (566), 99, Reduce, (223, 1),  0, null, 
null);
-            Add_Action (Table.States (566), 107, (223, 0), 151);
-            Table.States (566).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (566), 223, 746);
-            Table.States (566).Kernel := To_Vector ((0 => ((136, 1),  24,  1, 
(2147483647, 0),  0)));
-            Table.States (566).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (223, 1),  0)));
-            Table.States (567).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (567), 24, Reduce, (192, 1),  0, null, 
null);
-            Add_Action (Table.States (567), 48, (260, 0), 16);
-            Add_Action (Table.States (567), 72, (190, 0), 747);
-            Table.States (567).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (567), 190, 748);
-            Add_Goto (Table.States (567), 191, 749);
-            Add_Goto (Table.States (567), 192, 750);
-            Add_Goto (Table.States (567), 260, 751);
-            Table.States (567).Kernel := To_Vector ((0 => ((221, 0),  26,  0, 
(192, 1),  0)));
-            Table.States (567).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (192, 1),  0)));
-            Table.States (568).Action_List.Set_Capacity (18);
-            Add_Action (Table.States (568), (13, 24, 25, 28, 29, 30, 40, 46, 
47, 48, 49, 50, 51, 63, 66, 69, 71, 107),
-            (161, 0),  2, null, null);
-            Table.States (568).Kernel := To_Vector ((0 => ((161, 0),  160,  0, 
(161, 0),  2)));
-            Table.States (568).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (161, 0),  2)));
-            Table.States (569).Action_List.Set_Capacity (18);
-            Add_Action (Table.States (569), (13, 24, 25, 28, 29, 30, 40, 46, 
47, 48, 49, 50, 51, 63, 66, 69, 71, 107),
-            (161, 1),  2, null, null);
-            Table.States (569).Kernel := To_Vector ((0 => ((161, 1),  260,  0, 
(161, 1),  2)));
-            Table.States (569).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (161, 1),  2)));
-            Table.States (570).Action_List.Set_Capacity (25);
-            Add_Action (Table.States (570), 4, (116, 0), 1);
-            Add_Action (Table.States (570), 5, (306, 8), 2);
-            Add_Action (Table.States (570), 13, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (570), 15, (142, 0), 3);
-            Add_Action (Table.States (570), 17, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (570), 18, (164, 0), 4);
-            Add_Action (Table.States (570), 24, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (570), 26, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (570), 27, (193, 0), 5);
-            Add_Action (Table.States (570), 28, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (570), 31, (306, 3), 9);
-            Add_Action (Table.States (570), 32, (225, 0), 10);
-            Add_Action (Table.States (570), 37, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (570), 41, (306, 0), 13);
-            Add_Action (Table.States (570), 48, (260, 0), 16);
-            Add_Action (Table.States (570), 52, (279, 0), 20);
-            Add_Action (Table.States (570), 57, (293, 0), 21);
-            Add_Action (Table.States (570), 58, (199, 0), 22);
-            Add_Action (Table.States (570), 61, (129, 0), 24);
-            Add_Action (Table.States (570), 73, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (570), 81, (242, 8), 31);
-            Add_Action (Table.States (570), 96, (220, 0), 32);
-            Add_Action (Table.States (570), 107, (134, 0), 363);
-            Add_Action (Table.States (570), 108, (242, 7), 34);
-            Add_Action (Table.States (570), 109, (242, 6), 35);
-            Table.States (570).Goto_List.Set_Capacity (32);
-            Add_Goto (Table.States (570), 116, 37);
-            Add_Goto (Table.States (570), 126, 39);
-            Add_Goto (Table.States (570), 129, 40);
-            Add_Goto (Table.States (570), 131, 42);
-            Add_Goto (Table.States (570), 134, 43);
-            Add_Goto (Table.States (570), 135, 44);
-            Add_Goto (Table.States (570), 136, 45);
-            Add_Goto (Table.States (570), 142, 48);
-            Add_Goto (Table.States (570), 154, 51);
-            Add_Goto (Table.States (570), 155, 52);
-            Add_Goto (Table.States (570), 164, 54);
-            Add_Goto (Table.States (570), 193, 58);
-            Add_Goto (Table.States (570), 199, 60);
-            Add_Goto (Table.States (570), 220, 69);
-            Add_Goto (Table.States (570), 221, 752);
-            Add_Goto (Table.States (570), 225, 71);
-            Add_Goto (Table.States (570), 235, 73);
-            Add_Goto (Table.States (570), 242, 74);
-            Add_Goto (Table.States (570), 260, 84);
-            Add_Goto (Table.States (570), 264, 87);
-            Add_Goto (Table.States (570), 275, 93);
-            Add_Goto (Table.States (570), 279, 94);
-            Add_Goto (Table.States (570), 293, 97);
-            Add_Goto (Table.States (570), 296, 98);
-            Add_Goto (Table.States (570), 297, 99);
-            Add_Goto (Table.States (570), 301, 100);
-            Add_Goto (Table.States (570), 302, 364);
-            Add_Goto (Table.States (570), 303, 393);
-            Add_Goto (Table.States (570), 305, 101);
-            Add_Goto (Table.States (570), 306, 102);
-            Add_Goto (Table.States (570), 309, 366);
-            Add_Goto (Table.States (570), 326, 115);
-            Table.States (570).Kernel := To_Vector ((0 => ((136, 0),  13,  2, 
(2147483647, 0),  0)));
-            Table.States (570).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (221, 1),  0)));
-         end Subr_11;
-         procedure Subr_12
-         is begin
-            Table.States (571).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (571), 37, (235, 1), 753);
-            Table.States (571).Kernel := To_Vector ((0 => ((235, 1),  24,  2, 
(2147483647, 0),  0)));
-            Table.States (571).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (235, 1),  37, 753)));
-            Table.States (572).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (572), 24, (235, 0), 754);
-            Table.States (572).Kernel := To_Vector ((0 => ((235, 0),  303,  3, 
(2147483647, 0),  0)));
-            Table.States (572).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (235, 0),  24, 754)));
-            Table.States (573).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (573), (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, 
81, 96, 107, 108, 109, 110), (219, 0),  4,
-            generic_subprogram_declaration_0'Access, null);
-            Table.States (573).Kernel := To_Vector ((0 => ((219, 0),  99,  0, 
(219, 0),  4)));
-            Table.States (573).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (219, 0),  4)));
-            Table.States (574).Action_List.Set_Capacity (15);
-            Add_Action (Table.States (574), 3, (200, 2), 122);
-            Add_Action (Table.States (574), 39, (261, 4), 123);
-            Add_Action (Table.States (574), 40, (200, 3), 124);
-            Add_Action (Table.States (574), 41, (261, 1), 125);
-            Add_Action (Table.States (574), 52, (278, 0), 126);
-            Add_Action (Table.States (574), 76, (120, 0), 127);
-            Add_Action (Table.States (574), 77, (120, 5), 128);
-            Add_Action (Table.States (574), 81, (242, 8), 31);
-            Add_Action (Table.States (574), 97, (333, 1), 129);
-            Add_Action (Table.States (574), 98, (333, 0), 130);
-            Add_Action (Table.States (574), 99, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (574), 106, (261, 0), 131);
-            Add_Action (Table.States (574), 107, (242, 5), 120);
-            Add_Action (Table.States (574), 108, (242, 7), 34);
-            Add_Action (Table.States (574), 109, (242, 6), 35);
-            Table.States (574).Goto_List.Set_Capacity (20);
-            Add_Goto (Table.States (574), 120, 132);
-            Add_Goto (Table.States (574), 131, 42);
-            Add_Goto (Table.States (574), 194, 133);
-            Add_Goto (Table.States (574), 195, 755);
-            Add_Goto (Table.States (574), 200, 135);
-            Add_Goto (Table.States (574), 242, 136);
-            Add_Goto (Table.States (574), 261, 137);
-            Add_Goto (Table.States (574), 275, 93);
-            Add_Goto (Table.States (574), 278, 138);
-            Add_Goto (Table.States (574), 285, 139);
-            Add_Goto (Table.States (574), 286, 140);
-            Add_Goto (Table.States (574), 287, 141);
-            Add_Goto (Table.States (574), 288, 142);
-            Add_Goto (Table.States (574), 289, 143);
-            Add_Goto (Table.States (574), 290, 144);
-            Add_Goto (Table.States (574), 296, 98);
-            Add_Goto (Table.States (574), 304, 145);
-            Add_Goto (Table.States (574), 323, 146);
-            Add_Goto (Table.States (574), 324, 147);
-            Add_Goto (Table.States (574), 333, 148);
-            Table.States (574).Kernel := To_Vector ((0 => ((160, 9),  85,  1, 
(2147483647, 0),  0)));
-            Table.States (574).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (195, 1),  0)));
-            Table.States (575).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (575), (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, 
81, 96, 107, 108, 109, 110), (189, 0),  4,
-            exception_declaration_0'Access, null);
-            Table.States (575).Kernel := To_Vector ((0 => ((189, 0),  99,  0, 
(189, 0),  4)));
-            Table.States (575).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (189, 0),  4)));
-            Table.States (576).Action_List.Set_Capacity (11);
-            Add_Action (Table.States (576), (7, 11, 21, 40, 74, 81, 85, 99, 
107, 108, 109), (157, 0),  1, null, null);
-            Table.States (576).Kernel := To_Vector ((0 => ((157, 0),  16,  0, 
(157, 0),  1)));
-            Table.States (576).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (157, 0),  1)));
-            Table.States (577).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (577), 7, Reduce, (244, 1),  0, null, 
null);
-            Add_Action (Table.States (577), 11, (123, 0), 713);
-            Add_Action (Table.States (577), 40, (244, 0), 756);
-            Add_Action (Table.States (577), 81, (242, 8), 31);
-            Add_Action (Table.States (577), 107, (242, 5), 120);
-            Add_Action (Table.States (577), 108, (242, 7), 34);
-            Add_Action (Table.States (577), 109, (242, 6), 35);
-            Table.States (577).Goto_List.Set_Capacity (8);
-            Add_Goto (Table.States (577), 117, 757);
-            Add_Goto (Table.States (577), 123, 758);
-            Add_Goto (Table.States (577), 131, 42);
-            Add_Goto (Table.States (577), 242, 491);
-            Add_Goto (Table.States (577), 244, 735);
-            Add_Goto (Table.States (577), 275, 93);
-            Add_Goto (Table.States (577), 296, 98);
-            Add_Goto (Table.States (577), 317, 759);
-            Table.States (577).Kernel := To_Vector ((((247, 0),  157,  3, 
(2147483647, 0),  0), ((247, 1),  157,  4,
-            (2147483647, 0),  0), ((247, 2),  157,  10, (2147483647, 0),  0), 
((247, 3),  157,  2, (2147483647, 0),
-            0), ((247, 4),  157,  3, (2147483647, 0),  0), ((247, 5),  157,  
9, (2147483647, 0),  0)));
-            Table.States (577).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (578).Action_List.Set_Capacity (65);
-            Add_Action (Table.States (578), (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, 78, 79, 80, 81, 82, 85, 86, 87, 88,
-            89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 
105, 107, 108, 109), (118, 0),  3,
-            actual_parameter_part_0'Access, null);
-            Table.States (578).Kernel := To_Vector ((0 => ((118, 0),  78,  0, 
(118, 0),  3)));
-            Table.States (578).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (118, 0),  3)));
-            Table.States (579).Action_List.Set_Capacity (65);
-            Add_Action (Table.States (579), (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, 78, 79, 80, 81, 82, 85, 86, 87, 88,
-            89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 
105, 107, 108, 109), (118, 1),  3,
-            actual_parameter_part_1'Access, null);
-            Table.States (579).Kernel := To_Vector ((0 => ((118, 1),  78,  0, 
(118, 1),  3)));
-            Table.States (579).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (118, 1),  3)));
-            Table.States (580).Action_List.Set_Capacity (65);
-            Add_Action (Table.States (580), (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, 78, 79, 80, 81, 82, 85, 86, 87, 88,
-            89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 
105, 107, 108, 109), (242, 0),  4,
-            name_0'Access, null);
-            Table.States (580).Kernel := To_Vector ((0 => ((242, 0),  78,  0, 
(242, 0),  4)));
-            Table.States (580).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (242, 0),  4)));
-            Table.States (581).Action_List.Set_Capacity (13);
-            Add_Action (Table.States (581), 3, (200, 2), 122);
-            Add_Action (Table.States (581), 39, (261, 4), 123);
-            Add_Action (Table.States (581), 40, (200, 3), 124);
-            Add_Action (Table.States (581), 41, (261, 1), 125);
-            Add_Action (Table.States (581), 76, (120, 0), 127);
-            Add_Action (Table.States (581), 77, (120, 5), 128);
-            Add_Action (Table.States (581), 81, (242, 8), 31);
-            Add_Action (Table.States (581), 97, (333, 1), 129);
-            Add_Action (Table.States (581), 98, (333, 0), 130);
-            Add_Action (Table.States (581), 106, (261, 0), 131);
-            Add_Action (Table.States (581), 107, (242, 5), 120);
-            Add_Action (Table.States (581), 108, (242, 7), 34);
-            Add_Action (Table.States (581), 109, (242, 6), 35);
-            Table.States (581).Goto_List.Set_Capacity (12);
-            Add_Goto (Table.States (581), 120, 132);
-            Add_Goto (Table.States (581), 131, 42);
-            Add_Goto (Table.States (581), 200, 135);
-            Add_Goto (Table.States (581), 242, 276);
-            Add_Goto (Table.States (581), 261, 137);
-            Add_Goto (Table.States (581), 275, 93);
-            Add_Goto (Table.States (581), 280, 760);
-            Add_Goto (Table.States (581), 296, 98);
-            Add_Goto (Table.States (581), 304, 486);
-            Add_Goto (Table.States (581), 323, 146);
-            Add_Goto (Table.States (581), 324, 147);
-            Add_Goto (Table.States (581), 333, 148);
-            Table.States (581).Kernel := To_Vector ((0 => ((281, 0),  86,  3, 
(2147483647, 0),  0)));
-            Table.States (581).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (582).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (582), (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, 81, 96, 107, 108,
-            109, 110), (126, 0),  4, assignment_statement_0'Access, null);
-            Table.States (582).Kernel := To_Vector ((0 => ((126, 0),  99,  0, 
(126, 0),  4)));
-            Table.States (582).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (126, 0),  4)));
-            Table.States (583).Action_List.Set_Capacity (14);
-            Add_Action (Table.States (583), 3, (200, 2), 122);
-            Add_Action (Table.States (583), 39, (261, 4), 123);
-            Add_Action (Table.States (583), 40, (200, 3), 124);
-            Add_Action (Table.States (583), 41, (261, 1), 125);
-            Add_Action (Table.States (583), 52, (278, 0), 126);
-            Add_Action (Table.States (583), 76, (120, 0), 127);
-            Add_Action (Table.States (583), 77, (120, 5), 128);
-            Add_Action (Table.States (583), 81, (242, 8), 31);
-            Add_Action (Table.States (583), 97, (333, 1), 129);
-            Add_Action (Table.States (583), 98, (333, 0), 130);
-            Add_Action (Table.States (583), 106, (261, 0), 131);
-            Add_Action (Table.States (583), 107, (242, 5), 120);
-            Add_Action (Table.States (583), 108, (242, 7), 34);
-            Add_Action (Table.States (583), 109, (242, 6), 35);
-            Table.States (583).Goto_List.Set_Capacity (19);
-            Add_Goto (Table.States (583), 120, 132);
-            Add_Goto (Table.States (583), 131, 42);
-            Add_Goto (Table.States (583), 194, 761);
-            Add_Goto (Table.States (583), 200, 135);
-            Add_Goto (Table.States (583), 242, 136);
-            Add_Goto (Table.States (583), 261, 137);
-            Add_Goto (Table.States (583), 275, 93);
-            Add_Goto (Table.States (583), 278, 138);
-            Add_Goto (Table.States (583), 285, 139);
-            Add_Goto (Table.States (583), 286, 140);
-            Add_Goto (Table.States (583), 287, 141);
-            Add_Goto (Table.States (583), 288, 142);
-            Add_Goto (Table.States (583), 289, 143);
-            Add_Goto (Table.States (583), 290, 144);
-            Add_Goto (Table.States (583), 296, 98);
-            Add_Goto (Table.States (583), 304, 145);
-            Add_Goto (Table.States (583), 323, 146);
-            Add_Goto (Table.States (583), 324, 147);
-            Add_Goto (Table.States (583), 333, 148);
-            Table.States (583).Kernel := To_Vector ((0 => ((132, 0),  76,  2, 
(2147483647, 0),  0)));
-            Table.States (583).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (261, 0),  106, 131)));
-            Table.States (584).Action_List.Set_Capacity (15);
-            Add_Action (Table.States (584), 3, (200, 2), 122);
-            Add_Action (Table.States (584), 39, (261, 4), 123);
-            Add_Action (Table.States (584), 40, (200, 3), 481);
-            Add_Action (Table.States (584), 41, (261, 1), 125);
-            Add_Action (Table.States (584), 76, (120, 0), 127);
-            Add_Action (Table.States (584), 77, (120, 5), 128);
-            Add_Action (Table.States (584), 78, Reduce, (257, 4),  0, null, 
null);
-            Add_Action (Table.States (584), 81, (242, 8), 31);
-            Add_Action (Table.States (584), 97, (333, 1), 129);
-            Add_Action (Table.States (584), 98, (333, 0), 130);
-            Add_Action (Table.States (584), 99, Reduce, (257, 4),  0, null, 
null);
-            Add_Action (Table.States (584), 106, (261, 0), 131);
-            Add_Action (Table.States (584), 107, (222, 1), 499);
-            Add_Action (Table.States (584), 108, (242, 7), 34);
-            Add_Action (Table.States (584), 109, (242, 6), 35);
-            Table.States (584).Goto_List.Set_Capacity (17);
-            Add_Goto (Table.States (584), 120, 132);
-            Add_Goto (Table.States (584), 131, 42);
-            Add_Goto (Table.States (584), 170, 762);
-            Add_Goto (Table.States (584), 200, 135);
-            Add_Goto (Table.States (584), 222, 500);
-            Add_Goto (Table.States (584), 242, 484);
-            Add_Goto (Table.States (584), 257, 501);
-            Add_Goto (Table.States (584), 258, 502);
-            Add_Goto (Table.States (584), 261, 137);
-            Add_Goto (Table.States (584), 275, 93);
-            Add_Goto (Table.States (584), 280, 485);
-            Add_Goto (Table.States (584), 296, 98);
-            Add_Goto (Table.States (584), 304, 486);
-            Add_Goto (Table.States (584), 317, 487);
-            Add_Goto (Table.States (584), 323, 146);
-            Add_Goto (Table.States (584), 324, 147);
-            Add_Goto (Table.States (584), 333, 148);
-            Table.States (584).Kernel := To_Vector ((((182, 0),  76,  3, 
(2147483647, 0),  0), ((202, 0),  76,  1,
-            (2147483647, 0),  0)));
-            Table.States (584).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (258, 1),  0)));
-            Table.States (585).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (585), 74, (125, 0), 340);
-            Add_Action (Table.States (585), 99, Reduce, (125, 1),  0, null, 
null);
-            Table.States (585).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (585), 125, 763);
-            Table.States (585).Kernel := To_Vector ((0 => ((182, 1),  256,  1, 
(2147483647, 0),  0)));
-            Table.States (585).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (586).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (586), 39, (216, 2), 764);
-            Table.States (586).Kernel := To_Vector ((0 => ((216, 2),  35,  3, 
(2147483647, 0),  0)));
-            Table.States (586).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (216, 2),  39, 764)));
-            Table.States (587).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (587), 39, (216, 1), 765);
-            Table.States (587).Kernel := To_Vector ((0 => ((216, 1),  35,  3, 
(2147483647, 0),  0)));
-            Table.States (587).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (216, 1),  39, 765)));
-            Table.States (588).Action_List.Set_Capacity (23);
-            Add_Action (Table.States (588), 3, (200, 2), 122);
-            Add_Action (Table.States (588), 15, (139, 0), 260);
-            Add_Action (Table.States (588), 28, (127, 6), 261);
-            Add_Action (Table.States (588), 32, (224, 0), 262);
-            Add_Action (Table.States (588), 39, (261, 4), 123);
-            Add_Action (Table.States (588), 40, (168, 1), 263);
-            Add_Action (Table.States (588), 41, (120, 1), 264);
-            Add_Action (Table.States (588), 44, (168, 3), 265);
-            Add_Action (Table.States (588), 52, (278, 0), 126);
-            Add_Action (Table.States (588), 74, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (588), 76, (120, 0), 127);
-            Add_Action (Table.States (588), 77, (120, 5), 128);
-            Add_Action (Table.States (588), 78, Reduce, (127, 5),  0, null, 
null);
-            Add_Conflict (Table.States (588), 78, (195, 1),  0, null, null);
-            Add_Action (Table.States (588), 81, (242, 8), 31);
-            Add_Action (Table.States (588), 82, Reduce, (169, 2),  0, null, 
null);
-            Add_Action (Table.States (588), 86, Reduce, (127, 5),  0, null, 
null);
-            Add_Action (Table.States (588), 90, Reduce, (169, 2),  0, null, 
null);
-            Add_Action (Table.States (588), 97, (333, 1), 129);
-            Add_Action (Table.States (588), 98, (333, 0), 130);
-            Add_Action (Table.States (588), 106, (261, 0), 131);
-            Add_Action (Table.States (588), 107, (242, 5), 120);
-            Add_Action (Table.States (588), 108, (242, 7), 34);
-            Add_Action (Table.States (588), 109, (127, 0), 266);
-            Table.States (588).Goto_List.Set_Capacity (29);
-            Add_Goto (Table.States (588), 120, 132);
-            Add_Goto (Table.States (588), 127, 267);
-            Add_Goto (Table.States (588), 128, 268);
-            Add_Goto (Table.States (588), 131, 42);
-            Add_Goto (Table.States (588), 139, 269);
-            Add_Goto (Table.States (588), 156, 270);
-            Add_Goto (Table.States (588), 168, 271);
-            Add_Goto (Table.States (588), 169, 272);
-            Add_Goto (Table.States (588), 194, 273);
-            Add_Goto (Table.States (588), 195, 766);
-            Add_Goto (Table.States (588), 200, 135);
-            Add_Goto (Table.States (588), 224, 275);
-            Add_Goto (Table.States (588), 242, 276);
-            Add_Goto (Table.States (588), 261, 137);
-            Add_Goto (Table.States (588), 275, 93);
-            Add_Goto (Table.States (588), 276, 277);
-            Add_Goto (Table.States (588), 278, 138);
-            Add_Goto (Table.States (588), 280, 278);
-            Add_Goto (Table.States (588), 285, 139);
-            Add_Goto (Table.States (588), 286, 140);
-            Add_Goto (Table.States (588), 287, 141);
-            Add_Goto (Table.States (588), 288, 142);
-            Add_Goto (Table.States (588), 289, 143);
-            Add_Goto (Table.States (588), 290, 144);
-            Add_Goto (Table.States (588), 296, 98);
-            Add_Goto (Table.States (588), 304, 279);
-            Add_Goto (Table.States (588), 323, 146);
-            Add_Goto (Table.States (588), 324, 147);
-            Add_Goto (Table.States (588), 333, 148);
-            Table.States (588).Kernel := To_Vector ((((120, 0),  76,  1, 
(2147483647, 0),  0), ((120, 1),  76,  3,
-            (2147483647, 0),  0), ((120, 2),  76,  4, (2147483647, 0),  0), 
((120, 3),  76,  2, (2147483647, 0),  0),
-            ((120, 4),  76,  4, (2147483647, 0),  0), ((120, 6),  76,  3, 
(2147483647, 0),  0), ((259, 0),  76,  1,
-            (2147483647, 0),  0)));
-            Table.States (588).Minimal_Complete_Actions := To_Vector 
(((Reduce, (128, 1),  0), (Reduce, (195, 1),
-            0)));
-            Table.States (589).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (589), (74, 99), (259, 1),  1, null, 
null);
-            Table.States (589).Kernel := To_Vector ((0 => ((259, 1),  120,  0, 
(259, 1),  1)));
-            Table.States (589).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (259, 1),  1)));
-            Table.States (590).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (590), 74, (125, 0), 340);
-            Add_Action (Table.States (590), 99, Reduce, (125, 1),  0, null, 
null);
-            Table.States (590).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (590), 125, 767);
-            Table.States (590).Kernel := To_Vector ((0 => ((196, 0),  259,  1, 
(2147483647, 0),  0)));
-            Table.States (590).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (591).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (591), 74, (125, 0), 340);
-            Add_Action (Table.States (591), 99, Reduce, (125, 1),  0, null, 
null);
-            Table.States (591).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (591), 125, 768);
-            Table.States (591).Kernel := To_Vector ((0 => ((246, 0),  41,  1, 
(2147483647, 0),  0)));
-            Table.States (591).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (592).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (592), 74, (125, 0), 340);
-            Add_Action (Table.States (592), 99, Reduce, (125, 1),  0, null, 
null);
-            Table.States (592).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (592), 125, 769);
-            Table.States (592).Kernel := To_Vector ((0 => ((115, 0),  6,  1, 
(2147483647, 0),  0)));
-            Table.States (592).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (593).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (593), 74, (125, 0), 340);
-            Add_Action (Table.States (593), 99, Reduce, (125, 1),  0, null, 
null);
-            Table.States (593).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (593), 125, 770);
-            Table.States (593).Kernel := To_Vector ((0 => ((311, 0),  60,  1, 
(2147483647, 0),  0)));
-            Table.States (593).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (594).Action_List.Set_Capacity (6);
-            Add_Action (Table.States (594), 74, (125, 0), 340);
-            Add_Action (Table.States (594), 76, (118, 0), 237);
-            Add_Action (Table.States (594), 87, (296, 0), 239);
-            Add_Action (Table.States (594), 99, Reduce, (125, 1),  0, null, 
null);
-            Add_Action (Table.States (594), 104, (325, 0), 241);
-            Add_Action (Table.States (594), 105, (325, 1), 242);
-            Table.States (594).Goto_List.Set_Capacity (3);
-            Add_Goto (Table.States (594), 118, 243);
-            Add_Goto (Table.States (594), 125, 771);
-            Add_Goto (Table.States (594), 325, 244);
-            Table.States (594).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((242, 0),  242,  5,
-            (2147483647, 0),  0), ((242, 1),  242,  2, (2147483647, 0),  0), 
((275, 0),  242,  3, (2147483647, 0),  0),
-            ((296, 0),  242,  2, (2147483647, 0),  0), ((296, 1),  242,  2, 
(2147483647, 0),  0), ((296, 2),  242,  2,
-            (2147483647, 0),  0), ((296, 3),  242,  2, (2147483647, 0),  0), 
((314, 0),  242,  1, (2147483647, 0),
-            0)));
-            Table.States (594).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (595).Action_List.Set_Capacity (16);
-            Add_Action (Table.States (595), 13, Reduce, (162, 1),  0, null, 
null);
-            Add_Action (Table.States (595), 25, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (595), 28, (124, 0), 185);
-            Add_Action (Table.States (595), 29, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (595), 30, (213, 0), 8);
-            Add_Action (Table.States (595), 40, (249, 0), 12);
-            Add_Action (Table.States (595), 46, (249, 1), 14);
-            Add_Action (Table.States (595), 47, (216, 0), 15);
-            Add_Action (Table.States (595), 48, (260, 0), 16);
-            Add_Action (Table.States (595), 50, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (595), 51, (267, 0), 19);
-            Add_Action (Table.States (595), 63, (316, 0), 25);
-            Add_Action (Table.States (595), 66, (308, 0), 26);
-            Add_Action (Table.States (595), 69, (209, 0), 27);
-            Add_Action (Table.States (595), 71, (334, 0), 28);
-            Add_Action (Table.States (595), 107, (222, 1), 187);
-            Table.States (595).Goto_List.Set_Capacity (53);
-            Add_Goto (Table.States (595), 115, 36);
-            Add_Goto (Table.States (595), 124, 38);
-            Add_Goto (Table.States (595), 130, 41);
-            Add_Goto (Table.States (595), 137, 46);
-            Add_Goto (Table.States (595), 138, 47);
-            Add_Goto (Table.States (595), 160, 394);
-            Add_Goto (Table.States (595), 161, 395);
-            Add_Goto (Table.States (595), 162, 772);
-            Add_Goto (Table.States (595), 182, 55);
-            Add_Goto (Table.States (595), 185, 56);
-            Add_Goto (Table.States (595), 189, 57);
-            Add_Goto (Table.States (595), 196, 59);
-            Add_Goto (Table.States (595), 209, 61);
-            Add_Goto (Table.States (595), 210, 62);
-            Add_Goto (Table.States (595), 212, 63);
-            Add_Goto (Table.States (595), 213, 64);
-            Add_Goto (Table.States (595), 216, 65);
-            Add_Goto (Table.States (595), 217, 66);
-            Add_Goto (Table.States (595), 218, 67);
-            Add_Goto (Table.States (595), 219, 68);
-            Add_Goto (Table.States (595), 222, 70);
-            Add_Goto (Table.States (595), 226, 72);
-            Add_Goto (Table.States (595), 246, 75);
-            Add_Goto (Table.States (595), 247, 76);
-            Add_Goto (Table.States (595), 248, 77);
-            Add_Goto (Table.States (595), 249, 78);
-            Add_Goto (Table.States (595), 250, 79);
-            Add_Goto (Table.States (595), 251, 80);
-            Add_Goto (Table.States (595), 252, 81);
-            Add_Goto (Table.States (595), 253, 82);
-            Add_Goto (Table.States (595), 254, 83);
-            Add_Goto (Table.States (595), 260, 397);
-            Add_Goto (Table.States (595), 262, 85);
-            Add_Goto (Table.States (595), 263, 86);
-            Add_Goto (Table.States (595), 265, 88);
-            Add_Goto (Table.States (595), 266, 89);
-            Add_Goto (Table.States (595), 267, 90);
-            Add_Goto (Table.States (595), 268, 91);
-            Add_Goto (Table.States (595), 274, 92);
-            Add_Goto (Table.States (595), 284, 95);
-            Add_Goto (Table.States (595), 292, 96);
-            Add_Goto (Table.States (595), 307, 103);
-            Add_Goto (Table.States (595), 308, 104);
-            Add_Goto (Table.States (595), 310, 106);
-            Add_Goto (Table.States (595), 311, 107);
-            Add_Goto (Table.States (595), 312, 108);
-            Add_Goto (Table.States (595), 314, 109);
-            Add_Goto (Table.States (595), 316, 110);
-            Add_Goto (Table.States (595), 319, 112);
-            Add_Goto (Table.States (595), 320, 113);
-            Add_Goto (Table.States (595), 322, 114);
-            Add_Goto (Table.States (595), 328, 116);
-            Add_Goto (Table.States (595), 334, 117);
-            Table.States (595).Kernel := To_Vector ((0 => ((310, 0),  35,  3, 
(2147483647, 0),  0)));
-            Table.States (595).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (162, 1),  0)));
-            Table.States (596).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (596), (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, 
81, 96, 107, 108, 109, 110), (312, 0),  4,
-            subprogram_declaration_0'Access, null);
-            Table.States (596).Kernel := To_Vector ((0 => ((312, 0),  99,  0, 
(312, 0),  4)));
-            Table.States (596).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (312, 0),  4)));
-            Table.States (597).Action_List.Set_Capacity (25);
-            Add_Action (Table.States (597), 4, (116, 0), 1);
-            Add_Action (Table.States (597), 5, (306, 8), 2);
-            Add_Action (Table.States (597), 13, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (597), 15, (142, 0), 3);
-            Add_Action (Table.States (597), 17, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (597), 18, (164, 0), 4);
-            Add_Action (Table.States (597), 24, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (597), 26, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (597), 27, (193, 0), 5);
-            Add_Action (Table.States (597), 28, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (597), 31, (306, 3), 9);
-            Add_Action (Table.States (597), 32, (225, 0), 10);
-            Add_Action (Table.States (597), 37, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (597), 41, (306, 0), 13);
-            Add_Action (Table.States (597), 48, (260, 0), 16);
-            Add_Action (Table.States (597), 52, (279, 0), 20);
-            Add_Action (Table.States (597), 57, (293, 0), 21);
-            Add_Action (Table.States (597), 58, (199, 0), 22);
-            Add_Action (Table.States (597), 61, (129, 0), 24);
-            Add_Action (Table.States (597), 73, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (597), 81, (242, 8), 31);
-            Add_Action (Table.States (597), 96, (220, 0), 32);
-            Add_Action (Table.States (597), 107, (134, 0), 363);
-            Add_Action (Table.States (597), 108, (242, 7), 34);
-            Add_Action (Table.States (597), 109, (242, 6), 35);
-            Table.States (597).Goto_List.Set_Capacity (32);
-            Add_Goto (Table.States (597), 116, 37);
-            Add_Goto (Table.States (597), 126, 39);
-            Add_Goto (Table.States (597), 129, 40);
-            Add_Goto (Table.States (597), 131, 42);
-            Add_Goto (Table.States (597), 134, 43);
-            Add_Goto (Table.States (597), 135, 44);
-            Add_Goto (Table.States (597), 136, 45);
-            Add_Goto (Table.States (597), 142, 48);
-            Add_Goto (Table.States (597), 154, 51);
-            Add_Goto (Table.States (597), 155, 52);
-            Add_Goto (Table.States (597), 164, 54);
-            Add_Goto (Table.States (597), 193, 58);
-            Add_Goto (Table.States (597), 199, 60);
-            Add_Goto (Table.States (597), 220, 69);
-            Add_Goto (Table.States (597), 221, 773);
-            Add_Goto (Table.States (597), 225, 71);
-            Add_Goto (Table.States (597), 235, 73);
-            Add_Goto (Table.States (597), 242, 74);
-            Add_Goto (Table.States (597), 260, 84);
-            Add_Goto (Table.States (597), 264, 87);
-            Add_Goto (Table.States (597), 275, 93);
-            Add_Goto (Table.States (597), 279, 94);
-            Add_Goto (Table.States (597), 293, 97);
-            Add_Goto (Table.States (597), 296, 98);
-            Add_Goto (Table.States (597), 297, 99);
-            Add_Goto (Table.States (597), 301, 100);
-            Add_Goto (Table.States (597), 302, 364);
-            Add_Goto (Table.States (597), 303, 393);
-            Add_Goto (Table.States (597), 305, 101);
-            Add_Goto (Table.States (597), 306, 102);
-            Add_Goto (Table.States (597), 309, 366);
-            Add_Goto (Table.States (597), 326, 115);
-            Table.States (597).Kernel := To_Vector ((0 => ((116, 0),  21,  2, 
(2147483647, 0),  0)));
-            Table.States (597).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (221, 1),  0)));
-            Table.States (598).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (598), (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, 81, 96, 107, 108,
-            109, 110), (116, 1),  5, accept_statement_1'Access, null);
-            Table.States (598).Kernel := To_Vector ((0 => ((116, 1),  99,  0, 
(116, 1),  5)));
-            Table.States (598).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (116, 1),  5)));
-            Table.States (599).Action_List.Set_Capacity (18);
-            Add_Action (Table.States (599), (10, 20, 21, 22, 23, 35, 37, 43, 
53, 68, 74, 75, 78, 79, 82, 86, 90, 99),
-            (278, 0),  4, raise_expression_0'Access, null);
-            Table.States (599).Kernel := To_Vector ((0 => ((278, 0),  195,  0, 
(278, 0),  4)));
-            Table.States (599).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (278, 0),  4)));
-            Table.States (600).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (600), 72, (140, 0), 774);
-            Table.States (600).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (600), 140, 775);
-            Add_Goto (Table.States (600), 141, 776);
-            Table.States (600).Kernel := To_Vector ((0 => ((139, 0),  35,  2, 
(2147483647, 0),  0)));
-            Table.States (600).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (140, 0),  72, 774)));
-            Table.States (601).Action_List.Set_Capacity (18);
-            Add_Action (Table.States (601), 3, (200, 2), 122);
-            Add_Action (Table.States (601), 39, (261, 4), 123);
-            Add_Action (Table.States (601), 40, (168, 1), 777);
-            Add_Action (Table.States (601), 41, (261, 1), 125);
-            Add_Action (Table.States (601), 44, (168, 3), 265);
-            Add_Action (Table.States (601), 52, (278, 0), 126);
-            Add_Action (Table.States (601), 59, (233, 2), 482);
-            Add_Action (Table.States (601), 76, (120, 0), 127);
-            Add_Action (Table.States (601), 77, (120, 5), 128);
-            Add_Action (Table.States (601), 81, (242, 8), 31);
-            Add_Action (Table.States (601), 82, Reduce, (169, 2),  0, null, 
null);
-            Add_Action (Table.States (601), 90, Reduce, (169, 2),  0, null, 
null);
-            Add_Action (Table.States (601), 97, (333, 1), 129);
-            Add_Action (Table.States (601), 98, (333, 0), 130);
-            Add_Action (Table.States (601), 106, (261, 0), 131);
-            Add_Action (Table.States (601), 107, (242, 5), 120);
-            Add_Action (Table.States (601), 108, (242, 7), 34);
-            Add_Action (Table.States (601), 109, (242, 6), 35);
-            Table.States (601).Goto_List.Set_Capacity (24);
-            Add_Goto (Table.States (601), 120, 132);
-            Add_Goto (Table.States (601), 131, 42);
-            Add_Goto (Table.States (601), 168, 271);
-            Add_Goto (Table.States (601), 169, 778);
-            Add_Goto (Table.States (601), 170, 483);
-            Add_Goto (Table.States (601), 194, 611);
-            Add_Goto (Table.States (601), 200, 135);
-            Add_Goto (Table.States (601), 242, 484);
-            Add_Goto (Table.States (601), 261, 137);
-            Add_Goto (Table.States (601), 275, 93);
-            Add_Goto (Table.States (601), 278, 138);
-            Add_Goto (Table.States (601), 280, 779);
-            Add_Goto (Table.States (601), 285, 139);
-            Add_Goto (Table.States (601), 286, 140);
-            Add_Goto (Table.States (601), 287, 141);
-            Add_Goto (Table.States (601), 288, 142);
-            Add_Goto (Table.States (601), 289, 143);
-            Add_Goto (Table.States (601), 290, 144);
-            Add_Goto (Table.States (601), 296, 98);
-            Add_Goto (Table.States (601), 304, 279);
-            Add_Goto (Table.States (601), 317, 487);
-            Add_Goto (Table.States (601), 323, 146);
-            Add_Goto (Table.States (601), 324, 147);
-            Add_Goto (Table.States (601), 333, 148);
-            Table.States (601).Kernel := To_Vector ((((127, 6),  33,  2, 
(2147483647, 0),  0), ((233, 2),  33,  2,
-            (2147483647, 0),  0), ((233, 5),  33,  1, (2147483647, 0),  0)));
-            Table.States (601).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (602).Action_List.Set_Capacity (14);
-            Add_Action (Table.States (602), 3, (200, 2), 122);
-            Add_Action (Table.States (602), 39, (261, 4), 123);
-            Add_Action (Table.States (602), 40, (200, 3), 124);
-            Add_Action (Table.States (602), 41, (261, 1), 125);
-            Add_Action (Table.States (602), 52, (278, 0), 126);
-            Add_Action (Table.States (602), 76, (120, 0), 127);
-            Add_Action (Table.States (602), 77, (120, 5), 128);
-            Add_Action (Table.States (602), 81, (242, 8), 31);
-            Add_Action (Table.States (602), 97, (333, 1), 129);
-            Add_Action (Table.States (602), 98, (333, 0), 130);
-            Add_Action (Table.States (602), 106, (261, 0), 131);
-            Add_Action (Table.States (602), 107, (242, 5), 120);
-            Add_Action (Table.States (602), 108, (242, 7), 34);
-            Add_Action (Table.States (602), 109, (242, 6), 35);
-            Table.States (602).Goto_List.Set_Capacity (19);
-            Add_Goto (Table.States (602), 120, 132);
-            Add_Goto (Table.States (602), 131, 42);
-            Add_Goto (Table.States (602), 194, 780);
-            Add_Goto (Table.States (602), 200, 135);
-            Add_Goto (Table.States (602), 242, 136);
-            Add_Goto (Table.States (602), 261, 137);
-            Add_Goto (Table.States (602), 275, 93);
-            Add_Goto (Table.States (602), 278, 138);
-            Add_Goto (Table.States (602), 285, 139);
-            Add_Goto (Table.States (602), 286, 140);
-            Add_Goto (Table.States (602), 287, 141);
-            Add_Goto (Table.States (602), 288, 142);
-            Add_Goto (Table.States (602), 289, 143);
-            Add_Goto (Table.States (602), 290, 144);
-            Add_Goto (Table.States (602), 296, 98);
-            Add_Goto (Table.States (602), 304, 145);
-            Add_Goto (Table.States (602), 323, 146);
-            Add_Goto (Table.States (602), 324, 147);
-            Add_Goto (Table.States (602), 333, 148);
-            Table.States (602).Kernel := To_Vector ((0 => ((127, 7),  90,  1, 
(2147483647, 0),  0)));
-            Table.States (602).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (261, 0),  106, 131)));
-            Table.States (603).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (603), 90, (276, 0), 781);
-            Table.States (603).Kernel := To_Vector ((0 => ((276, 0),  233,  1, 
(2147483647, 0),  0)));
-            Table.States (603).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (276, 0),  90, 781)));
-            Table.States (604).Action_List.Set_Capacity (17);
-            Add_Action (Table.States (604), 3, (200, 2), 122);
-            Add_Action (Table.States (604), 22, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (604), 23, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (604), 39, (261, 4), 123);
-            Add_Action (Table.States (604), 40, (200, 3), 124);
-            Add_Action (Table.States (604), 41, (261, 1), 125);
-            Add_Action (Table.States (604), 52, (278, 0), 126);
-            Add_Action (Table.States (604), 76, (120, 0), 127);
-            Add_Action (Table.States (604), 77, (120, 5), 128);
-            Add_Action (Table.States (604), 78, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (604), 81, (242, 8), 31);
-            Add_Action (Table.States (604), 97, (333, 1), 129);
-            Add_Action (Table.States (604), 98, (333, 0), 130);
-            Add_Action (Table.States (604), 106, (261, 0), 131);
-            Add_Action (Table.States (604), 107, (242, 5), 120);
-            Add_Action (Table.States (604), 108, (242, 7), 34);
-            Add_Action (Table.States (604), 109, (242, 6), 35);
-            Table.States (604).Goto_List.Set_Capacity (20);
-            Add_Goto (Table.States (604), 120, 132);
-            Add_Goto (Table.States (604), 131, 42);
-            Add_Goto (Table.States (604), 194, 133);
-            Add_Goto (Table.States (604), 195, 782);
-            Add_Goto (Table.States (604), 200, 135);
-            Add_Goto (Table.States (604), 242, 136);
-            Add_Goto (Table.States (604), 261, 137);
-            Add_Goto (Table.States (604), 275, 93);
-            Add_Goto (Table.States (604), 278, 138);
-            Add_Goto (Table.States (604), 285, 139);
-            Add_Goto (Table.States (604), 286, 140);
-            Add_Goto (Table.States (604), 287, 141);
-            Add_Goto (Table.States (604), 288, 142);
-            Add_Goto (Table.States (604), 289, 143);
-            Add_Goto (Table.States (604), 290, 144);
-            Add_Goto (Table.States (604), 296, 98);
-            Add_Goto (Table.States (604), 304, 145);
-            Add_Goto (Table.States (604), 323, 146);
-            Add_Goto (Table.States (604), 324, 147);
-            Add_Goto (Table.States (604), 333, 148);
-            Table.States (604).Kernel := To_Vector ((((224, 0),  68,  3, 
(2147483647, 0),  0), ((224, 1),  68,  1,
-            (2147483647, 0),  0), ((224, 2),  68,  2, (2147483647, 0),  0), 
((224, 3),  68,  0, (195, 1),  0)));
-            Table.States (604).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (195, 1),  0)));
-            Table.States (605).Action_List.Set_Capacity (6);
-            Add_Action (Table.States (605), 76, (118, 0), 237);
-            Add_Action (Table.States (605), 82, Reduce, (168, 1),  3, null, 
null);
-            Add_Action (Table.States (605), 87, (296, 0), 239);
-            Add_Action (Table.States (605), 90, Reduce, (168, 1),  3, null, 
null);
-            Add_Action (Table.States (605), 104, (325, 0), 241);
-            Add_Action (Table.States (605), 105, (325, 1), 242);
-            Table.States (605).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (605), 118, 243);
-            Add_Goto (Table.States (605), 325, 244);
-            Table.States (605).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((168, 1),  242,  0,
-            (168, 1),  3), ((242, 0),  242,  5, (2147483647, 0),  0), ((242, 
1),  242,  2, (2147483647, 0),  0), ((275,
-            0),  242,  3, (2147483647, 0),  0), ((296, 0),  242,  2, 
(2147483647, 0),  0), ((296, 1),  242,  2,
-            (2147483647, 0),  0), ((296, 2),  242,  2, (2147483647, 0),  0), 
((296, 3),  242,  2, (2147483647, 0),
-            0)));
-            Table.States (605).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (168, 1),  3)));
-            Table.States (606).Action_List.Set_Capacity (65);
-            Add_Action (Table.States (606), (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, 78, 79, 80, 81, 82, 85, 86, 87, 88,
-            89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 
105, 107, 108, 109), (120, 1),  4, null,
-            null);
-            Table.States (606).Kernel := To_Vector ((0 => ((120, 1),  78,  0, 
(120, 1),  4)));
-            Table.States (606).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (120, 1),  4)));
-            Table.States (607).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (607), (35, 78, 79, 86, 99), (127, 1),  
3, null, null);
-            Table.States (607).Kernel := To_Vector ((0 => ((127, 1),  83,  0, 
(127, 1),  3)));
-            Table.States (607).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (127, 1),  3)));
-            Table.States (608).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (608), (35, 78, 79, 86, 99), (127, 0),  
3, association_opt_0'Access, null);
-            Table.States (608).Kernel := To_Vector ((0 => ((127, 0),  195,  0, 
(127, 0),  3)));
-            Table.States (608).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (127, 0),  3)));
-            Table.States (609).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (609), (35, 78, 79, 86, 99), (128, 0),  
3, null, null);
-            Table.States (609).Kernel := To_Vector ((0 => ((128, 0),  127,  0, 
(128, 0),  3)));
-            Table.States (609).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (128, 0),  3)));
-            Table.States (610).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (610), (82, 90), (169, 0),  3, null, 
null);
-            Table.States (610).Kernel := To_Vector ((0 => ((169, 0),  168,  0, 
(169, 0),  3)));
-            Table.States (610).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (169, 0),  3)));
-            Table.States (611).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (611), (82, 90), (168, 0),  1, null, 
null);
-            Table.States (611).Kernel := To_Vector ((0 => ((168, 0),  194,  0, 
(168, 0),  1)));
-            Table.States (611).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (168, 0),  1)));
-            Table.States (612).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (612), (35, 78, 79, 86, 99), (127, 3),  
3, association_opt_3'Access, null);
-            Table.States (612).Kernel := To_Vector ((0 => ((127, 3),  83,  0, 
(127, 3),  3)));
-            Table.States (612).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (127, 3),  3)));
-            Table.States (613).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (613), (35, 78, 79, 86, 99), (127, 2),  
3, association_opt_2'Access, null);
-            Table.States (613).Kernel := To_Vector ((0 => ((127, 2),  195,  0, 
(127, 2),  3)));
-            Table.States (613).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (127, 2),  3)));
-            Table.States (614).Action_List.Set_Capacity (20);
-            Add_Action (Table.States (614), 3, (200, 2), 122);
-            Add_Action (Table.States (614), 28, (127, 6), 521);
-            Add_Action (Table.States (614), 39, (261, 4), 123);
-            Add_Action (Table.States (614), 40, (168, 1), 263);
-            Add_Action (Table.States (614), 41, (261, 1), 125);
-            Add_Action (Table.States (614), 44, (168, 3), 265);
-            Add_Action (Table.States (614), 52, (278, 0), 126);
-            Add_Action (Table.States (614), 76, (120, 0), 127);
-            Add_Action (Table.States (614), 77, (120, 5), 128);
-            Add_Action (Table.States (614), 78, Reduce, (127, 5),  0, null, 
null);
-            Add_Action (Table.States (614), 81, (242, 8), 31);
-            Add_Action (Table.States (614), 82, Reduce, (169, 2),  0, null, 
null);
-            Add_Action (Table.States (614), 86, Reduce, (127, 5),  0, null, 
null);
-            Add_Action (Table.States (614), 90, Reduce, (169, 2),  0, null, 
null);
-            Add_Action (Table.States (614), 97, (333, 1), 129);
-            Add_Action (Table.States (614), 98, (333, 0), 130);
-            Add_Action (Table.States (614), 106, (261, 0), 131);
-            Add_Action (Table.States (614), 107, (242, 5), 120);
-            Add_Action (Table.States (614), 108, (242, 7), 34);
-            Add_Action (Table.States (614), 109, (127, 0), 266);
-            Table.States (614).Goto_List.Set_Capacity (24);
-            Add_Goto (Table.States (614), 120, 132);
-            Add_Goto (Table.States (614), 127, 267);
-            Add_Goto (Table.States (614), 128, 783);
-            Add_Goto (Table.States (614), 131, 42);
-            Add_Goto (Table.States (614), 168, 271);
-            Add_Goto (Table.States (614), 169, 272);
-            Add_Goto (Table.States (614), 194, 411);
-            Add_Goto (Table.States (614), 200, 135);
-            Add_Goto (Table.States (614), 242, 276);
-            Add_Goto (Table.States (614), 261, 137);
-            Add_Goto (Table.States (614), 275, 93);
-            Add_Goto (Table.States (614), 278, 138);
-            Add_Goto (Table.States (614), 280, 278);
-            Add_Goto (Table.States (614), 285, 139);
-            Add_Goto (Table.States (614), 286, 140);
-            Add_Goto (Table.States (614), 287, 141);
-            Add_Goto (Table.States (614), 288, 142);
-            Add_Goto (Table.States (614), 289, 143);
-            Add_Goto (Table.States (614), 290, 144);
-            Add_Goto (Table.States (614), 296, 98);
-            Add_Goto (Table.States (614), 304, 279);
-            Add_Goto (Table.States (614), 323, 146);
-            Add_Goto (Table.States (614), 324, 147);
-            Add_Goto (Table.States (614), 333, 148);
-            Table.States (614).Kernel := To_Vector ((0 => ((120, 4),  19,  1, 
(2147483647, 0),  0)));
-            Table.States (614).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (128, 1),  0)));
-            Table.States (615).Action_List.Set_Capacity (25);
-            Add_Action (Table.States (615), 10, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (615), 33, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (615), 38, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (615), 40, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (615), 43, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (615), 54, (120, 2), 784);
-            Add_Action (Table.States (615), 55, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (615), 75, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (615), 78, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (615), 80, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (615), 82, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (615), 86, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (615), 88, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (615), 89, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (615), 90, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (615), 91, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (615), 92, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (615), 94, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (615), 95, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (615), 97, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (615), 98, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (615), 100, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (615), 101, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (615), 102, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (615), 103, Reduce, (261, 1),  1, null, 
null);
-            Table.States (615).Kernel := To_Vector ((((120, 2),  41,  2, 
(2147483647, 0),  0), ((261, 1),  41,  0,
-            (261, 1),  1)));
-            Table.States (615).Minimal_Complete_Actions := To_Vector (((Shift, 
(120, 2),  54, 784), (Reduce, (261, 1),
-            1)));
-         end Subr_12;
-         procedure Subr_13
-         is begin
-            Table.States (616).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (616), 78, (120, 3), 785);
-            Add_Action (Table.States (616), 86, (128, 0), 448);
-            Table.States (616).Kernel := To_Vector ((((120, 3),  128,  1, 
(2147483647, 0),  0), ((128, 0),  128,  1,
-            (2147483647, 0),  0)));
-            Table.States (616).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (120, 3),  78, 785)));
-            Table.States (617).Action_List.Set_Capacity (21);
-            Add_Action (Table.States (617), 10, Reduce, (280, 1),  3, null, 
null);
-            Add_Action (Table.States (617), 20, Reduce, (280, 1),  3, null, 
null);
-            Add_Action (Table.States (617), 21, Reduce, (280, 1),  3, null, 
null);
-            Add_Action (Table.States (617), 22, Reduce, (280, 1),  3, null, 
null);
-            Add_Action (Table.States (617), 23, Reduce, (280, 1),  3, null, 
null);
-            Add_Action (Table.States (617), 35, Reduce, (280, 1),  3, null, 
null);
-            Add_Action (Table.States (617), 37, Reduce, (280, 1),  3, null, 
null);
-            Add_Action (Table.States (617), 42, Reduce, (280, 1),  3, null, 
null);
-            Add_Action (Table.States (617), 43, Reduce, (280, 1),  3, null, 
null);
-            Add_Action (Table.States (617), 53, Reduce, (280, 1),  3, null, 
null);
-            Add_Action (Table.States (617), 68, Reduce, (280, 1),  3, null, 
null);
-            Add_Action (Table.States (617), 74, Reduce, (280, 1),  3, null, 
null);
-            Add_Action (Table.States (617), 75, Reduce, (280, 1),  3, null, 
null);
-            Add_Action (Table.States (617), 76, (280, 0), 786);
-            Add_Action (Table.States (617), 78, Reduce, (280, 1),  3, null, 
null);
-            Add_Action (Table.States (617), 79, Reduce, (280, 1),  3, null, 
null);
-            Add_Action (Table.States (617), 82, Reduce, (280, 1),  3, null, 
null);
-            Add_Action (Table.States (617), 85, Reduce, (280, 1),  3, null, 
null);
-            Add_Action (Table.States (617), 86, Reduce, (280, 1),  3, null, 
null);
-            Add_Action (Table.States (617), 90, Reduce, (280, 1),  3, null, 
null);
-            Add_Action (Table.States (617), 99, Reduce, (280, 1),  3, null, 
null);
-            Table.States (617).Kernel := To_Vector ((((280, 0),  53,  2, 
(2147483647, 0),  0), ((280, 1),  53,  0,
-            (280, 1),  3)));
-            Table.States (617).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (280, 1),  3)));
-            Table.States (618).Action_List.Set_Capacity (20);
-            Add_Action (Table.States (618), (10, 20, 21, 22, 23, 35, 37, 42, 
43, 53, 68, 74, 75, 78, 79, 82, 85, 86,
-            90, 99), (280, 2),  3, null, null);
-            Table.States (618).Kernel := To_Vector ((0 => ((280, 2),  304,  0, 
(280, 2),  3)));
-            Table.States (618).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (280, 2),  3)));
-            Table.States (619).Action_List.Set_Capacity (20);
-            Add_Action (Table.States (619), 3, (200, 2), 122);
-            Add_Action (Table.States (619), 28, (127, 6), 521);
-            Add_Action (Table.States (619), 39, (261, 4), 123);
-            Add_Action (Table.States (619), 40, (168, 1), 263);
-            Add_Action (Table.States (619), 41, (261, 1), 125);
-            Add_Action (Table.States (619), 44, (168, 3), 265);
-            Add_Action (Table.States (619), 52, (278, 0), 126);
-            Add_Action (Table.States (619), 76, (120, 0), 127);
-            Add_Action (Table.States (619), 77, (120, 5), 128);
-            Add_Action (Table.States (619), 79, Reduce, (127, 5),  0, null, 
null);
-            Add_Action (Table.States (619), 81, (242, 8), 31);
-            Add_Action (Table.States (619), 82, Reduce, (169, 2),  0, null, 
null);
-            Add_Action (Table.States (619), 86, Reduce, (127, 5),  0, null, 
null);
-            Add_Action (Table.States (619), 90, Reduce, (169, 2),  0, null, 
null);
-            Add_Action (Table.States (619), 97, (333, 1), 129);
-            Add_Action (Table.States (619), 98, (333, 0), 130);
-            Add_Action (Table.States (619), 106, (261, 0), 131);
-            Add_Action (Table.States (619), 107, (242, 5), 120);
-            Add_Action (Table.States (619), 108, (242, 7), 34);
-            Add_Action (Table.States (619), 109, (127, 0), 266);
-            Table.States (619).Goto_List.Set_Capacity (24);
-            Add_Goto (Table.States (619), 120, 132);
-            Add_Goto (Table.States (619), 127, 267);
-            Add_Goto (Table.States (619), 128, 787);
-            Add_Goto (Table.States (619), 131, 42);
-            Add_Goto (Table.States (619), 168, 271);
-            Add_Goto (Table.States (619), 169, 272);
-            Add_Goto (Table.States (619), 194, 411);
-            Add_Goto (Table.States (619), 200, 135);
-            Add_Goto (Table.States (619), 242, 276);
-            Add_Goto (Table.States (619), 261, 137);
-            Add_Goto (Table.States (619), 275, 93);
-            Add_Goto (Table.States (619), 278, 138);
-            Add_Goto (Table.States (619), 280, 278);
-            Add_Goto (Table.States (619), 285, 139);
-            Add_Goto (Table.States (619), 286, 140);
-            Add_Goto (Table.States (619), 287, 141);
-            Add_Goto (Table.States (619), 288, 142);
-            Add_Goto (Table.States (619), 289, 143);
-            Add_Goto (Table.States (619), 290, 144);
-            Add_Goto (Table.States (619), 296, 98);
-            Add_Goto (Table.States (619), 304, 279);
-            Add_Goto (Table.States (619), 323, 146);
-            Add_Goto (Table.States (619), 324, 147);
-            Add_Goto (Table.States (619), 333, 148);
-            Table.States (619).Kernel := To_Vector ((0 => ((120, 5),  19,  1, 
(2147483647, 0),  0)));
-            Table.States (619).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (128, 1),  0)));
-            Table.States (620).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (620), 82, (169, 0), 450);
-            Add_Action (Table.States (620), 90, (143, 0), 788);
-            Table.States (620).Kernel := To_Vector ((((143, 0),  169,  1, 
(2147483647, 0),  0), ((169, 0),  169,  2,
-            (2147483647, 0),  0)));
-            Table.States (620).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (143, 0),  90, 788)));
-            Table.States (621).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (621), 15, (142, 0), 789);
-            Table.States (621).Kernel := To_Vector ((0 => ((142, 0),  24,  2, 
(2147483647, 0),  0)));
-            Table.States (621).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (142, 0),  15, 789)));
-            Table.States (622).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (622), (24, 72), (144, 0),  2, 
case_statement_alternative_list_0'Access, null);
-            Table.States (622).Kernel := To_Vector ((0 => ((144, 0),  143,  0, 
(144, 0),  2)));
-            Table.States (622).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (144, 0),  2)));
-            Table.States (623).Action_List.Set_Capacity (18);
-            Add_Action (Table.States (623), (10, 20, 21, 22, 23, 35, 37, 43, 
53, 68, 74, 75, 78, 79, 82, 86, 90, 99),
-            (286, 0),  4, null, null);
-            Table.States (623).Kernel := To_Vector ((0 => ((286, 0),  290,  0, 
(286, 0),  4)));
-            Table.States (623).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (286, 0),  4)));
-            Table.States (624).Action_List.Set_Capacity (18);
-            Add_Action (Table.States (624), (10, 20, 21, 22, 23, 35, 37, 43, 
53, 68, 74, 75, 78, 79, 82, 86, 90, 99),
-            (288, 0),  4, null, null);
-            Table.States (624).Kernel := To_Vector ((0 => ((288, 0),  290,  0, 
(288, 0),  4)));
-            Table.States (624).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (288, 0),  4)));
-            Table.States (625).Action_List.Set_Capacity (18);
-            Add_Action (Table.States (625), (10, 20, 21, 22, 23, 35, 37, 43, 
53, 68, 74, 75, 78, 79, 82, 86, 90, 99),
-            (286, 1),  4, null, null);
-            Table.States (625).Kernel := To_Vector ((0 => ((286, 1),  290,  0, 
(286, 1),  4)));
-            Table.States (625).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (286, 1),  4)));
-            Table.States (626).Action_List.Set_Capacity (18);
-            Add_Action (Table.States (626), (10, 20, 21, 22, 23, 35, 37, 43, 
53, 68, 74, 75, 78, 79, 82, 86, 90, 99),
-            (288, 1),  4, null, null);
-            Table.States (626).Kernel := To_Vector ((0 => ((288, 1),  290,  0, 
(288, 1),  4)));
-            Table.States (626).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (288, 1),  4)));
-            Table.States (627).Action_List.Set_Capacity (13);
-            Add_Action (Table.States (627), 3, (200, 2), 122);
-            Add_Action (Table.States (627), 39, (261, 4), 123);
-            Add_Action (Table.States (627), 40, (200, 3), 124);
-            Add_Action (Table.States (627), 41, (261, 1), 125);
-            Add_Action (Table.States (627), 76, (120, 0), 127);
-            Add_Action (Table.States (627), 77, (120, 5), 128);
-            Add_Action (Table.States (627), 81, (242, 8), 31);
-            Add_Action (Table.States (627), 97, (333, 1), 129);
-            Add_Action (Table.States (627), 98, (333, 0), 130);
-            Add_Action (Table.States (627), 106, (261, 0), 131);
-            Add_Action (Table.States (627), 107, (242, 5), 120);
-            Add_Action (Table.States (627), 108, (242, 7), 34);
-            Add_Action (Table.States (627), 109, (242, 6), 35);
-            Table.States (627).Goto_List.Set_Capacity (13);
-            Add_Goto (Table.States (627), 120, 132);
-            Add_Goto (Table.States (627), 131, 42);
-            Add_Goto (Table.States (627), 200, 135);
-            Add_Goto (Table.States (627), 237, 790);
-            Add_Goto (Table.States (627), 242, 276);
-            Add_Goto (Table.States (627), 261, 137);
-            Add_Goto (Table.States (627), 275, 93);
-            Add_Goto (Table.States (627), 280, 473);
-            Add_Goto (Table.States (627), 296, 98);
-            Add_Goto (Table.States (627), 304, 474);
-            Add_Goto (Table.States (627), 323, 146);
-            Add_Goto (Table.States (627), 324, 147);
-            Add_Goto (Table.States (627), 333, 148);
-            Table.States (627).Kernel := To_Vector ((0 => ((236, 0),  82,  1, 
(2147483647, 0),  0)));
-            Table.States (627).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (261, 0),  106, 131)));
-            Table.States (628).Action_List.Set_Capacity (18);
-            Add_Action (Table.States (628), 10, Reduce, (290, 0),  4, null, 
null);
-            Add_Action (Table.States (628), 20, Reduce, (290, 0),  4, null, 
null);
-            Add_Action (Table.States (628), 21, Reduce, (290, 0),  4, null, 
null);
-            Add_Action (Table.States (628), 22, Reduce, (290, 0),  4, null, 
null);
-            Add_Action (Table.States (628), 23, Reduce, (290, 0),  4, null, 
null);
-            Add_Action (Table.States (628), 35, Reduce, (290, 0),  4, null, 
null);
-            Add_Action (Table.States (628), 37, Reduce, (290, 0),  4, null, 
null);
-            Add_Action (Table.States (628), 43, Reduce, (290, 0),  4, null, 
null);
-            Add_Action (Table.States (628), 53, Reduce, (290, 0),  4, null, 
null);
-            Add_Action (Table.States (628), 68, Reduce, (290, 0),  4, null, 
null);
-            Add_Action (Table.States (628), 74, Reduce, (290, 0),  4, null, 
null);
-            Add_Action (Table.States (628), 75, Reduce, (290, 0),  4, null, 
null);
-            Add_Action (Table.States (628), 78, Reduce, (290, 0),  4, null, 
null);
-            Add_Action (Table.States (628), 79, Reduce, (290, 0),  4, null, 
null);
-            Add_Action (Table.States (628), 82, (236, 0), 627);
-            Add_Conflict (Table.States (628), 82, (290, 0),  4, null, null);
-            Add_Action (Table.States (628), 86, Reduce, (290, 0),  4, null, 
null);
-            Add_Action (Table.States (628), 90, Reduce, (290, 0),  4, null, 
null);
-            Add_Action (Table.States (628), 99, Reduce, (290, 0),  4, null, 
null);
-            Table.States (628).Kernel := To_Vector ((((236, 0),  236,  2, 
(2147483647, 0),  0), ((290, 0),  236,  0,
-            (290, 0),  4)));
-            Table.States (628).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (290, 0),  4)));
-            Table.States (629).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (629), (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, 81, 96, 107, 108,
-            109, 110), (193, 0),  5, exit_statement_0'Access, null);
-            Table.States (629).Kernel := To_Vector ((0 => ((193, 0),  99,  0, 
(193, 0),  5)));
-            Table.States (629).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (193, 0),  5)));
-            Table.States (630).Action_List.Set_Capacity (12);
-            Add_Action (Table.States (630), 38, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (630), 55, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (630), 80, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (630), 81, (242, 8), 31);
-            Add_Action (Table.States (630), 88, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (630), 97, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (630), 98, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (630), 100, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (630), 102, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (630), 107, (242, 5), 120);
-            Add_Action (Table.States (630), 108, (242, 7), 34);
-            Add_Action (Table.States (630), 109, (242, 6), 35);
-            Table.States (630).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (630), 131, 42);
-            Add_Goto (Table.States (630), 242, 791);
-            Add_Goto (Table.States (630), 275, 93);
-            Add_Goto (Table.States (630), 296, 98);
-            Table.States (630).Kernel := To_Vector ((((261, 1),  41,  0, (261, 
1),  1), ((317, 0),  41,  5,
-            (2147483647, 0),  0), ((317, 1),  41,  1, (2147483647, 0),  0)));
-            Table.States (630).Minimal_Complete_Actions := To_Vector 
(((Reduce, (261, 1),  1), (Shift, (242, 5),  107,
-            120)));
-            Table.States (631).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (631), (37, 90), (233, 2),  4, 
iterator_specification_2'Access, null);
-            Table.States (631).Kernel := To_Vector ((0 => ((233, 2),  170,  0, 
(233, 2),  4)));
-            Table.States (631).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (233, 2),  4)));
-            Table.States (632).Action_List.Set_Capacity (13);
-            Add_Action (Table.States (632), 3, (200, 2), 122);
-            Add_Action (Table.States (632), 39, (261, 4), 123);
-            Add_Action (Table.States (632), 40, (200, 3), 124);
-            Add_Action (Table.States (632), 41, (261, 1), 125);
-            Add_Action (Table.States (632), 76, (120, 0), 127);
-            Add_Action (Table.States (632), 77, (120, 5), 128);
-            Add_Action (Table.States (632), 81, (242, 8), 31);
-            Add_Action (Table.States (632), 97, (333, 1), 129);
-            Add_Action (Table.States (632), 98, (333, 0), 130);
-            Add_Action (Table.States (632), 106, (261, 0), 131);
-            Add_Action (Table.States (632), 107, (242, 5), 120);
-            Add_Action (Table.States (632), 108, (242, 7), 34);
-            Add_Action (Table.States (632), 109, (242, 6), 35);
-            Table.States (632).Goto_List.Set_Capacity (12);
-            Add_Goto (Table.States (632), 120, 132);
-            Add_Goto (Table.States (632), 131, 42);
-            Add_Goto (Table.States (632), 200, 135);
-            Add_Goto (Table.States (632), 242, 276);
-            Add_Goto (Table.States (632), 261, 137);
-            Add_Goto (Table.States (632), 275, 93);
-            Add_Goto (Table.States (632), 280, 792);
-            Add_Goto (Table.States (632), 296, 98);
-            Add_Goto (Table.States (632), 304, 486);
-            Add_Goto (Table.States (632), 323, 146);
-            Add_Goto (Table.States (632), 324, 147);
-            Add_Goto (Table.States (632), 333, 148);
-            Table.States (632).Kernel := To_Vector ((0 => ((158, 0),  53,  3, 
(2147483647, 0),  0)));
-            Table.States (632).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (633).Action_List.Set_Capacity (22);
-            Add_Action (Table.States (633), 3, (200, 2), 122);
-            Add_Action (Table.States (633), 15, (139, 0), 260);
-            Add_Action (Table.States (633), 28, (127, 6), 261);
-            Add_Action (Table.States (633), 32, (224, 0), 262);
-            Add_Action (Table.States (633), 39, (261, 4), 123);
-            Add_Action (Table.States (633), 40, (168, 1), 777);
-            Add_Action (Table.States (633), 41, (261, 1), 125);
-            Add_Action (Table.States (633), 44, (168, 3), 265);
-            Add_Action (Table.States (633), 52, (278, 0), 126);
-            Add_Action (Table.States (633), 76, (120, 0), 127);
-            Add_Action (Table.States (633), 77, (120, 5), 128);
-            Add_Action (Table.States (633), 78, Reduce, (127, 5),  0, null, 
null);
-            Add_Action (Table.States (633), 81, (242, 8), 31);
-            Add_Action (Table.States (633), 82, Reduce, (169, 2),  0, null, 
null);
-            Add_Action (Table.States (633), 86, Reduce, (127, 5),  0, null, 
null);
-            Add_Action (Table.States (633), 90, Reduce, (169, 2),  0, null, 
null);
-            Add_Action (Table.States (633), 97, (333, 1), 129);
-            Add_Action (Table.States (633), 98, (333, 0), 130);
-            Add_Action (Table.States (633), 106, (261, 0), 131);
-            Add_Action (Table.States (633), 107, (242, 5), 120);
-            Add_Action (Table.States (633), 108, (242, 7), 34);
-            Add_Action (Table.States (633), 109, (127, 0), 266);
-            Table.States (633).Goto_List.Set_Capacity (32);
-            Add_Goto (Table.States (633), 120, 132);
-            Add_Goto (Table.States (633), 127, 267);
-            Add_Goto (Table.States (633), 128, 409);
-            Add_Goto (Table.States (633), 131, 42);
-            Add_Goto (Table.States (633), 139, 269);
-            Add_Goto (Table.States (633), 156, 410);
-            Add_Goto (Table.States (633), 168, 271);
-            Add_Goto (Table.States (633), 169, 272);
-            Add_Goto (Table.States (633), 170, 793);
-            Add_Goto (Table.States (633), 171, 794);
-            Add_Goto (Table.States (633), 194, 411);
-            Add_Goto (Table.States (633), 200, 135);
-            Add_Goto (Table.States (633), 224, 275);
-            Add_Goto (Table.States (633), 242, 484);
-            Add_Goto (Table.States (633), 261, 137);
-            Add_Goto (Table.States (633), 275, 93);
-            Add_Goto (Table.States (633), 276, 277);
-            Add_Goto (Table.States (633), 278, 138);
-            Add_Goto (Table.States (633), 280, 795);
-            Add_Goto (Table.States (633), 281, 413);
-            Add_Goto (Table.States (633), 285, 139);
-            Add_Goto (Table.States (633), 286, 140);
-            Add_Goto (Table.States (633), 287, 141);
-            Add_Goto (Table.States (633), 288, 142);
-            Add_Goto (Table.States (633), 289, 143);
-            Add_Goto (Table.States (633), 290, 144);
-            Add_Goto (Table.States (633), 296, 98);
-            Add_Goto (Table.States (633), 304, 279);
-            Add_Goto (Table.States (633), 317, 487);
-            Add_Goto (Table.States (633), 323, 146);
-            Add_Goto (Table.States (633), 324, 147);
-            Add_Goto (Table.States (633), 333, 148);
-            Table.States (633).Kernel := To_Vector ((((118, 0),  76,  1, 
(2147483647, 0),  0), ((118, 1),  76,  3,
-            (2147483647, 0),  0), ((227, 0),  76,  4, (2147483647, 0),  0), 
((242, 0),  76,  4, (2147483647, 0),  0)));
-            Table.States (633).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (128, 1),  0)));
-            Table.States (634).Action_List.Set_Capacity (10);
-            Add_Action (Table.States (634), (10, 21, 37, 42, 74, 78, 85, 86, 
90, 99), (317, 2),  2,
-            subtype_indication_2'Access, null);
-            Table.States (634).Kernel := To_Vector ((0 => ((317, 2),  158,  0, 
(317, 2),  2)));
-            Table.States (634).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (317, 2),  2)));
-            Table.States (635).Action_List.Set_Capacity (10);
-            Add_Action (Table.States (635), (10, 21, 37, 42, 74, 78, 85, 86, 
90, 99), (158, 1),  1, null, null);
-            Table.States (635).Kernel := To_Vector ((0 => ((158, 1),  227,  0, 
(158, 1),  1)));
-            Table.States (635).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (158, 1),  1)));
-            Table.States (636).Action_List.Set_Capacity (6);
-            Add_Action (Table.States (636), 37, Reduce, (233, 3),  4, null, 
null);
-            Add_Action (Table.States (636), 76, (118, 0), 237);
-            Add_Action (Table.States (636), 87, (296, 0), 239);
-            Add_Action (Table.States (636), 90, Reduce, (233, 3),  4, null, 
null);
-            Add_Action (Table.States (636), 104, (325, 0), 241);
-            Add_Action (Table.States (636), 105, (325, 1), 242);
-            Table.States (636).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (636), 118, 243);
-            Add_Goto (Table.States (636), 325, 244);
-            Table.States (636).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((233, 3),  242,  0,
-            (233, 3),  4), ((242, 0),  242,  5, (2147483647, 0),  0), ((242, 
1),  242,  2, (2147483647, 0),  0), ((275,
-            0),  242,  3, (2147483647, 0),  0), ((296, 0),  242,  2, 
(2147483647, 0),  0), ((296, 1),  242,  2,
-            (2147483647, 0),  0), ((296, 2),  242,  2, (2147483647, 0),  0), 
((296, 3),  242,  2, (2147483647, 0),
-            0)));
-            Table.States (636).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (233, 3),  4)));
-            Table.States (637).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (637), 81, (242, 8), 31);
-            Add_Action (Table.States (637), 107, (242, 5), 120);
-            Add_Action (Table.States (637), 108, (242, 7), 34);
-            Add_Action (Table.States (637), 109, (242, 6), 35);
-            Table.States (637).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (637), 131, 42);
-            Add_Goto (Table.States (637), 242, 791);
-            Add_Goto (Table.States (637), 275, 93);
-            Add_Goto (Table.States (637), 296, 98);
-            Table.States (637).Kernel := To_Vector ((((317, 0),  41,  5, 
(2147483647, 0),  0), ((317, 1),  41,  1,
-            (2147483647, 0),  0)));
-            Table.States (637).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (638).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (638), 59, (233, 0), 796);
-            Add_Action (Table.States (638), 81, (242, 8), 31);
-            Add_Action (Table.States (638), 107, (242, 5), 120);
-            Add_Action (Table.States (638), 108, (242, 7), 34);
-            Add_Action (Table.States (638), 109, (242, 6), 35);
-            Table.States (638).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (638), 131, 42);
-            Add_Goto (Table.States (638), 242, 797);
-            Add_Goto (Table.States (638), 275, 93);
-            Add_Goto (Table.States (638), 296, 98);
-            Table.States (638).Kernel := To_Vector ((((233, 0),  42,  2, 
(2147483647, 0),  0), ((233, 1),  42,  1,
-            (2147483647, 0),  0)));
-            Table.States (638).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (639).Action_List.Set_Capacity (42);
-            Add_Action (Table.States (639), (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, 81, 96, 107, 108, 109, 110), (124, 0),
-            5, aspect_clause_0'Access, null);
-            Table.States (639).Kernel := To_Vector ((0 => ((124, 0),  99,  0, 
(124, 0),  5)));
-            Table.States (639).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (124, 0),  5)));
-            Table.States (640).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (640), 99, (130, 0), 798);
-            Table.States (640).Kernel := To_Vector ((0 => ((130, 0),  195,  1, 
(2147483647, 0),  0)));
-            Table.States (640).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (130, 0),  99, 798)));
-            Table.States (641).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (641), 38, (238, 0), 799);
-            Table.States (641).Kernel := To_Vector ((0 => ((238, 0),  12,  2, 
(2147483647, 0),  0)));
-            Table.States (641).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (238, 0),  38, 799)));
-            Table.States (642).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (642), 107, (147, 0), 800);
-            Table.States (642).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (642), 147, 801);
-            Add_Goto (Table.States (642), 148, 802);
-            Table.States (642).Kernel := To_Vector ((0 => ((284, 0),  238,  
11, (2147483647, 0),  0)));
-            Table.States (642).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (147, 0),  107, 800)));
-            Table.States (643).Action_List.Set_Capacity (42);
-            Add_Action (Table.States (643), (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, 81, 96, 107, 108, 109, 110), (185, 0),
-            5, enumeration_representation_clause_0'Access, null);
-            Table.States (643).Kernel := To_Vector ((0 => ((185, 0),  99,  0, 
(185, 0),  5)));
-            Table.States (643).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (185, 0),  5)));
-            Table.States (644).Action_List.Set_Capacity (11);
-            Add_Action (Table.States (644), 21, Reduce, (243, 0),  1, null, 
name_opt_0_check'Access);
-            Add_Action (Table.States (644), 35, Reduce, (243, 0),  1, null, 
name_opt_0_check'Access);
-            Add_Action (Table.States (644), 56, Reduce, (243, 0),  1, null, 
name_opt_0_check'Access);
-            Add_Action (Table.States (644), 74, Reduce, (243, 0),  1, null, 
name_opt_0_check'Access);
-            Add_Action (Table.States (644), 76, (118, 0), 237);
-            Add_Action (Table.States (644), 78, Reduce, (243, 0),  1, null, 
name_opt_0_check'Access);
-            Add_Action (Table.States (644), 85, Reduce, (243, 0),  1, null, 
name_opt_0_check'Access);
-            Add_Action (Table.States (644), 87, (296, 0), 239);
-            Add_Action (Table.States (644), 99, Reduce, (243, 0),  1, null, 
name_opt_0_check'Access);
-            Add_Action (Table.States (644), 104, (325, 0), 241);
-            Add_Action (Table.States (644), 105, (325, 1), 242);
-            Table.States (644).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (644), 118, 243);
-            Add_Goto (Table.States (644), 325, 244);
-            Table.States (644).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((242, 0),  242,  5,
-            (2147483647, 0),  0), ((242, 1),  242,  2, (2147483647, 0),  0), 
((243, 0),  242,  0, (243, 0),  1), ((275,
-            0),  242,  3, (2147483647, 0),  0), ((296, 0),  242,  2, 
(2147483647, 0),  0), ((296, 1),  242,  2,
-            (2147483647, 0),  0), ((296, 2),  242,  2, (2147483647, 0),  0), 
((296, 3),  242,  2, (2147483647, 0),
-            0)));
-            Table.States (644).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (243, 0),  1)));
-            Table.States (645).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (645), (21, 35, 56, 74, 78, 85, 99), 
(294, 0),  3, result_profile_0'Access, null);
-            Table.States (645).Kernel := To_Vector ((0 => ((294, 0),  243,  0, 
(294, 0),  3)));
-            Table.States (645).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (294, 0),  3)));
-            Table.States (646).Action_List.Set_Capacity (12);
-            Add_Action (Table.States (646), 7, Reduce, (121, 1),  0, null, 
null);
-            Add_Action (Table.States (646), 8, (121, 0), 404);
-            Add_Action (Table.States (646), 33, Reduce, (121, 1),  0, null, 
null);
-            Add_Action (Table.States (646), 40, Reduce, (121, 1),  0, null, 
null);
-            Add_Action (Table.States (646), 45, Reduce, (121, 1),  0, null, 
null);
-            Add_Action (Table.States (646), 78, Reduce, (121, 1),  0, null, 
null);
-            Add_Action (Table.States (646), 81, Reduce, (121, 1),  0, null, 
null);
-            Add_Action (Table.States (646), 85, Reduce, (121, 1),  0, null, 
null);
-            Add_Action (Table.States (646), 99, Reduce, (121, 1),  0, null, 
null);
-            Add_Action (Table.States (646), 107, Reduce, (121, 1),  0, null, 
null);
-            Add_Action (Table.States (646), 108, Reduce, (121, 1),  0, null, 
null);
-            Add_Action (Table.States (646), 109, Reduce, (121, 1),  0, null, 
null);
-            Table.States (646).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (646), 121, 803);
-            Table.States (646).Kernel := To_Vector ((((257, 0),  84,  2, 
(2147483647, 0),  0), ((257, 1),  84,  1,
-            (2147483647, 0),  0), ((257, 2),  84,  3, (2147483647, 0),  0), 
((257, 3),  84,  2, (2147483647, 0),  0)));
-            Table.States (646).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (121, 1),  0)));
-            Table.States (647).Action_List.Set_Capacity (9);
-            Add_Action (Table.States (647), (21, 35, 56, 58, 72, 74, 78, 85, 
99), (202, 0),  3, formal_part_0'Access,
-            null);
-            Table.States (647).Kernel := To_Vector ((0 => ((202, 0),  78,  0, 
(202, 0),  3)));
-            Table.States (647).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (202, 0),  3)));
-            Table.States (648).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (648), 78, Reduce, (257, 4),  0, null, 
null);
-            Add_Action (Table.States (648), 99, Reduce, (257, 4),  0, null, 
null);
-            Add_Action (Table.States (648), 107, (222, 1), 166);
-            Table.States (648).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (648), 222, 500);
-            Add_Goto (Table.States (648), 257, 804);
-            Table.States (648).Kernel := To_Vector ((0 => ((258, 0),  99,  0, 
(257, 4),  0)));
-            Table.States (648).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (257, 4),  0)));
-            Table.States (649).Action_List.Set_Capacity (6);
-            Add_Action (Table.States (649), 74, (125, 0), 340);
-            Add_Action (Table.States (649), 76, (118, 0), 237);
-            Add_Action (Table.States (649), 87, (296, 0), 239);
-            Add_Action (Table.States (649), 99, Reduce, (125, 1),  0, null, 
null);
-            Add_Action (Table.States (649), 104, (325, 0), 241);
-            Add_Action (Table.States (649), 105, (325, 1), 242);
-            Table.States (649).Goto_List.Set_Capacity (3);
-            Add_Goto (Table.States (649), 118, 243);
-            Add_Goto (Table.States (649), 125, 805);
-            Add_Goto (Table.States (649), 325, 244);
-            Table.States (649).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((218, 2),  242,  1,
-            (2147483647, 0),  0), ((242, 0),  242,  5, (2147483647, 0),  0), 
((242, 1),  242,  2, (2147483647, 0),  0),
-            ((275, 0),  242,  3, (2147483647, 0),  0), ((296, 0),  242,  2, 
(2147483647, 0),  0), ((296, 1),  242,  2,
-            (2147483647, 0),  0), ((296, 2),  242,  2, (2147483647, 0),  0), 
((296, 3),  242,  2, (2147483647, 0),
-            0)));
-            Table.States (649).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (650).Action_List.Set_Capacity (6);
-            Add_Action (Table.States (650), 74, (125, 0), 340);
-            Add_Action (Table.States (650), 76, (118, 0), 237);
-            Add_Action (Table.States (650), 87, (296, 0), 239);
-            Add_Action (Table.States (650), 99, Reduce, (125, 1),  0, null, 
null);
-            Add_Action (Table.States (650), 104, (325, 0), 241);
-            Add_Action (Table.States (650), 105, (325, 1), 242);
-            Table.States (650).Goto_List.Set_Capacity (3);
-            Add_Goto (Table.States (650), 118, 243);
-            Add_Goto (Table.States (650), 125, 806);
-            Add_Goto (Table.States (650), 325, 244);
-            Table.States (650).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((218, 0),  242,  1,
-            (2147483647, 0),  0), ((242, 0),  242,  5, (2147483647, 0),  0), 
((242, 1),  242,  2, (2147483647, 0),  0),
-            ((275, 0),  242,  3, (2147483647, 0),  0), ((296, 0),  242,  2, 
(2147483647, 0),  0), ((296, 1),  242,  2,
-            (2147483647, 0),  0), ((296, 2),  242,  2, (2147483647, 0),  0), 
((296, 3),  242,  2, (2147483647, 0),
-            0)));
-            Table.States (650).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (651).Action_List.Set_Capacity (6);
-            Add_Action (Table.States (651), 74, (125, 0), 340);
-            Add_Action (Table.States (651), 76, (118, 0), 237);
-            Add_Action (Table.States (651), 87, (296, 0), 239);
-            Add_Action (Table.States (651), 99, Reduce, (125, 1),  0, null, 
null);
-            Add_Action (Table.States (651), 104, (325, 0), 241);
-            Add_Action (Table.States (651), 105, (325, 1), 242);
-            Table.States (651).Goto_List.Set_Capacity (3);
-            Add_Goto (Table.States (651), 118, 243);
-            Add_Goto (Table.States (651), 125, 807);
-            Add_Goto (Table.States (651), 325, 244);
-            Table.States (651).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((218, 1),  242,  1,
-            (2147483647, 0),  0), ((242, 0),  242,  5, (2147483647, 0),  0), 
((242, 1),  242,  2, (2147483647, 0),  0),
-            ((275, 0),  242,  3, (2147483647, 0),  0), ((296, 0),  242,  2, 
(2147483647, 0),  0), ((296, 1),  242,  2,
-            (2147483647, 0),  0), ((296, 2),  242,  2, (2147483647, 0),  0), 
((296, 3),  242,  2, (2147483647, 0),
-            0)));
-            Table.States (651).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (652).Action_List.Set_Capacity (17);
-            Add_Action (Table.States (652), 6, (112, 0), 808);
-            Add_Action (Table.States (652), 7, Reduce, (244, 1),  0, null, 
null);
-            Add_Action (Table.States (652), 11, (123, 0), 713);
-            Add_Action (Table.States (652), 19, (205, 6), 809);
-            Add_Action (Table.States (652), 20, (205, 5), 810);
-            Add_Action (Table.States (652), 34, (231, 8), 716);
-            Add_Action (Table.States (652), 36, (112, 3), 811);
-            Add_Action (Table.States (652), 38, (205, 4), 812);
-            Add_Action (Table.States (652), 39, Reduce, (112, 5),  0, null, 
null);
-            Add_Action (Table.States (652), 40, (244, 0), 389);
-            Add_Action (Table.States (652), 49, Reduce, (114, 5),  0, null, 
null);
-            Add_Action (Table.States (652), 51, (231, 2), 720);
-            Add_Action (Table.States (652), 53, (205, 3), 813);
-            Add_Action (Table.States (652), 64, (112, 4), 723);
-            Add_Action (Table.States (652), 65, (114, 2), 814);
-            Add_Action (Table.States (652), 66, (231, 1), 725);
-            Add_Action (Table.States (652), 76, (205, 2), 815);
-            Table.States (652).Goto_List.Set_Capacity (8);
-            Add_Goto (Table.States (652), 112, 816);
-            Add_Goto (Table.States (652), 114, 817);
-            Add_Goto (Table.States (652), 117, 818);
-            Add_Goto (Table.States (652), 123, 819);
-            Add_Goto (Table.States (652), 205, 820);
-            Add_Goto (Table.States (652), 206, 821);
-            Add_Goto (Table.States (652), 231, 822);
-            Add_Goto (Table.States (652), 244, 735);
-            Table.States (652).Kernel := To_Vector ((((204, 0),  35,  2, 
(2147483647, 0),  0), ((204, 1),  35,  2,
-            (2147483647, 0),  0)));
-            Table.States (652).Minimal_Complete_Actions := To_Vector 
(((Reduce, (114, 5),  0), (Shift, (114, 2),  65,
-            814)));
-            Table.States (653).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (653), 99, (204, 2), 823);
-            Table.States (653).Kernel := To_Vector ((0 => ((204, 2),  125,  1, 
(2147483647, 0),  0)));
-            Table.States (653).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (204, 2),  99, 823)));
-            Table.States (654).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (654), 39, (207, 0), 824);
-            Table.States (654).Kernel := To_Vector ((0 => ((207, 0),  35,  3, 
(2147483647, 0),  0)));
-            Table.States (654).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (207, 0),  39, 824)));
-            Table.States (655).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (655), 41, (313, 2), 656);
-            Add_Action (Table.States (655), 74, (125, 0), 340);
-            Add_Action (Table.States (655), 81, (242, 8), 31);
-            Add_Action (Table.States (655), 83, (313, 1), 657);
-            Add_Action (Table.States (655), 99, Reduce, (125, 1),  0, null, 
null);
-            Add_Action (Table.States (655), 107, (242, 5), 120);
-            Add_Action (Table.States (655), 108, (242, 7), 34);
-            Add_Action (Table.States (655), 109, (242, 6), 35);
-            Table.States (655).Goto_List.Set_Capacity (6);
-            Add_Goto (Table.States (655), 125, 825);
-            Add_Goto (Table.States (655), 131, 42);
-            Add_Goto (Table.States (655), 242, 658);
-            Add_Goto (Table.States (655), 275, 93);
-            Add_Goto (Table.States (655), 296, 98);
-            Add_Goto (Table.States (655), 313, 826);
-            Table.States (655).Kernel := To_Vector ((((203, 0),  6,  2, 
(2147483647, 0),  0), ((203, 2),  6,  1,
-            (2147483647, 0),  0)));
-            Table.States (655).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (656).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (656), (74, 99), (313, 2),  1, null, 
null);
-            Table.States (656).Kernel := To_Vector ((0 => ((313, 2),  41,  0, 
(313, 2),  1)));
-            Table.States (656).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (313, 2),  1)));
-            Table.States (657).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (657), (74, 99), (313, 1),  1, null, 
null);
-            Table.States (657).Kernel := To_Vector ((0 => ((313, 1),  83,  0, 
(313, 1),  1)));
-            Table.States (657).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (313, 1),  1)));
-            Table.States (658).Action_List.Set_Capacity (6);
-            Add_Action (Table.States (658), 74, Reduce, (313, 0),  1, 
subprogram_default_0'Access, null);
-            Add_Action (Table.States (658), 76, (118, 0), 237);
-            Add_Action (Table.States (658), 87, (296, 0), 239);
-            Add_Action (Table.States (658), 99, Reduce, (313, 0),  1, 
subprogram_default_0'Access, null);
-            Add_Action (Table.States (658), 104, (325, 0), 241);
-            Add_Action (Table.States (658), 105, (325, 1), 242);
-            Table.States (658).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (658), 118, 243);
-            Add_Goto (Table.States (658), 325, 244);
-            Table.States (658).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((242, 0),  242,  5,
-            (2147483647, 0),  0), ((242, 1),  242,  2, (2147483647, 0),  0), 
((275, 0),  242,  3, (2147483647, 0),  0),
-            ((296, 0),  242,  2, (2147483647, 0),  0), ((296, 1),  242,  2, 
(2147483647, 0),  0), ((296, 2),  242,  2,
-            (2147483647, 0),  0), ((296, 3),  242,  2, (2147483647, 0),  0), 
((313, 0),  242,  0, (313, 0),  1)));
-            Table.States (658).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (313, 0),  1)));
-            Table.States (659).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (659), 74, (125, 0), 340);
-            Add_Action (Table.States (659), 99, Reduce, (125, 1),  0, null, 
null);
-            Table.States (659).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (659), 125, 827);
-            Table.States (659).Kernel := To_Vector ((0 => ((203, 1),  313,  1, 
(2147483647, 0),  0)));
-            Table.States (659).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (660).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (660), (29, 47, 48, 50, 69, 71, 74, 107), 
(203, 3),  4,
-            formal_subprogram_declaration_3'Access, null);
-            Table.States (660).Kernel := To_Vector ((0 => ((203, 3),  99,  0, 
(203, 3),  4)));
-            Table.States (660).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (203, 3),  4)));
-            Table.States (661).Action_List.Set_Capacity (9);
-            Add_Action (Table.States (661), (7, 40, 74, 81, 85, 99, 107, 108, 
109), (239, 1),  2, null, null);
-            Table.States (661).Kernel := To_Vector ((0 => ((239, 1),  45,  0, 
(239, 1),  2)));
-            Table.States (661).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (239, 1),  2)));
-            Table.States (662).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (662), 74, (125, 0), 340);
-            Add_Action (Table.States (662), 85, (201, 1), 828);
-            Add_Action (Table.States (662), 99, Reduce, (125, 1),  0, null, 
null);
-            Table.States (662).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (662), 125, 829);
-            Table.States (662).Kernel := To_Vector ((((201, 1),  117,  2, 
(2147483647, 0),  0), ((201, 3),  117,  1,
-            (2147483647, 0),  0)));
-            Table.States (662).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (663).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (663), 7, (117, 0), 564);
-            Add_Action (Table.States (663), 81, (242, 8), 31);
-            Add_Action (Table.States (663), 107, (242, 5), 120);
-            Add_Action (Table.States (663), 108, (242, 7), 34);
-            Add_Action (Table.States (663), 109, (242, 6), 35);
-            Table.States (663).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (663), 131, 42);
-            Add_Goto (Table.States (663), 242, 830);
-            Add_Goto (Table.States (663), 275, 93);
-            Add_Goto (Table.States (663), 296, 98);
-            Table.States (663).Kernel := To_Vector ((((117, 0),  244,  2, 
(2147483647, 0),  0), ((117, 1),  244,  3,
-            (2147483647, 0),  0), ((117, 2),  244,  2, (2147483647, 0),  0), 
((201, 0),  244,  3, (2147483647, 0),  0),
-            ((201, 2),  244,  2, (2147483647, 0),  0)));
-            Table.States (663).Minimal_Complete_Actions := To_Vector (((Shift, 
(117, 0),  7, 564), (Shift, (242, 5),
-            107, 120)));
-            Table.States (664).Action_List.Set_Capacity (24);
-            Add_Action (Table.States (664), 4, (116, 0), 1);
-            Add_Action (Table.States (664), 5, (306, 8), 2);
-            Add_Action (Table.States (664), 13, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (664), 15, (142, 0), 3);
-            Add_Action (Table.States (664), 17, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (664), 18, (164, 0), 4);
-            Add_Action (Table.States (664), 24, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (664), 27, (193, 0), 5);
-            Add_Action (Table.States (664), 28, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (664), 31, (306, 3), 9);
-            Add_Action (Table.States (664), 32, (225, 0), 10);
-            Add_Action (Table.States (664), 37, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (664), 41, (306, 0), 13);
-            Add_Action (Table.States (664), 48, (260, 0), 16);
-            Add_Action (Table.States (664), 52, (279, 0), 20);
-            Add_Action (Table.States (664), 57, (293, 0), 21);
-            Add_Action (Table.States (664), 58, (199, 0), 22);
-            Add_Action (Table.States (664), 61, (129, 0), 24);
-            Add_Action (Table.States (664), 73, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (664), 81, (242, 8), 31);
-            Add_Action (Table.States (664), 96, (220, 0), 32);
-            Add_Action (Table.States (664), 107, (134, 0), 363);
-            Add_Action (Table.States (664), 108, (242, 7), 34);
-            Add_Action (Table.States (664), 109, (242, 6), 35);
-            Table.States (664).Goto_List.Set_Capacity (31);
-            Add_Goto (Table.States (664), 116, 37);
-            Add_Goto (Table.States (664), 126, 39);
-            Add_Goto (Table.States (664), 129, 40);
-            Add_Goto (Table.States (664), 131, 42);
-            Add_Goto (Table.States (664), 134, 43);
-            Add_Goto (Table.States (664), 135, 44);
-            Add_Goto (Table.States (664), 136, 45);
-            Add_Goto (Table.States (664), 142, 48);
-            Add_Goto (Table.States (664), 154, 51);
-            Add_Goto (Table.States (664), 155, 52);
-            Add_Goto (Table.States (664), 164, 54);
-            Add_Goto (Table.States (664), 193, 58);
-            Add_Goto (Table.States (664), 199, 60);
-            Add_Goto (Table.States (664), 220, 69);
-            Add_Goto (Table.States (664), 225, 71);
-            Add_Goto (Table.States (664), 235, 73);
-            Add_Goto (Table.States (664), 242, 74);
-            Add_Goto (Table.States (664), 260, 84);
-            Add_Goto (Table.States (664), 264, 87);
-            Add_Goto (Table.States (664), 275, 93);
-            Add_Goto (Table.States (664), 279, 94);
-            Add_Goto (Table.States (664), 293, 97);
-            Add_Goto (Table.States (664), 296, 98);
-            Add_Goto (Table.States (664), 297, 99);
-            Add_Goto (Table.States (664), 301, 100);
-            Add_Goto (Table.States (664), 302, 364);
-            Add_Goto (Table.States (664), 303, 831);
-            Add_Goto (Table.States (664), 305, 101);
-            Add_Goto (Table.States (664), 306, 102);
-            Add_Goto (Table.States (664), 309, 366);
-            Add_Goto (Table.States (664), 326, 115);
-            Table.States (664).Kernel := To_Vector ((0 => ((225, 1),  22,  3, 
(2147483647, 0),  0)));
-            Table.States (664).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (303, 1),  0)));
-            Table.States (665).Action_List.Set_Capacity (15);
-            Add_Action (Table.States (665), 3, (200, 2), 122);
-            Add_Action (Table.States (665), 39, (261, 4), 123);
-            Add_Action (Table.States (665), 40, (200, 3), 124);
-            Add_Action (Table.States (665), 41, (261, 1), 125);
-            Add_Action (Table.States (665), 52, (278, 0), 126);
-            Add_Action (Table.States (665), 68, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (665), 76, (120, 0), 127);
-            Add_Action (Table.States (665), 77, (120, 5), 128);
-            Add_Action (Table.States (665), 81, (242, 8), 31);
-            Add_Action (Table.States (665), 97, (333, 1), 129);
-            Add_Action (Table.States (665), 98, (333, 0), 130);
-            Add_Action (Table.States (665), 106, (261, 0), 131);
-            Add_Action (Table.States (665), 107, (242, 5), 120);
-            Add_Action (Table.States (665), 108, (242, 7), 34);
-            Add_Action (Table.States (665), 109, (242, 6), 35);
-            Table.States (665).Goto_List.Set_Capacity (20);
-            Add_Goto (Table.States (665), 120, 132);
-            Add_Goto (Table.States (665), 131, 42);
-            Add_Goto (Table.States (665), 194, 133);
-            Add_Goto (Table.States (665), 195, 832);
-            Add_Goto (Table.States (665), 200, 135);
-            Add_Goto (Table.States (665), 242, 136);
-            Add_Goto (Table.States (665), 261, 137);
-            Add_Goto (Table.States (665), 275, 93);
-            Add_Goto (Table.States (665), 278, 138);
-            Add_Goto (Table.States (665), 285, 139);
-            Add_Goto (Table.States (665), 286, 140);
-            Add_Goto (Table.States (665), 287, 141);
-            Add_Goto (Table.States (665), 288, 142);
-            Add_Goto (Table.States (665), 289, 143);
-            Add_Goto (Table.States (665), 290, 144);
-            Add_Goto (Table.States (665), 296, 98);
-            Add_Goto (Table.States (665), 304, 145);
-            Add_Goto (Table.States (665), 323, 146);
-            Add_Goto (Table.States (665), 324, 147);
-            Add_Goto (Table.States (665), 333, 148);
-            Table.States (665).Kernel := To_Vector ((0 => ((177, 0),  23,  1, 
(2147483647, 0),  0)));
-            Table.States (665).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (195, 1),  0)));
-            Table.States (666).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (666), 32, (225, 3), 833);
-            Table.States (666).Kernel := To_Vector ((0 => ((225, 3),  24,  2, 
(2147483647, 0),  0)));
-            Table.States (666).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (225, 3),  32, 833)));
-            Table.States (667).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (667), (22, 23, 24), (178, 1),  1, null, 
null);
-            Table.States (667).Kernel := To_Vector ((0 => ((178, 1),  177,  0, 
(178, 1),  1)));
-            Table.States (667).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (178, 1),  1)));
-            Table.States (668).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (668), 22, (225, 0), 834);
-            Add_Action (Table.States (668), 23, (177, 0), 665);
-            Add_Action (Table.States (668), 24, (225, 2), 835);
-            Table.States (668).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (668), 177, 836);
-            Table.States (668).Kernel := To_Vector ((((178, 0),  178,  2, 
(2147483647, 0),  0), ((225, 0),  178,  4,
-            (2147483647, 0),  0), ((225, 2),  178,  3, (2147483647, 0),  0)));
-            Table.States (668).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (225, 2),  24, 835)));
-         end Subr_13;
-         procedure Subr_14
-         is begin
-            Table.States (669).Action_List.Set_Capacity (40);
-            Add_Action (Table.States (669), (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, 81, 
96, 107, 108, 109, 110), (335, 0),  5,
-            with_clause_0'Access, null);
-            Table.States (669).Kernel := To_Vector ((0 => ((335, 0),  99,  0, 
(335, 0),  5)));
-            Table.States (669).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (335, 0),  5)));
-            Table.States (670).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (670), 74, (125, 0), 340);
-            Add_Action (Table.States (670), 99, Reduce, (125, 1),  0, null, 
null);
-            Table.States (670).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (670), 125, 837);
-            Table.States (670).Kernel := To_Vector ((0 => ((251, 0),  60,  1, 
(2147483647, 0),  0)));
-            Table.States (670).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (671).Action_List.Set_Capacity (17);
-            Add_Action (Table.States (671), 13, Reduce, (162, 1),  0, null, 
null);
-            Add_Action (Table.States (671), 24, Reduce, (162, 1),  0, null, 
null);
-            Add_Action (Table.States (671), 25, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (671), 28, (124, 0), 185);
-            Add_Action (Table.States (671), 29, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (671), 30, (213, 0), 8);
-            Add_Action (Table.States (671), 40, (249, 0), 12);
-            Add_Action (Table.States (671), 46, (249, 1), 14);
-            Add_Action (Table.States (671), 47, (216, 0), 15);
-            Add_Action (Table.States (671), 48, (260, 0), 16);
-            Add_Action (Table.States (671), 50, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (671), 51, (267, 0), 19);
-            Add_Action (Table.States (671), 63, (316, 0), 25);
-            Add_Action (Table.States (671), 66, (308, 0), 26);
-            Add_Action (Table.States (671), 69, (209, 0), 27);
-            Add_Action (Table.States (671), 71, (334, 0), 28);
-            Add_Action (Table.States (671), 107, (222, 1), 187);
-            Table.States (671).Goto_List.Set_Capacity (53);
-            Add_Goto (Table.States (671), 115, 36);
-            Add_Goto (Table.States (671), 124, 38);
-            Add_Goto (Table.States (671), 130, 41);
-            Add_Goto (Table.States (671), 137, 46);
-            Add_Goto (Table.States (671), 138, 47);
-            Add_Goto (Table.States (671), 160, 394);
-            Add_Goto (Table.States (671), 161, 395);
-            Add_Goto (Table.States (671), 162, 838);
-            Add_Goto (Table.States (671), 182, 55);
-            Add_Goto (Table.States (671), 185, 56);
-            Add_Goto (Table.States (671), 189, 57);
-            Add_Goto (Table.States (671), 196, 59);
-            Add_Goto (Table.States (671), 209, 61);
-            Add_Goto (Table.States (671), 210, 62);
-            Add_Goto (Table.States (671), 212, 63);
-            Add_Goto (Table.States (671), 213, 64);
-            Add_Goto (Table.States (671), 216, 65);
-            Add_Goto (Table.States (671), 217, 66);
-            Add_Goto (Table.States (671), 218, 67);
-            Add_Goto (Table.States (671), 219, 68);
-            Add_Goto (Table.States (671), 222, 70);
-            Add_Goto (Table.States (671), 226, 72);
-            Add_Goto (Table.States (671), 246, 75);
-            Add_Goto (Table.States (671), 247, 76);
-            Add_Goto (Table.States (671), 248, 77);
-            Add_Goto (Table.States (671), 249, 78);
-            Add_Goto (Table.States (671), 250, 79);
-            Add_Goto (Table.States (671), 251, 80);
-            Add_Goto (Table.States (671), 252, 81);
-            Add_Goto (Table.States (671), 253, 82);
-            Add_Goto (Table.States (671), 254, 83);
-            Add_Goto (Table.States (671), 260, 397);
-            Add_Goto (Table.States (671), 262, 85);
-            Add_Goto (Table.States (671), 263, 86);
-            Add_Goto (Table.States (671), 265, 88);
-            Add_Goto (Table.States (671), 266, 89);
-            Add_Goto (Table.States (671), 267, 90);
-            Add_Goto (Table.States (671), 268, 91);
-            Add_Goto (Table.States (671), 274, 92);
-            Add_Goto (Table.States (671), 284, 95);
-            Add_Goto (Table.States (671), 292, 96);
-            Add_Goto (Table.States (671), 307, 103);
-            Add_Goto (Table.States (671), 308, 104);
-            Add_Goto (Table.States (671), 310, 106);
-            Add_Goto (Table.States (671), 311, 107);
-            Add_Goto (Table.States (671), 312, 108);
-            Add_Goto (Table.States (671), 314, 109);
-            Add_Goto (Table.States (671), 316, 110);
-            Add_Goto (Table.States (671), 319, 112);
-            Add_Goto (Table.States (671), 320, 113);
-            Add_Goto (Table.States (671), 322, 114);
-            Add_Goto (Table.States (671), 328, 116);
-            Add_Goto (Table.States (671), 334, 117);
-            Table.States (671).Kernel := To_Vector ((((250, 0),  35,  3, 
(2147483647, 0),  0), ((250, 1),  35,  2,
-            (2147483647, 0),  0)));
-            Table.States (671).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (162, 1),  0)));
-            Table.States (672).Action_List.Set_Capacity (6);
-            Add_Action (Table.States (672), 74, (125, 0), 340);
-            Add_Action (Table.States (672), 76, (118, 0), 237);
-            Add_Action (Table.States (672), 87, (296, 0), 239);
-            Add_Action (Table.States (672), 99, Reduce, (125, 1),  0, null, 
null);
-            Add_Action (Table.States (672), 104, (325, 0), 241);
-            Add_Action (Table.States (672), 105, (325, 1), 242);
-            Table.States (672).Goto_List.Set_Capacity (3);
-            Add_Goto (Table.States (672), 118, 243);
-            Add_Goto (Table.States (672), 125, 839);
-            Add_Goto (Table.States (672), 325, 244);
-            Table.States (672).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((216, 0),  242,  1,
-            (2147483647, 0),  0), ((242, 0),  242,  5, (2147483647, 0),  0), 
((242, 1),  242,  2, (2147483647, 0),  0),
-            ((275, 0),  242,  3, (2147483647, 0),  0), ((296, 0),  242,  2, 
(2147483647, 0),  0), ((296, 1),  242,  2,
-            (2147483647, 0),  0), ((296, 2),  242,  2, (2147483647, 0),  0), 
((296, 3),  242,  2, (2147483647, 0),
-            0)));
-            Table.States (672).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (673).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (673), 99, (253, 0), 840);
-            Table.States (673).Kernel := To_Vector ((0 => ((253, 0),  125,  1, 
(2147483647, 0),  0)));
-            Table.States (673).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (253, 0),  99, 840)));
-            Table.States (674).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (674), 24, (254, 1), 841);
-            Add_Action (Table.States (674), 49, (254, 0), 842);
-            Table.States (674).Kernel := To_Vector ((((254, 0),  162,  2, 
(2147483647, 0),  0), ((254, 1),  162,  1,
-            (2147483647, 0),  0)));
-            Table.States (674).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (254, 1),  24, 841)));
-            Table.States (675).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (675), 99, (260, 0), 843);
-            Table.States (675).Kernel := To_Vector ((0 => ((260, 0),  78,  1, 
(2147483647, 0),  0)));
-            Table.States (675).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (260, 0),  99, 843)));
-            Table.States (676).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (676), 99, (260, 1), 844);
-            Table.States (676).Kernel := To_Vector ((0 => ((260, 1),  78,  1, 
(2147483647, 0),  0)));
-            Table.States (676).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (260, 1),  99, 844)));
-            Table.States (677).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (677), 74, (125, 0), 340);
-            Add_Action (Table.States (677), 99, Reduce, (125, 1),  0, null, 
null);
-            Table.States (677).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (677), 125, 845);
-            Table.States (677).Kernel := To_Vector ((0 => ((268, 0),  60,  1, 
(2147483647, 0),  0)));
-            Table.States (677).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (678).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (678), 24, Reduce, (272, 1),  0, null, 
null);
-            Add_Action (Table.States (678), 25, (179, 0), 846);
-            Add_Action (Table.States (678), 28, (124, 0), 185);
-            Add_Action (Table.States (678), 29, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (678), 40, (249, 0), 12);
-            Add_Action (Table.States (678), 46, (249, 1), 14);
-            Add_Action (Table.States (678), 50, Reduce, (249, 2),  0, null, 
null);
-            Table.States (678).Goto_List.Set_Capacity (15);
-            Add_Goto (Table.States (678), 124, 847);
-            Add_Goto (Table.States (678), 130, 41);
-            Add_Goto (Table.States (678), 179, 848);
-            Add_Goto (Table.States (678), 185, 56);
-            Add_Goto (Table.States (678), 196, 849);
-            Add_Goto (Table.States (678), 210, 62);
-            Add_Goto (Table.States (678), 246, 850);
-            Add_Goto (Table.States (678), 249, 851);
-            Add_Goto (Table.States (678), 265, 88);
-            Add_Goto (Table.States (678), 270, 852);
-            Add_Goto (Table.States (678), 271, 853);
-            Add_Goto (Table.States (678), 272, 854);
-            Add_Goto (Table.States (678), 284, 95);
-            Add_Goto (Table.States (678), 310, 855);
-            Add_Goto (Table.States (678), 312, 856);
-            Table.States (678).Kernel := To_Vector ((0 => ((267, 0),  35,  2, 
(2147483647, 0),  0)));
-            Table.States (678).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (272, 1),  0)));
-            Table.States (679).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (679), 35, (274, 0), 857);
-            Table.States (679).Kernel := To_Vector ((((274, 0),  125,  6, 
(2147483647, 0),  0), ((274, 1),  125,  3,
-            (2147483647, 0),  0)));
-            Table.States (679).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (274, 0),  35, 857)));
-            Table.States (680).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (680), 81, (242, 8), 31);
-            Add_Action (Table.States (680), 107, (242, 5), 120);
-            Add_Action (Table.States (680), 108, (242, 7), 34);
-            Add_Action (Table.States (680), 109, (242, 6), 35);
-            Table.States (680).Goto_List.Set_Capacity (5);
-            Add_Goto (Table.States (680), 131, 42);
-            Add_Goto (Table.States (680), 230, 858);
-            Add_Goto (Table.States (680), 242, 859);
-            Add_Goto (Table.States (680), 275, 93);
-            Add_Goto (Table.States (680), 296, 98);
-            Table.States (680).Kernel := To_Vector ((0 => ((307, 0),  39,  4, 
(2147483647, 0),  0)));
-            Table.States (680).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (681).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (681), 24, (269, 1), 860);
-            Add_Action (Table.States (681), 49, (269, 0), 861);
-            Table.States (681).Kernel := To_Vector ((((269, 0),  162,  2, 
(2147483647, 0),  0), ((269, 1),  162,  1,
-            (2147483647, 0),  0)));
-            Table.States (682).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (682), 99, (307, 1), 862);
-            Table.States (682).Kernel := To_Vector ((0 => ((307, 1),  269,  1, 
(2147483647, 0),  0)));
-            Table.States (682).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (307, 1),  99, 862)));
-            Table.States (683).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (683), (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, 81, 96, 107, 108,
-            109, 110), (279, 0),  5, raise_statement_0'Access, null);
-            Table.States (683).Kernel := To_Vector ((0 => ((279, 0),  99,  0, 
(279, 0),  5)));
-            Table.States (683).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (279, 0),  5)));
-            Table.States (684).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (684), (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, 81, 96, 107, 108,
-            109, 110), (293, 0),  5, requeue_statement_0'Access, null);
-            Table.States (684).Kernel := To_Vector ((0 => ((293, 0),  99,  0, 
(293, 0),  5)));
-            Table.States (684).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (293, 0),  5)));
-            Table.States (685).Action_List.Set_Capacity (6);
-            Add_Action (Table.States (685), 7, Reduce, (244, 1),  0, null, 
null);
-            Add_Action (Table.States (685), 40, (244, 0), 756);
-            Add_Action (Table.States (685), 81, (242, 8), 31);
-            Add_Action (Table.States (685), 107, (242, 5), 120);
-            Add_Action (Table.States (685), 108, (242, 7), 34);
-            Add_Action (Table.States (685), 109, (242, 6), 35);
-            Table.States (685).Goto_List.Set_Capacity (8);
-            Add_Goto (Table.States (685), 117, 863);
-            Add_Goto (Table.States (685), 131, 42);
-            Add_Goto (Table.States (685), 242, 491);
-            Add_Goto (Table.States (685), 244, 735);
-            Add_Goto (Table.States (685), 275, 93);
-            Add_Goto (Table.States (685), 295, 864);
-            Add_Goto (Table.States (685), 296, 98);
-            Add_Goto (Table.States (685), 317, 865);
-            Table.States (685).Kernel := To_Vector ((((197, 0),  157,  2, 
(2147483647, 0),  0), ((197, 1),  157,  1,
-            (2147483647, 0),  0)));
-            Table.States (685).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (686).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (686), 58, (199, 0), 866);
-            Table.States (686).Kernel := To_Vector ((0 => ((199, 0),  24,  2, 
(2147483647, 0),  0)));
-            Table.States (686).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (199, 0),  58, 866)));
-            Table.States (687).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (687), 14, (250, 0), 867);
-            Table.States (687).Kernel := To_Vector ((((250, 0),  47,  6, 
(2147483647, 0),  0), ((250, 1),  47,  5,
-            (2147483647, 0),  0)));
-            Table.States (687).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (250, 0),  14, 867)));
-            Table.States (688).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (688), 14, (267, 0), 868);
-            Table.States (688).Kernel := To_Vector ((0 => ((267, 0),  51,  5, 
(2147483647, 0),  0)));
-            Table.States (688).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (267, 0),  14, 868)));
-            Table.States (689).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (689), 14, (319, 0), 869);
-            Table.States (689).Kernel := To_Vector ((0 => ((319, 0),  66,  6, 
(2147483647, 0),  0)));
-            Table.States (689).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (319, 0),  14, 869)));
-            Table.States (690).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (690), 29, (210, 0), 7);
-            Add_Action (Table.States (690), 50, (265, 0), 18);
-            Table.States (690).Goto_List.Set_Capacity (3);
-            Add_Goto (Table.States (690), 210, 62);
-            Add_Goto (Table.States (690), 265, 88);
-            Add_Goto (Table.States (690), 315, 870);
-            Table.States (690).Kernel := To_Vector ((0 => ((310, 0),  249,  6, 
(2147483647, 0),  0)));
-            Table.States (690).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (265, 0),  50, 18)));
-            Table.States (691).Action_List.Set_Capacity (40);
-            Add_Action (Table.States (691), (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, 81, 
96, 107, 108, 109, 110), (318, 0),  5,
-            subunit_0'Access, null);
-            Table.States (691).Kernel := To_Vector ((0 => ((318, 0),  266,  0, 
(318, 0),  5)));
-            Table.States (691).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (318, 0),  5)));
-            Table.States (692).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (692), 99, (298, 1), 871);
-            Table.States (692).Kernel := To_Vector ((0 => ((298, 1),  67,  1, 
(2147483647, 0),  0)));
-            Table.States (692).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (298, 1),  99, 871)));
-            Table.States (693).Action_List.Set_Capacity (26);
-            Add_Action (Table.States (693), 4, (116, 0), 1);
-            Add_Action (Table.States (693), 5, (306, 8), 2);
-            Add_Action (Table.States (693), 13, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (693), 15, (142, 0), 3);
-            Add_Action (Table.States (693), 17, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (693), 18, (164, 0), 4);
-            Add_Action (Table.States (693), 22, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (693), 24, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (693), 27, (193, 0), 5);
-            Add_Action (Table.States (693), 28, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (693), 31, (306, 3), 9);
-            Add_Action (Table.States (693), 32, (225, 0), 10);
-            Add_Action (Table.States (693), 37, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (693), 41, (306, 0), 13);
-            Add_Action (Table.States (693), 43, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (693), 48, (260, 0), 16);
-            Add_Action (Table.States (693), 52, (279, 0), 20);
-            Add_Action (Table.States (693), 57, (293, 0), 21);
-            Add_Action (Table.States (693), 58, (199, 0), 22);
-            Add_Action (Table.States (693), 61, (129, 0), 24);
-            Add_Action (Table.States (693), 73, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (693), 81, (242, 8), 31);
-            Add_Action (Table.States (693), 96, (220, 0), 32);
-            Add_Action (Table.States (693), 107, (134, 0), 363);
-            Add_Action (Table.States (693), 108, (242, 7), 34);
-            Add_Action (Table.States (693), 109, (242, 6), 35);
-            Table.States (693).Goto_List.Set_Capacity (31);
-            Add_Goto (Table.States (693), 116, 37);
-            Add_Goto (Table.States (693), 126, 39);
-            Add_Goto (Table.States (693), 129, 40);
-            Add_Goto (Table.States (693), 131, 42);
-            Add_Goto (Table.States (693), 134, 43);
-            Add_Goto (Table.States (693), 135, 44);
-            Add_Goto (Table.States (693), 136, 45);
-            Add_Goto (Table.States (693), 142, 48);
-            Add_Goto (Table.States (693), 154, 51);
-            Add_Goto (Table.States (693), 155, 52);
-            Add_Goto (Table.States (693), 164, 54);
-            Add_Goto (Table.States (693), 193, 58);
-            Add_Goto (Table.States (693), 199, 60);
-            Add_Goto (Table.States (693), 220, 69);
-            Add_Goto (Table.States (693), 225, 71);
-            Add_Goto (Table.States (693), 235, 73);
-            Add_Goto (Table.States (693), 242, 74);
-            Add_Goto (Table.States (693), 260, 84);
-            Add_Goto (Table.States (693), 264, 87);
-            Add_Goto (Table.States (693), 275, 93);
-            Add_Goto (Table.States (693), 279, 94);
-            Add_Goto (Table.States (693), 293, 97);
-            Add_Goto (Table.States (693), 296, 98);
-            Add_Goto (Table.States (693), 297, 99);
-            Add_Goto (Table.States (693), 301, 100);
-            Add_Goto (Table.States (693), 302, 364);
-            Add_Goto (Table.States (693), 303, 872);
-            Add_Goto (Table.States (693), 305, 101);
-            Add_Goto (Table.States (693), 306, 102);
-            Add_Goto (Table.States (693), 309, 366);
-            Add_Goto (Table.States (693), 326, 115);
-            Table.States (693).Kernel := To_Vector ((0 => ((298, 0),  116,  0, 
(303, 1),  0)));
-            Table.States (693).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (303, 1),  0)));
-            Table.States (694).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (694), (22, 24, 43), (298, 2),  4, 
select_alternative_2'Access, null);
-            Table.States (694).Kernel := To_Vector ((0 => ((298, 2),  163,  0, 
(298, 2),  4)));
-            Table.States (694).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (298, 2),  4)));
-            Table.States (695).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (695), 61, (155, 0), 873);
-            Table.States (695).Kernel := To_Vector ((0 => ((155, 0),  24,  2, 
(2147483647, 0),  0)));
-            Table.States (695).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (155, 0),  61, 873)));
-            Table.States (696).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (696), 61, (326, 0), 874);
-            Table.States (696).Kernel := To_Vector ((0 => ((326, 0),  24,  2, 
(2147483647, 0),  0)));
-            Table.States (696).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (326, 0),  61, 874)));
-            Table.States (697).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (697), (22, 24, 43), (163, 0),  2, null, 
null);
-            Table.States (697).Kernel := To_Vector ((0 => ((163, 0),  303,  0, 
(163, 0),  2)));
-            Table.States (697).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (163, 0),  2)));
-            Table.States (698).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (698), 61, (297, 0), 875);
-            Table.States (698).Kernel := To_Vector ((0 => ((297, 0),  24,  2, 
(2147483647, 0),  0)));
-            Table.States (698).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (297, 0),  61, 875)));
-            Table.States (699).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (699), (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, 81, 96, 107, 108,
-            109, 110), (297, 1),  5, selective_accept_1'Access, null);
-            Table.States (699).Kernel := To_Vector ((0 => ((297, 1),  99,  0, 
(297, 1),  5)));
-            Table.States (699).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (297, 1),  5)));
-            Table.States (700).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (700), 24, (129, 0), 876);
-            Table.States (700).Kernel := To_Vector ((0 => ((129, 0),  303,  3, 
(2147483647, 0),  0)));
-            Table.States (700).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (129, 0),  24, 876)));
-            Table.States (701).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (701), 99, (316, 0), 877);
-            Table.States (701).Kernel := To_Vector ((0 => ((316, 0),  125,  1, 
(2147483647, 0),  0)));
-            Table.States (701).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (316, 0),  99, 877)));
-            Table.States (702).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (702), 74, (125, 0), 340);
-            Add_Action (Table.States (702), 99, Reduce, (125, 1),  0, null, 
null);
-            Table.States (702).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (702), 125, 878);
-            Table.States (702).Kernel := To_Vector ((0 => ((320, 0),  60,  1, 
(2147483647, 0),  0)));
-            Table.States (702).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (703).Action_List.Set_Capacity (16);
-            Add_Action (Table.States (703), 13, Reduce, (162, 1),  0, null, 
null);
-            Add_Action (Table.States (703), 25, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (703), 28, (124, 0), 185);
-            Add_Action (Table.States (703), 29, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (703), 30, (213, 0), 8);
-            Add_Action (Table.States (703), 40, (249, 0), 12);
-            Add_Action (Table.States (703), 46, (249, 1), 14);
-            Add_Action (Table.States (703), 47, (216, 0), 15);
-            Add_Action (Table.States (703), 48, (260, 0), 16);
-            Add_Action (Table.States (703), 50, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (703), 51, (267, 0), 19);
-            Add_Action (Table.States (703), 63, (316, 0), 25);
-            Add_Action (Table.States (703), 66, (308, 0), 26);
-            Add_Action (Table.States (703), 69, (209, 0), 27);
-            Add_Action (Table.States (703), 71, (334, 0), 28);
-            Add_Action (Table.States (703), 107, (222, 1), 187);
-            Table.States (703).Goto_List.Set_Capacity (53);
-            Add_Goto (Table.States (703), 115, 36);
-            Add_Goto (Table.States (703), 124, 38);
-            Add_Goto (Table.States (703), 130, 41);
-            Add_Goto (Table.States (703), 137, 46);
-            Add_Goto (Table.States (703), 138, 47);
-            Add_Goto (Table.States (703), 160, 394);
-            Add_Goto (Table.States (703), 161, 395);
-            Add_Goto (Table.States (703), 162, 879);
-            Add_Goto (Table.States (703), 182, 55);
-            Add_Goto (Table.States (703), 185, 56);
-            Add_Goto (Table.States (703), 189, 57);
-            Add_Goto (Table.States (703), 196, 59);
-            Add_Goto (Table.States (703), 209, 61);
-            Add_Goto (Table.States (703), 210, 62);
-            Add_Goto (Table.States (703), 212, 63);
-            Add_Goto (Table.States (703), 213, 64);
-            Add_Goto (Table.States (703), 216, 65);
-            Add_Goto (Table.States (703), 217, 66);
-            Add_Goto (Table.States (703), 218, 67);
-            Add_Goto (Table.States (703), 219, 68);
-            Add_Goto (Table.States (703), 222, 70);
-            Add_Goto (Table.States (703), 226, 72);
-            Add_Goto (Table.States (703), 246, 75);
-            Add_Goto (Table.States (703), 247, 76);
-            Add_Goto (Table.States (703), 248, 77);
-            Add_Goto (Table.States (703), 249, 78);
-            Add_Goto (Table.States (703), 250, 79);
-            Add_Goto (Table.States (703), 251, 80);
-            Add_Goto (Table.States (703), 252, 81);
-            Add_Goto (Table.States (703), 253, 82);
-            Add_Goto (Table.States (703), 254, 83);
-            Add_Goto (Table.States (703), 260, 397);
-            Add_Goto (Table.States (703), 262, 85);
-            Add_Goto (Table.States (703), 263, 86);
-            Add_Goto (Table.States (703), 265, 88);
-            Add_Goto (Table.States (703), 266, 89);
-            Add_Goto (Table.States (703), 267, 90);
-            Add_Goto (Table.States (703), 268, 91);
-            Add_Goto (Table.States (703), 274, 92);
-            Add_Goto (Table.States (703), 284, 95);
-            Add_Goto (Table.States (703), 292, 96);
-            Add_Goto (Table.States (703), 307, 103);
-            Add_Goto (Table.States (703), 308, 104);
-            Add_Goto (Table.States (703), 310, 106);
-            Add_Goto (Table.States (703), 311, 107);
-            Add_Goto (Table.States (703), 312, 108);
-            Add_Goto (Table.States (703), 314, 109);
-            Add_Goto (Table.States (703), 316, 110);
-            Add_Goto (Table.States (703), 319, 112);
-            Add_Goto (Table.States (703), 320, 113);
-            Add_Goto (Table.States (703), 322, 114);
-            Add_Goto (Table.States (703), 328, 116);
-            Add_Goto (Table.States (703), 334, 117);
-            Table.States (703).Kernel := To_Vector ((0 => ((319, 0),  35,  3, 
(2147483647, 0),  0)));
-            Table.States (703).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (162, 1),  0)));
-            Table.States (704).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (704), 35, (322, 0), 880);
-            Add_Action (Table.States (704), 99, (322, 2), 881);
-            Table.States (704).Kernel := To_Vector ((((322, 0),  125,  6, 
(2147483647, 0),  0), ((322, 1),  125,  3,
-            (2147483647, 0),  0), ((322, 2),  125,  1, (2147483647, 0),  0)));
-            Table.States (704).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (322, 2),  99, 881)));
-            Table.States (705).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (705), 81, (242, 8), 31);
-            Add_Action (Table.States (705), 107, (242, 5), 120);
-            Add_Action (Table.States (705), 108, (242, 7), 34);
-            Add_Action (Table.States (705), 109, (242, 6), 35);
-            Table.States (705).Goto_List.Set_Capacity (5);
-            Add_Goto (Table.States (705), 131, 42);
-            Add_Goto (Table.States (705), 230, 882);
-            Add_Goto (Table.States (705), 242, 859);
-            Add_Goto (Table.States (705), 275, 93);
-            Add_Goto (Table.States (705), 296, 98);
-            Table.States (705).Kernel := To_Vector ((0 => ((308, 0),  39,  4, 
(2147483647, 0),  0)));
-            Table.States (705).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (706).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (706), 24, Reduce, (321, 1),  1, 
task_definition_1'Access, null);
-            Add_Action (Table.States (706), 49, (321, 0), 883);
-            Table.States (706).Kernel := To_Vector ((((321, 0),  162,  1, 
(2147483647, 0),  0), ((321, 1),  162,  0,
-            (321, 1),  1)));
-            Table.States (706).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (321, 1),  1)));
-            Table.States (707).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (707), 24, (308, 1), 884);
-            Table.States (707).Kernel := To_Vector ((0 => ((308, 1),  321,  2, 
(2147483647, 0),  0)));
-            Table.States (707).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (308, 1),  24, 884)));
-            Table.States (708).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (708), (35, 74, 99), (172, 0),  3, null, 
null);
-            Table.States (708).Kernel := To_Vector ((0 => ((172, 0),  78,  0, 
(172, 0),  3)));
-            Table.States (708).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (172, 0),  3)));
-            Table.States (709).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (709), (35, 74, 99), (172, 1),  3, 
discriminant_part_opt_1'Access, null);
-            Table.States (709).Kernel := To_Vector ((0 => ((172, 1),  78,  0, 
(172, 1),  3)));
-            Table.States (709).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (172, 1),  3)));
-            Table.States (710).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (710), 78, Reduce, (173, 4),  0, null, 
null);
-            Add_Action (Table.States (710), 99, Reduce, (173, 4),  0, null, 
null);
-            Add_Action (Table.States (710), 107, (222, 1), 166);
-            Table.States (710).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (710), 173, 885);
-            Add_Goto (Table.States (710), 222, 555);
-            Table.States (710).Kernel := To_Vector ((0 => ((174, 0),  99,  0, 
(173, 4),  0)));
-            Table.States (710).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (173, 4),  0)));
-            Table.States (711).Action_List.Set_Capacity (6);
-            Add_Action (Table.States (711), 7, Reduce, (244, 1),  0, null, 
null);
-            Add_Action (Table.States (711), 40, (244, 0), 886);
-            Add_Action (Table.States (711), 81, (242, 8), 31);
-            Add_Action (Table.States (711), 107, (242, 5), 887);
-            Add_Action (Table.States (711), 108, (242, 7), 34);
-            Add_Action (Table.States (711), 109, (242, 6), 35);
-            Table.States (711).Goto_List.Set_Capacity (7);
-            Add_Goto (Table.States (711), 117, 888);
-            Add_Goto (Table.States (711), 131, 42);
-            Add_Goto (Table.States (711), 242, 889);
-            Add_Goto (Table.States (711), 244, 735);
-            Add_Goto (Table.States (711), 245, 890);
-            Add_Goto (Table.States (711), 275, 93);
-            Add_Goto (Table.States (711), 296, 891);
-            Table.States (711).Kernel := To_Vector ((((173, 0),  84,  2, 
(2147483647, 0),  0), ((173, 1),  84,  3,
-            (2147483647, 0),  0), ((173, 2),  84,  1, (2147483647, 0),  0), 
((173, 3),  84,  2, (2147483647, 0),  0)));
-            Table.States (711).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 887)));
-            Table.States (712).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (712), 36, (112, 0), 892);
-            Add_Action (Table.States (712), 39, Reduce, (112, 2),  1, null, 
null);
-            Add_Conflict (Table.States (712), 39, (113, 2),  1, null, null);
-            Add_Action (Table.States (712), 64, (112, 1), 893);
-            Add_Action (Table.States (712), 65, (114, 0), 894);
-            Table.States (712).Kernel := To_Vector ((((112, 0),  6,  1, 
(2147483647, 0),  0), ((112, 1),  6,  1,
-            (2147483647, 0),  0), ((112, 2),  6,  0, (112, 2),  1), ((113, 0), 
 6,  1, (2147483647, 0),  0), ((113, 2),
-             6,  0, (113, 2),  1), ((114, 0),  6,  2, (2147483647, 0),  0), 
((114, 1),  6,  1, (2147483647, 0),  0)));
-            Table.States (712).Minimal_Complete_Actions := To_Vector (((Shift, 
(112, 0),  36, 892), (Shift, (112, 1),
-            64, 893), (Reduce, (112, 2),  1), (Reduce, (113, 2),  1), (Shift, 
(114, 0),  65, 894)));
-            Table.States (713).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (713), 76, (123, 0), 895);
-            Table.States (713).Kernel := To_Vector ((((123, 0),  11,  7, 
(2147483647, 0),  0), ((123, 1),  11,  7,
-            (2147483647, 0),  0)));
-            Table.States (713).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (123, 0),  76, 895)));
-            Table.States (714).Action_List.Set_Capacity (18);
-            Add_Action (Table.States (714), 3, (200, 2), 122);
-            Add_Action (Table.States (714), 20, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (714), 39, (261, 4), 123);
-            Add_Action (Table.States (714), 40, (200, 3), 124);
-            Add_Action (Table.States (714), 41, (261, 1), 125);
-            Add_Action (Table.States (714), 52, (278, 0), 126);
-            Add_Action (Table.States (714), 53, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (714), 74, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (714), 76, (120, 0), 127);
-            Add_Action (Table.States (714), 77, (120, 5), 128);
-            Add_Action (Table.States (714), 81, (242, 8), 31);
-            Add_Action (Table.States (714), 97, (333, 1), 129);
-            Add_Action (Table.States (714), 98, (333, 0), 130);
-            Add_Action (Table.States (714), 99, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (714), 106, (261, 0), 131);
-            Add_Action (Table.States (714), 107, (242, 5), 120);
-            Add_Action (Table.States (714), 108, (242, 7), 34);
-            Add_Action (Table.States (714), 109, (242, 6), 35);
-            Table.States (714).Goto_List.Set_Capacity (20);
-            Add_Goto (Table.States (714), 120, 132);
-            Add_Goto (Table.States (714), 131, 42);
-            Add_Goto (Table.States (714), 194, 133);
-            Add_Goto (Table.States (714), 195, 896);
-            Add_Goto (Table.States (714), 200, 135);
-            Add_Goto (Table.States (714), 242, 136);
-            Add_Goto (Table.States (714), 261, 137);
-            Add_Goto (Table.States (714), 275, 93);
-            Add_Goto (Table.States (714), 278, 138);
-            Add_Goto (Table.States (714), 285, 139);
-            Add_Goto (Table.States (714), 286, 140);
-            Add_Goto (Table.States (714), 287, 141);
-            Add_Goto (Table.States (714), 288, 142);
-            Add_Goto (Table.States (714), 289, 143);
-            Add_Goto (Table.States (714), 290, 144);
-            Add_Goto (Table.States (714), 296, 98);
-            Add_Goto (Table.States (714), 304, 145);
-            Add_Goto (Table.States (714), 323, 146);
-            Add_Goto (Table.States (714), 324, 147);
-            Add_Goto (Table.States (714), 333, 148);
-            Table.States (714).Kernel := To_Vector ((((329, 4),  19,  1, 
(2147483647, 0),  0), ((329, 5),  19,  0,
-            (195, 1),  0)));
-            Table.States (714).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (195, 1),  0)));
-            Table.States (715).Action_List.Set_Capacity (17);
-            Add_Action (Table.States (715), 3, (200, 2), 122);
-            Add_Action (Table.States (715), 39, (261, 4), 123);
-            Add_Action (Table.States (715), 40, (200, 3), 124);
-            Add_Action (Table.States (715), 41, (261, 1), 125);
-            Add_Action (Table.States (715), 52, (278, 0), 126);
-            Add_Action (Table.States (715), 53, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (715), 74, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (715), 76, (120, 0), 127);
-            Add_Action (Table.States (715), 77, (120, 5), 128);
-            Add_Action (Table.States (715), 81, (242, 8), 31);
-            Add_Action (Table.States (715), 97, (333, 1), 129);
-            Add_Action (Table.States (715), 98, (333, 0), 130);
-            Add_Action (Table.States (715), 99, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (715), 106, (261, 0), 131);
-            Add_Action (Table.States (715), 107, (242, 5), 120);
-            Add_Action (Table.States (715), 108, (242, 7), 34);
-            Add_Action (Table.States (715), 109, (242, 6), 35);
-            Table.States (715).Goto_List.Set_Capacity (20);
-            Add_Goto (Table.States (715), 120, 132);
-            Add_Goto (Table.States (715), 131, 42);
-            Add_Goto (Table.States (715), 194, 133);
-            Add_Goto (Table.States (715), 195, 897);
-            Add_Goto (Table.States (715), 200, 135);
-            Add_Goto (Table.States (715), 242, 136);
-            Add_Goto (Table.States (715), 261, 137);
-            Add_Goto (Table.States (715), 275, 93);
-            Add_Goto (Table.States (715), 278, 138);
-            Add_Goto (Table.States (715), 285, 139);
-            Add_Goto (Table.States (715), 286, 140);
-            Add_Goto (Table.States (715), 287, 141);
-            Add_Goto (Table.States (715), 288, 142);
-            Add_Goto (Table.States (715), 289, 143);
-            Add_Goto (Table.States (715), 290, 144);
-            Add_Goto (Table.States (715), 296, 98);
-            Add_Goto (Table.States (715), 304, 145);
-            Add_Goto (Table.States (715), 323, 146);
-            Add_Goto (Table.States (715), 324, 147);
-            Add_Goto (Table.States (715), 333, 148);
-            Table.States (715).Kernel := To_Vector ((0 => ((329, 3),  20,  0, 
(195, 1),  0)));
-            Table.States (715).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (195, 1),  0)));
-            Table.States (716).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (716), (74, 99), (231, 8),  1, null, 
null);
-            Table.States (716).Kernel := To_Vector ((0 => ((231, 8),  34,  0, 
(231, 8),  1)));
-            Table.States (716).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (231, 8),  1)));
-            Table.States (717).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (717), 34, (231, 0), 898);
-            Add_Action (Table.States (717), 39, Reduce, (112, 3),  1, null, 
null);
-            Add_Conflict (Table.States (717), 39, (113, 1),  1, null, null);
-            Add_Action (Table.States (717), 41, Reduce, (114, 4),  1, null, 
null);
-            Add_Action (Table.States (717), 49, Reduce, (114, 4),  1, null, 
null);
-            Add_Action (Table.States (717), 54, Reduce, (114, 4),  1, null, 
null);
-            Table.States (717).Kernel := To_Vector ((((112, 3),  36,  0, (112, 
3),  1), ((113, 1),  36,  0, (113, 1),
-            1), ((114, 4),  36,  0, (114, 4),  1), ((231, 0),  36,  3, 
(2147483647, 0),  0), ((231, 4),  36,  1,
-            (2147483647, 0),  0)));
-            Table.States (717).Minimal_Complete_Actions := To_Vector 
(((Reduce, (112, 3),  1), (Reduce, (113, 1),  1),
-            (Reduce, (114, 4),  1), (Shift, (231, 0),  34, 898)));
-            Table.States (718).Action_List.Set_Capacity (16);
-            Add_Action (Table.States (718), 3, (200, 2), 122);
-            Add_Action (Table.States (718), 39, (261, 4), 123);
-            Add_Action (Table.States (718), 40, (200, 3), 124);
-            Add_Action (Table.States (718), 41, (261, 1), 125);
-            Add_Action (Table.States (718), 52, (278, 0), 126);
-            Add_Action (Table.States (718), 74, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (718), 76, (120, 0), 127);
-            Add_Action (Table.States (718), 77, (120, 5), 128);
-            Add_Action (Table.States (718), 81, (242, 8), 31);
-            Add_Action (Table.States (718), 97, (333, 1), 129);
-            Add_Action (Table.States (718), 98, (333, 0), 130);
-            Add_Action (Table.States (718), 99, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (718), 106, (261, 0), 131);
-            Add_Action (Table.States (718), 107, (242, 5), 120);
-            Add_Action (Table.States (718), 108, (242, 7), 34);
-            Add_Action (Table.States (718), 109, (242, 6), 35);
-            Table.States (718).Goto_List.Set_Capacity (20);
-            Add_Goto (Table.States (718), 120, 132);
-            Add_Goto (Table.States (718), 131, 42);
-            Add_Goto (Table.States (718), 194, 133);
-            Add_Goto (Table.States (718), 195, 899);
-            Add_Goto (Table.States (718), 200, 135);
-            Add_Goto (Table.States (718), 242, 136);
-            Add_Goto (Table.States (718), 261, 137);
-            Add_Goto (Table.States (718), 275, 93);
-            Add_Goto (Table.States (718), 278, 138);
-            Add_Goto (Table.States (718), 285, 139);
-            Add_Goto (Table.States (718), 286, 140);
-            Add_Goto (Table.States (718), 287, 141);
-            Add_Goto (Table.States (718), 288, 142);
-            Add_Goto (Table.States (718), 289, 143);
-            Add_Goto (Table.States (718), 290, 144);
-            Add_Goto (Table.States (718), 296, 98);
-            Add_Goto (Table.States (718), 304, 145);
-            Add_Goto (Table.States (718), 323, 146);
-            Add_Goto (Table.States (718), 324, 147);
-            Add_Goto (Table.States (718), 333, 148);
-            Table.States (718).Kernel := To_Vector ((0 => ((329, 2),  38,  0, 
(195, 1),  0)));
-            Table.States (718).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (195, 1),  0)));
-            Table.States (719).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (719), 54, (283, 1), 900);
-            Table.States (719).Kernel := To_Vector ((0 => ((283, 1),  41,  1, 
(2147483647, 0),  0)));
-            Table.States (719).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (283, 1),  54, 900)));
-            Table.States (720).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (720), 34, (231, 2), 901);
-            Table.States (720).Kernel := To_Vector ((((231, 2),  51,  3, 
(2147483647, 0),  0), ((231, 6),  51,  1,
-            (2147483647, 0),  0)));
-            Table.States (720).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (231, 2),  34, 901)));
-            Table.States (721).Action_List.Set_Capacity (13);
-            Add_Action (Table.States (721), 3, (200, 2), 122);
-            Add_Action (Table.States (721), 39, (261, 4), 123);
-            Add_Action (Table.States (721), 40, (200, 3), 124);
-            Add_Action (Table.States (721), 41, (261, 1), 125);
-            Add_Action (Table.States (721), 76, (120, 0), 127);
-            Add_Action (Table.States (721), 77, (120, 5), 128);
-            Add_Action (Table.States (721), 81, (242, 8), 31);
-            Add_Action (Table.States (721), 97, (333, 1), 129);
-            Add_Action (Table.States (721), 98, (333, 0), 130);
-            Add_Action (Table.States (721), 106, (261, 0), 131);
-            Add_Action (Table.States (721), 107, (242, 5), 120);
-            Add_Action (Table.States (721), 108, (242, 7), 34);
-            Add_Action (Table.States (721), 109, (242, 6), 35);
-            Table.States (721).Goto_List.Set_Capacity (11);
-            Add_Goto (Table.States (721), 120, 132);
-            Add_Goto (Table.States (721), 131, 42);
-            Add_Goto (Table.States (721), 200, 135);
-            Add_Goto (Table.States (721), 242, 136);
-            Add_Goto (Table.States (721), 261, 137);
-            Add_Goto (Table.States (721), 275, 93);
-            Add_Goto (Table.States (721), 296, 98);
-            Add_Goto (Table.States (721), 304, 902);
-            Add_Goto (Table.States (721), 323, 146);
-            Add_Goto (Table.States (721), 324, 147);
-            Add_Goto (Table.States (721), 333, 148);
-            Table.States (721).Kernel := To_Vector ((0 => ((329, 1),  53,  3, 
(2147483647, 0),  0)));
-            Table.States (721).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (261, 0),  106, 131)));
-            Table.States (722).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (722), 15, (330, 0), 903);
-            Add_Action (Table.States (722), 24, Reduce, (153, 1),  0, null, 
null);
-            Add_Action (Table.States (722), 28, (124, 0), 185);
-            Add_Action (Table.States (722), 41, (152, 4), 904);
-            Add_Action (Table.States (722), 107, (222, 1), 166);
-            Table.States (722).Goto_List.Set_Capacity (10);
-            Add_Goto (Table.States (722), 124, 905);
-            Add_Goto (Table.States (722), 130, 41);
-            Add_Goto (Table.States (722), 149, 906);
-            Add_Goto (Table.States (722), 151, 907);
-            Add_Goto (Table.States (722), 152, 908);
-            Add_Goto (Table.States (722), 153, 909);
-            Add_Goto (Table.States (722), 185, 56);
-            Add_Goto (Table.States (722), 222, 910);
-            Add_Goto (Table.States (722), 284, 95);
-            Add_Goto (Table.States (722), 330, 911);
-            Table.States (722).Kernel := To_Vector ((0 => ((283, 0),  54,  2, 
(2147483647, 0),  0)));
-            Table.States (722).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (153, 1),  0)));
-            Table.States (723).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (723), 34, (231, 3), 912);
-            Add_Action (Table.States (723), 39, Reduce, (112, 4),  1, null, 
null);
-            Table.States (723).Kernel := To_Vector ((((112, 4),  64,  0, (112, 
4),  1), ((231, 3),  64,  3,
-            (2147483647, 0),  0), ((231, 7),  64,  1, (2147483647, 0),  0)));
-            Table.States (723).Minimal_Complete_Actions := To_Vector 
(((Reduce, (112, 4),  1), (Shift, (231, 3),  34,
-            912)));
-            Table.States (724).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (724), 36, (114, 2), 913);
-            Add_Action (Table.States (724), 41, Reduce, (114, 3),  1, null, 
null);
-            Add_Action (Table.States (724), 49, Reduce, (114, 3),  1, null, 
null);
-            Add_Action (Table.States (724), 54, Reduce, (114, 3),  1, null, 
null);
-            Add_Action (Table.States (724), 99, (226, 0), 914);
-            Table.States (724).Kernel := To_Vector ((((114, 2),  65,  1, 
(2147483647, 0),  0), ((114, 3),  65,  0,
-            (114, 3),  1), ((226, 0),  65,  1, (2147483647, 0),  0)));
-            Table.States (724).Minimal_Complete_Actions := To_Vector (((Shift, 
(114, 2),  36, 913), (Reduce, (114, 3),
-            1), (Shift, (226, 0),  99, 914)));
-            Table.States (725).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (725), 34, (231, 1), 915);
-            Table.States (725).Kernel := To_Vector ((((231, 1),  66,  3, 
(2147483647, 0),  0), ((231, 5),  66,  1,
-            (2147483647, 0),  0)));
-            Table.States (725).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (231, 1),  34, 915)));
-            Table.States (726).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (726), 107, (183, 0), 916);
-            Add_Action (Table.States (726), 109, (183, 1), 917);
-            Table.States (726).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (726), 183, 918);
-            Add_Goto (Table.States (726), 184, 919);
-            Table.States (726).Kernel := To_Vector ((0 => ((186, 0),  76,  2, 
(2147483647, 0),  0)));
-            Table.States (726).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (183, 0),  107, 916)));
-            Table.States (727).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (727), 39, (262, 0), 920);
-            Table.States (727).Kernel := To_Vector ((0 => ((262, 0),  112,  5, 
(2147483647, 0),  0)));
-            Table.States (727).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (262, 0),  39, 920)));
-            Table.States (728).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (728), 39, (165, 0), 921);
-            Table.States (728).Kernel := To_Vector ((((165, 0),  113,  5, 
(2147483647, 0),  0), ((165, 1),  113,  2,
-            (2147483647, 0),  0)));
-            Table.States (728).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (165, 0),  39, 921)));
-            Table.States (729).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (729), 41, (283, 1), 719);
-            Add_Action (Table.States (729), 49, (263, 0), 922);
-            Add_Action (Table.States (729), 54, (283, 0), 722);
-            Table.States (729).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (729), 283, 923);
-            Table.States (729).Kernel := To_Vector ((((263, 0),  114,  2, 
(2147483647, 0),  0), ((329, 7),  114,  2,
-            (2147483647, 0),  0)));
-            Table.States (729).Minimal_Complete_Actions := To_Vector (((Shift, 
(263, 0),  49, 922), (Shift, (283, 1),
-            41, 719)));
-            Table.States (730).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (730), (74, 99), (329, 8),  1, null, 
null);
-            Table.States (730).Kernel := To_Vector ((0 => ((329, 8),  117,  0, 
(329, 8),  1)));
-            Table.States (730).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (329, 8),  1)));
-            Table.States (731).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (731), (74, 99), (329, 6),  1, null, 
null);
-            Table.States (731).Kernel := To_Vector ((0 => ((329, 6),  123,  0, 
(329, 6),  1)));
-            Table.States (731).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (329, 6),  1)));
-            Table.States (732).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (732), (74, 99), (329, 9),  1, null, 
null);
-            Table.States (732).Kernel := To_Vector ((0 => ((329, 9),  165,  0, 
(329, 9),  1)));
-            Table.States (732).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (329, 9),  1)));
-         end Subr_14;
-         procedure Subr_15
-         is begin
-            Table.States (733).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (733), (74, 99), (329, 0),  1, null, 
null);
-            Table.States (733).Kernel := To_Vector ((0 => ((329, 0),  186,  0, 
(329, 0),  1)));
-            Table.States (733).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (329, 0),  1)));
-            Table.States (734).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (734), (74, 99), (329, 10),  1, null, 
null);
-            Table.States (734).Kernel := To_Vector ((0 => ((329, 10),  231,  
0, (329, 10),  1)));
-            Table.States (734).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (329, 10),  1)));
-            Table.States (735).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (735), 7, (117, 0), 564);
-            Table.States (735).Kernel := To_Vector ((((117, 0),  244,  2, 
(2147483647, 0),  0), ((117, 1),  244,  3,
-            (2147483647, 0),  0), ((117, 2),  244,  2, (2147483647, 0),  0)));
-            Table.States (735).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (117, 0),  7, 564)));
-            Table.States (736).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (736), 74, (125, 0), 340);
-            Add_Action (Table.States (736), 99, Reduce, (125, 1),  0, null, 
null);
-            Table.States (736).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (736), 125, 924);
-            Table.States (736).Kernel := To_Vector ((0 => ((209, 0),  329,  1, 
(2147483647, 0),  0)));
-            Table.States (736).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (737).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (737), (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, 
81, 96, 107, 108, 109, 110), (334, 0),  5,
-            use_clause_0'Access, null);
-            Table.States (737).Kernel := To_Vector ((0 => ((334, 0),  99,  0, 
(334, 0),  5)));
-            Table.States (737).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (334, 0),  5)));
-            Table.States (738).Action_List.Set_Capacity (6);
-            Add_Action (Table.States (738), 74, (125, 0), 340);
-            Add_Action (Table.States (738), 76, (118, 0), 237);
-            Add_Action (Table.States (738), 87, (296, 0), 239);
-            Add_Action (Table.States (738), 99, Reduce, (125, 1),  0, null, 
null);
-            Add_Action (Table.States (738), 104, (325, 0), 241);
-            Add_Action (Table.States (738), 105, (325, 1), 242);
-            Table.States (738).Goto_List.Set_Capacity (3);
-            Add_Goto (Table.States (738), 118, 243);
-            Add_Goto (Table.States (738), 125, 925);
-            Add_Goto (Table.States (738), 325, 244);
-            Table.States (738).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((242, 0),  242,  5,
-            (2147483647, 0),  0), ((242, 1),  242,  2, (2147483647, 0),  0), 
((248, 2),  242,  1, (2147483647, 0),  0),
-            ((275, 0),  242,  3, (2147483647, 0),  0), ((296, 0),  242,  2, 
(2147483647, 0),  0), ((296, 1),  242,  2,
-            (2147483647, 0),  0), ((296, 2),  242,  2, (2147483647, 0),  0), 
((296, 3),  242,  2, (2147483647, 0),
-            0)));
-            Table.States (738).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (739).Action_List.Set_Capacity (6);
-            Add_Action (Table.States (739), 74, (125, 0), 340);
-            Add_Action (Table.States (739), 76, (118, 0), 237);
-            Add_Action (Table.States (739), 87, (296, 0), 239);
-            Add_Action (Table.States (739), 99, Reduce, (125, 1),  0, null, 
null);
-            Add_Action (Table.States (739), 104, (325, 0), 241);
-            Add_Action (Table.States (739), 105, (325, 1), 242);
-            Table.States (739).Goto_List.Set_Capacity (3);
-            Add_Goto (Table.States (739), 118, 243);
-            Add_Goto (Table.States (739), 125, 926);
-            Add_Goto (Table.States (739), 325, 244);
-            Table.States (739).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((242, 0),  242,  5,
-            (2147483647, 0),  0), ((242, 1),  242,  2, (2147483647, 0),  0), 
((248, 1),  242,  1, (2147483647, 0),  0),
-            ((275, 0),  242,  3, (2147483647, 0),  0), ((296, 0),  242,  2, 
(2147483647, 0),  0), ((296, 1),  242,  2,
-            (2147483647, 0),  0), ((296, 2),  242,  2, (2147483647, 0),  0), 
((296, 3),  242,  2, (2147483647, 0),
-            0)));
-            Table.States (739).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (740).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (740), (81, 107, 108, 109), (211, 0),  1, 
null, null);
-            Table.States (740).Kernel := To_Vector ((0 => ((211, 0),  9,  0, 
(211, 0),  1)));
-            Table.States (740).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (211, 0),  1)));
-            Table.States (741).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (741), (81, 107, 108, 109), (211, 1),  1, 
null, null);
-            Table.States (741).Kernel := To_Vector ((0 => ((211, 1),  16,  0, 
(211, 1),  1)));
-            Table.States (741).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (211, 1),  1)));
-            Table.States (742).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (742), (29, 50), (273, 0),  1, null, 
null);
-            Table.States (742).Kernel := To_Vector ((0 => ((273, 0),  51,  0, 
(273, 0),  1)));
-            Table.States (742).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (273, 0),  1)));
-            Table.States (743).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (743), 81, (242, 8), 31);
-            Add_Action (Table.States (743), 107, (242, 5), 120);
-            Add_Action (Table.States (743), 108, (242, 7), 34);
-            Add_Action (Table.States (743), 109, (242, 6), 35);
-            Table.States (743).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (743), 131, 42);
-            Add_Goto (Table.States (743), 242, 927);
-            Add_Goto (Table.States (743), 275, 93);
-            Add_Goto (Table.States (743), 296, 98);
-            Table.States (743).Kernel := To_Vector ((0 => ((117, 2),  211,  1, 
(2147483647, 0),  0)));
-            Table.States (743).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (744).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (744), 29, (117, 1), 928);
-            Add_Action (Table.States (744), 50, (117, 0), 929);
-            Table.States (744).Kernel := To_Vector ((((117, 0),  273,  1, 
(2147483647, 0),  0), ((117, 1),  273,  2,
-            (2147483647, 0),  0)));
-            Table.States (744).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (117, 0),  50, 929)));
-            Table.States (745).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (745), 81, (242, 8), 31);
-            Add_Action (Table.States (745), 107, (242, 5), 120);
-            Add_Action (Table.States (745), 108, (242, 7), 34);
-            Add_Action (Table.States (745), 109, (242, 6), 35);
-            Table.States (745).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (745), 131, 42);
-            Add_Goto (Table.States (745), 242, 930);
-            Add_Goto (Table.States (745), 275, 93);
-            Add_Goto (Table.States (745), 296, 98);
-            Table.States (745).Kernel := To_Vector ((0 => ((248, 0),  56,  2, 
(2147483647, 0),  0)));
-            Table.States (745).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (746).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (746), 99, (136, 1), 931);
-            Table.States (746).Kernel := To_Vector ((0 => ((136, 1),  223,  1, 
(2147483647, 0),  0)));
-            Table.States (746).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (136, 1),  99, 931)));
-            Table.States (747).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (747), 44, (187, 1), 932);
-            Add_Action (Table.States (747), 81, (242, 8), 31);
-            Add_Action (Table.States (747), 107, (190, 0), 933);
-            Add_Action (Table.States (747), 108, (242, 7), 34);
-            Add_Action (Table.States (747), 109, (242, 6), 35);
-            Table.States (747).Goto_List.Set_Capacity (6);
-            Add_Goto (Table.States (747), 131, 42);
-            Add_Goto (Table.States (747), 187, 934);
-            Add_Goto (Table.States (747), 188, 935);
-            Add_Goto (Table.States (747), 242, 936);
-            Add_Goto (Table.States (747), 275, 93);
-            Add_Goto (Table.States (747), 296, 98);
-            Table.States (747).Kernel := To_Vector ((((190, 0),  72,  4, 
(2147483647, 0),  0), ((190, 1),  72,  2,
-            (2147483647, 0),  0)));
-            Table.States (747).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (190, 0),  107, 933)));
-            Table.States (748).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (748), (24, 72), (191, 1),  1, null, 
null);
-            Table.States (748).Kernel := To_Vector ((0 => ((191, 1),  190,  0, 
(191, 1),  1)));
-            Table.States (748).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (191, 1),  1)));
-            Table.States (749).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (749), 24, Reduce, (192, 0),  1, null, 
null);
-            Add_Action (Table.States (749), 72, (190, 0), 747);
-            Table.States (749).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (749), 190, 937);
-            Table.States (749).Kernel := To_Vector ((((191, 0),  191,  3, 
(2147483647, 0),  0), ((192, 0),  191,  0,
-            (192, 0),  1)));
-            Table.States (749).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (192, 0),  1)));
-            Table.States (750).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (750), (1 =>  24), (221, 0),  3, 
handled_sequence_of_statements_0'Access, null);
-            Table.States (750).Kernel := To_Vector ((0 => ((221, 0),  192,  0, 
(221, 0),  3)));
-            Table.States (750).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (221, 0),  3)));
-            Table.States (751).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (751), (24, 72), (191, 2),  1, null, 
null);
-            Table.States (751).Kernel := To_Vector ((0 => ((191, 2),  260,  0, 
(191, 2),  1)));
-            Table.States (751).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (191, 2),  1)));
-            Table.States (752).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (752), 24, (136, 0), 938);
-            Table.States (752).Kernel := To_Vector ((0 => ((136, 0),  221,  2, 
(2147483647, 0),  0)));
-            Table.States (752).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (136, 0),  24, 938)));
-            Table.States (753).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (753), 99, Reduce, (223, 1),  0, null, 
null);
-            Add_Action (Table.States (753), 107, (223, 0), 151);
-            Table.States (753).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (753), 223, 939);
-            Table.States (753).Kernel := To_Vector ((0 => ((235, 1),  37,  1, 
(2147483647, 0),  0)));
-            Table.States (753).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (223, 1),  0)));
-            Table.States (754).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (754), 37, (235, 0), 940);
-            Table.States (754).Kernel := To_Vector ((0 => ((235, 0),  24,  2, 
(2147483647, 0),  0)));
-            Table.States (754).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (235, 0),  37, 940)));
-            Table.States (755).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (755), 99, (160, 9), 941);
-            Table.States (755).Kernel := To_Vector ((0 => ((160, 9),  195,  1, 
(2147483647, 0),  0)));
-            Table.States (755).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (160, 9),  99, 941)));
-            Table.States (756).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (756), 41, (244, 0), 942);
-            Table.States (756).Kernel := To_Vector ((((244, 0),  40,  1, 
(2147483647, 0),  0), ((317, 0),  40,  6,
-            (2147483647, 0),  0), ((317, 1),  40,  2, (2147483647, 0),  0)));
-            Table.States (756).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (244, 0),  41, 942)));
-            Table.States (757).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (757), 74, (125, 0), 340);
-            Add_Action (Table.States (757), 85, (247, 1), 943);
-            Add_Action (Table.States (757), 99, Reduce, (125, 1),  0, null, 
null);
-            Table.States (757).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (757), 125, 944);
-            Table.States (757).Kernel := To_Vector ((((247, 1),  117,  2, 
(2147483647, 0),  0), ((247, 4),  117,  1,
-            (2147483647, 0),  0)));
-            Table.States (757).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (758).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (758), 74, (125, 0), 340);
-            Add_Action (Table.States (758), 85, (247, 2), 945);
-            Add_Action (Table.States (758), 99, Reduce, (125, 1),  0, null, 
null);
-            Table.States (758).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (758), 125, 946);
-            Table.States (758).Kernel := To_Vector ((((247, 2),  123,  2, 
(2147483647, 0),  0), ((247, 5),  123,  1,
-            (2147483647, 0),  0)));
-            Table.States (758).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (759).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (759), 74, (125, 0), 340);
-            Add_Action (Table.States (759), 85, (247, 0), 947);
-            Add_Action (Table.States (759), 99, Reduce, (125, 1),  0, null, 
null);
-            Table.States (759).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (759), 125, 948);
-            Table.States (759).Kernel := To_Vector ((((247, 0),  317,  2, 
(2147483647, 0),  0), ((247, 3),  317,  1,
-            (2147483647, 0),  0)));
-            Table.States (759).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (760).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (760), (78, 86), (281, 0),  3, null, 
null);
-            Table.States (760).Kernel := To_Vector ((0 => ((281, 0),  280,  0, 
(281, 0),  3)));
-            Table.States (760).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (281, 0),  3)));
-            Table.States (761).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (761), 78, (132, 0), 949);
-            Table.States (761).Kernel := To_Vector ((0 => ((132, 0),  194,  1, 
(2147483647, 0),  0)));
-            Table.States (761).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (132, 0),  78, 949)));
-            Table.States (762).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (762), 78, (182, 0), 950);
-            Table.States (762).Kernel := To_Vector ((0 => ((182, 0),  170,  2, 
(2147483647, 0),  0)));
-            Table.States (762).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (182, 0),  78, 950)));
-            Table.States (763).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (763), 99, (182, 1), 951);
-            Table.States (763).Kernel := To_Vector ((0 => ((182, 1),  125,  1, 
(2147483647, 0),  0)));
-            Table.States (763).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (182, 1),  99, 951)));
-            Table.States (764).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (764), 81, (242, 8), 31);
-            Add_Action (Table.States (764), 107, (242, 5), 120);
-            Add_Action (Table.States (764), 108, (242, 7), 34);
-            Add_Action (Table.States (764), 109, (242, 6), 35);
-            Table.States (764).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (764), 131, 42);
-            Add_Goto (Table.States (764), 242, 952);
-            Add_Goto (Table.States (764), 275, 93);
-            Add_Goto (Table.States (764), 296, 98);
-            Table.States (764).Kernel := To_Vector ((0 => ((216, 2),  39,  2, 
(2147483647, 0),  0)));
-            Table.States (764).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (765).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (765), 81, (242, 8), 31);
-            Add_Action (Table.States (765), 107, (242, 5), 120);
-            Add_Action (Table.States (765), 108, (242, 7), 34);
-            Add_Action (Table.States (765), 109, (242, 6), 35);
-            Table.States (765).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (765), 131, 42);
-            Add_Goto (Table.States (765), 242, 953);
-            Add_Goto (Table.States (765), 275, 93);
-            Add_Goto (Table.States (765), 296, 98);
-            Table.States (765).Kernel := To_Vector ((0 => ((216, 1),  39,  2, 
(2147483647, 0),  0)));
-            Table.States (765).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (766).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (766), 74, (120, 2), 453);
-            Add_Action (Table.States (766), 78, (259, 0), 954);
-            Table.States (766).Kernel := To_Vector ((((120, 2),  195,  4, 
(2147483647, 0),  0), ((120, 3),  195,  2,
-            (2147483647, 0),  0), ((259, 0),  195,  1, (2147483647, 0),  0)));
-            Table.States (766).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (259, 0),  78, 954)));
-            Table.States (767).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (767), 99, (196, 0), 955);
-            Table.States (767).Kernel := To_Vector ((0 => ((196, 0),  125,  1, 
(2147483647, 0),  0)));
-            Table.States (767).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (196, 0),  99, 955)));
-            Table.States (768).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (768), 99, (246, 0), 956);
-            Table.States (768).Kernel := To_Vector ((0 => ((246, 0),  125,  1, 
(2147483647, 0),  0)));
-            Table.States (768).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (246, 0),  99, 956)));
-            Table.States (769).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (769), 99, (115, 0), 957);
-            Table.States (769).Kernel := To_Vector ((0 => ((115, 0),  125,  1, 
(2147483647, 0),  0)));
-            Table.States (769).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (115, 0),  99, 957)));
-            Table.States (770).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (770), 99, (311, 0), 958);
-            Table.States (770).Kernel := To_Vector ((0 => ((311, 0),  125,  1, 
(2147483647, 0),  0)));
-            Table.States (770).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (311, 0),  99, 958)));
-            Table.States (771).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (771), 99, (314, 0), 959);
-            Table.States (771).Kernel := To_Vector ((0 => ((314, 0),  125,  1, 
(2147483647, 0),  0)));
-            Table.States (771).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (314, 0),  99, 959)));
-            Table.States (772).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (772), 13, (310, 0), 960);
-            Table.States (772).Kernel := To_Vector ((0 => ((310, 0),  162,  3, 
(2147483647, 0),  0)));
-            Table.States (772).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (310, 0),  13, 960)));
-            Table.States (773).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (773), 24, (116, 0), 961);
-            Table.States (773).Kernel := To_Vector ((0 => ((116, 0),  221,  2, 
(2147483647, 0),  0)));
-            Table.States (773).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (116, 0),  24, 961)));
-            Table.States (774).Action_List.Set_Capacity (17);
-            Add_Action (Table.States (774), 3, (200, 2), 122);
-            Add_Action (Table.States (774), 39, (261, 4), 123);
-            Add_Action (Table.States (774), 40, (168, 1), 263);
-            Add_Action (Table.States (774), 41, (261, 1), 125);
-            Add_Action (Table.States (774), 44, (168, 3), 265);
-            Add_Action (Table.States (774), 52, (278, 0), 126);
-            Add_Action (Table.States (774), 76, (120, 0), 127);
-            Add_Action (Table.States (774), 77, (120, 5), 128);
-            Add_Action (Table.States (774), 81, (242, 8), 31);
-            Add_Action (Table.States (774), 82, Reduce, (169, 2),  0, null, 
null);
-            Add_Action (Table.States (774), 90, Reduce, (169, 2),  0, null, 
null);
-            Add_Action (Table.States (774), 97, (333, 1), 129);
-            Add_Action (Table.States (774), 98, (333, 0), 130);
-            Add_Action (Table.States (774), 106, (261, 0), 131);
-            Add_Action (Table.States (774), 107, (242, 5), 120);
-            Add_Action (Table.States (774), 108, (242, 7), 34);
-            Add_Action (Table.States (774), 109, (242, 6), 35);
-            Table.States (774).Goto_List.Set_Capacity (22);
-            Add_Goto (Table.States (774), 120, 132);
-            Add_Goto (Table.States (774), 131, 42);
-            Add_Goto (Table.States (774), 168, 271);
-            Add_Goto (Table.States (774), 169, 962);
-            Add_Goto (Table.States (774), 194, 611);
-            Add_Goto (Table.States (774), 200, 135);
-            Add_Goto (Table.States (774), 242, 276);
-            Add_Goto (Table.States (774), 261, 137);
-            Add_Goto (Table.States (774), 275, 93);
-            Add_Goto (Table.States (774), 278, 138);
-            Add_Goto (Table.States (774), 280, 278);
-            Add_Goto (Table.States (774), 285, 139);
-            Add_Goto (Table.States (774), 286, 140);
-            Add_Goto (Table.States (774), 287, 141);
-            Add_Goto (Table.States (774), 288, 142);
-            Add_Goto (Table.States (774), 289, 143);
-            Add_Goto (Table.States (774), 290, 144);
-            Add_Goto (Table.States (774), 296, 98);
-            Add_Goto (Table.States (774), 304, 279);
-            Add_Goto (Table.States (774), 323, 146);
-            Add_Goto (Table.States (774), 324, 147);
-            Add_Goto (Table.States (774), 333, 148);
-            Table.States (774).Kernel := To_Vector ((0 => ((140, 0),  72,  1, 
(2147483647, 0),  0)));
-            Table.States (774).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (169, 2),  0)));
-            Table.States (775).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (775), (78, 86), (141, 1),  1, null, 
null);
-            Table.States (775).Kernel := To_Vector ((0 => ((141, 1),  140,  0, 
(141, 1),  1)));
-            Table.States (775).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (141, 1),  1)));
-            Table.States (776).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (776), 78, Reduce, (139, 0),  4, 
case_expression_0'Access, null);
-            Add_Action (Table.States (776), 86, (141, 0), 963);
-            Table.States (776).Kernel := To_Vector ((((139, 0),  141,  0, 
(139, 0),  4), ((141, 0),  141,  3,
-            (2147483647, 0),  0)));
-            Table.States (776).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (139, 0),  4)));
-            Table.States (777).Action_List.Set_Capacity (9);
-            Add_Action (Table.States (777), 39, (261, 4), 123);
-            Add_Action (Table.States (777), 41, (168, 1), 964);
-            Add_Action (Table.States (777), 76, (120, 0), 127);
-            Add_Action (Table.States (777), 77, (120, 5), 128);
-            Add_Action (Table.States (777), 81, (242, 8), 31);
-            Add_Action (Table.States (777), 106, (261, 0), 131);
-            Add_Action (Table.States (777), 107, (242, 5), 120);
-            Add_Action (Table.States (777), 108, (242, 7), 34);
-            Add_Action (Table.States (777), 109, (242, 6), 35);
-            Table.States (777).Goto_List.Set_Capacity (6);
-            Add_Goto (Table.States (777), 120, 132);
-            Add_Goto (Table.States (777), 131, 42);
-            Add_Goto (Table.States (777), 242, 136);
-            Add_Goto (Table.States (777), 261, 258);
-            Add_Goto (Table.States (777), 275, 93);
-            Add_Goto (Table.States (777), 296, 98);
-            Table.States (777).Kernel := To_Vector ((((168, 1),  40,  2, 
(2147483647, 0),  0), ((200, 3),  40,  1,
-            (2147483647, 0),  0), ((317, 0),  40,  6, (2147483647, 0),  0), 
((317, 1),  40,  2, (2147483647, 0),  0)));
-            Table.States (777).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (261, 0),  106, 131)));
-            Table.States (778).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (778), 82, (169, 0), 450);
-            Add_Action (Table.States (778), 90, (127, 6), 965);
-            Table.States (778).Kernel := To_Vector ((((127, 6),  169,  2, 
(2147483647, 0),  0), ((169, 0),  169,  2,
-            (2147483647, 0),  0)));
-            Table.States (778).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (127, 6),  90, 965)));
-            Table.States (779).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (779), 82, Reduce, (168, 2),  1, null, 
null);
-            Add_Action (Table.States (779), 90, Reduce, (168, 2),  1, null, 
null);
-            Add_Conflict (Table.States (779), 90, (170, 1),  1, null, null);
-            Table.States (779).Kernel := To_Vector ((((168, 2),  280,  0, 
(168, 2),  1), ((170, 1),  280,  0, (170, 1),
-             1)));
-            Table.States (779).Minimal_Complete_Actions := To_Vector 
(((Reduce, (168, 2),  1), (Reduce, (170, 1),
-            1)));
-            Table.States (780).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (780), (35, 78, 79, 86, 99), (127, 7),  
4, association_opt_7'Access, null);
-            Table.States (780).Kernel := To_Vector ((0 => ((127, 7),  194,  0, 
(127, 7),  4)));
-            Table.States (780).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (127, 7),  4)));
-            Table.States (781).Action_List.Set_Capacity (15);
-            Add_Action (Table.States (781), 3, (200, 2), 122);
-            Add_Action (Table.States (781), 39, (261, 4), 123);
-            Add_Action (Table.States (781), 40, (200, 3), 124);
-            Add_Action (Table.States (781), 41, (261, 1), 125);
-            Add_Action (Table.States (781), 52, (278, 0), 126);
-            Add_Action (Table.States (781), 76, (120, 0), 127);
-            Add_Action (Table.States (781), 77, (120, 5), 128);
-            Add_Action (Table.States (781), 78, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (781), 81, (242, 8), 31);
-            Add_Action (Table.States (781), 97, (333, 1), 129);
-            Add_Action (Table.States (781), 98, (333, 0), 130);
-            Add_Action (Table.States (781), 106, (261, 0), 131);
-            Add_Action (Table.States (781), 107, (242, 5), 120);
-            Add_Action (Table.States (781), 108, (242, 7), 34);
-            Add_Action (Table.States (781), 109, (242, 6), 35);
-            Table.States (781).Goto_List.Set_Capacity (20);
-            Add_Goto (Table.States (781), 120, 132);
-            Add_Goto (Table.States (781), 131, 42);
-            Add_Goto (Table.States (781), 194, 133);
-            Add_Goto (Table.States (781), 195, 966);
-            Add_Goto (Table.States (781), 200, 135);
-            Add_Goto (Table.States (781), 242, 136);
-            Add_Goto (Table.States (781), 261, 137);
-            Add_Goto (Table.States (781), 275, 93);
-            Add_Goto (Table.States (781), 278, 138);
-            Add_Goto (Table.States (781), 285, 139);
-            Add_Goto (Table.States (781), 286, 140);
-            Add_Goto (Table.States (781), 287, 141);
-            Add_Goto (Table.States (781), 288, 142);
-            Add_Goto (Table.States (781), 289, 143);
-            Add_Goto (Table.States (781), 290, 144);
-            Add_Goto (Table.States (781), 296, 98);
-            Add_Goto (Table.States (781), 304, 145);
-            Add_Goto (Table.States (781), 323, 146);
-            Add_Goto (Table.States (781), 324, 147);
-            Add_Goto (Table.States (781), 333, 148);
-            Table.States (781).Kernel := To_Vector ((0 => ((276, 0),  90,  0, 
(195, 1),  0)));
-            Table.States (781).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (195, 1),  0)));
-            Table.States (782).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (782), 22, (224, 1), 967);
-            Add_Action (Table.States (782), 23, (175, 0), 968);
-            Add_Action (Table.States (782), 78, Reduce, (224, 3),  4, 
if_expression_3'Access, null);
-            Table.States (782).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (782), 175, 969);
-            Add_Goto (Table.States (782), 176, 970);
-            Table.States (782).Kernel := To_Vector ((((224, 0),  195,  3, 
(2147483647, 0),  0), ((224, 1),  195,  1,
-            (2147483647, 0),  0), ((224, 2),  195,  2, (2147483647, 0),  0), 
((224, 3),  195,  0, (224, 3),  4)));
-            Table.States (782).Minimal_Complete_Actions := To_Vector (((Shift, 
(224, 1),  22, 967), (Reduce, (224, 3),
-            4)));
-            Table.States (783).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (783), 78, (120, 4), 971);
-            Add_Action (Table.States (783), 86, (128, 0), 448);
-            Table.States (783).Kernel := To_Vector ((((120, 4),  128,  1, 
(2147483647, 0),  0), ((128, 0),  128,  1,
-            (2147483647, 0),  0)));
-            Table.States (783).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (120, 4),  78, 971)));
-            Table.States (784).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (784), 78, (120, 2), 972);
-            Table.States (784).Kernel := To_Vector ((0 => ((120, 2),  54,  1, 
(2147483647, 0),  0)));
-            Table.States (784).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (120, 2),  78, 972)));
-            Table.States (785).Action_List.Set_Capacity (65);
-            Add_Action (Table.States (785), (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, 78, 79, 80, 81, 82, 85, 86, 87, 88,
-            89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 
105, 107, 108, 109), (120, 3),  5,
-            aggregate_3'Access, null);
-            Table.States (785).Kernel := To_Vector ((0 => ((120, 3),  78,  0, 
(120, 3),  5)));
-            Table.States (785).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (120, 3),  5)));
-            Table.States (786).Action_List.Set_Capacity (15);
-            Add_Action (Table.States (786), 3, (200, 2), 122);
-            Add_Action (Table.States (786), 39, (261, 4), 123);
-            Add_Action (Table.States (786), 40, (200, 3), 124);
-            Add_Action (Table.States (786), 41, (261, 1), 125);
-            Add_Action (Table.States (786), 52, (278, 0), 126);
-            Add_Action (Table.States (786), 76, (120, 0), 127);
-            Add_Action (Table.States (786), 77, (120, 5), 128);
-            Add_Action (Table.States (786), 78, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (786), 81, (242, 8), 31);
-            Add_Action (Table.States (786), 97, (333, 1), 129);
-            Add_Action (Table.States (786), 98, (333, 0), 130);
-            Add_Action (Table.States (786), 106, (261, 0), 131);
-            Add_Action (Table.States (786), 107, (242, 5), 120);
-            Add_Action (Table.States (786), 108, (242, 7), 34);
-            Add_Action (Table.States (786), 109, (242, 6), 35);
-            Table.States (786).Goto_List.Set_Capacity (20);
-            Add_Goto (Table.States (786), 120, 132);
-            Add_Goto (Table.States (786), 131, 42);
-            Add_Goto (Table.States (786), 194, 133);
-            Add_Goto (Table.States (786), 195, 973);
-            Add_Goto (Table.States (786), 200, 135);
-            Add_Goto (Table.States (786), 242, 136);
-            Add_Goto (Table.States (786), 261, 137);
-            Add_Goto (Table.States (786), 275, 93);
-            Add_Goto (Table.States (786), 278, 138);
-            Add_Goto (Table.States (786), 285, 139);
-            Add_Goto (Table.States (786), 286, 140);
-            Add_Goto (Table.States (786), 287, 141);
-            Add_Goto (Table.States (786), 288, 142);
-            Add_Goto (Table.States (786), 289, 143);
-            Add_Goto (Table.States (786), 290, 144);
-            Add_Goto (Table.States (786), 296, 98);
-            Add_Goto (Table.States (786), 304, 145);
-            Add_Goto (Table.States (786), 323, 146);
-            Add_Goto (Table.States (786), 324, 147);
-            Add_Goto (Table.States (786), 333, 148);
-            Table.States (786).Kernel := To_Vector ((0 => ((280, 0),  76,  1, 
(2147483647, 0),  0)));
-            Table.States (786).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (195, 1),  0)));
-            Table.States (787).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (787), 79, (120, 5), 974);
-            Add_Action (Table.States (787), 86, (128, 0), 448);
-            Table.States (787).Kernel := To_Vector ((((120, 5),  128,  1, 
(2147483647, 0),  0), ((128, 0),  128,  1,
-            (2147483647, 0),  0)));
-            Table.States (787).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (120, 5),  79, 974)));
-            Table.States (788).Action_List.Set_Capacity (25);
-            Add_Action (Table.States (788), 4, (116, 0), 1);
-            Add_Action (Table.States (788), 5, (306, 8), 2);
-            Add_Action (Table.States (788), 13, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (788), 15, (142, 0), 3);
-            Add_Action (Table.States (788), 17, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (788), 18, (164, 0), 4);
-            Add_Action (Table.States (788), 24, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (788), 27, (193, 0), 5);
-            Add_Action (Table.States (788), 28, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (788), 31, (306, 3), 9);
-            Add_Action (Table.States (788), 32, (225, 0), 10);
-            Add_Action (Table.States (788), 37, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (788), 41, (306, 0), 13);
-            Add_Action (Table.States (788), 48, (260, 0), 16);
-            Add_Action (Table.States (788), 52, (279, 0), 20);
-            Add_Action (Table.States (788), 57, (293, 0), 21);
-            Add_Action (Table.States (788), 58, (199, 0), 22);
-            Add_Action (Table.States (788), 61, (129, 0), 24);
-            Add_Action (Table.States (788), 72, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (788), 73, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (788), 81, (242, 8), 31);
-            Add_Action (Table.States (788), 96, (220, 0), 32);
-            Add_Action (Table.States (788), 107, (134, 0), 363);
-            Add_Action (Table.States (788), 108, (242, 7), 34);
-            Add_Action (Table.States (788), 109, (242, 6), 35);
-            Table.States (788).Goto_List.Set_Capacity (31);
-            Add_Goto (Table.States (788), 116, 37);
-            Add_Goto (Table.States (788), 126, 39);
-            Add_Goto (Table.States (788), 129, 40);
-            Add_Goto (Table.States (788), 131, 42);
-            Add_Goto (Table.States (788), 134, 43);
-            Add_Goto (Table.States (788), 135, 44);
-            Add_Goto (Table.States (788), 136, 45);
-            Add_Goto (Table.States (788), 142, 48);
-            Add_Goto (Table.States (788), 154, 51);
-            Add_Goto (Table.States (788), 155, 52);
-            Add_Goto (Table.States (788), 164, 54);
-            Add_Goto (Table.States (788), 193, 58);
-            Add_Goto (Table.States (788), 199, 60);
-            Add_Goto (Table.States (788), 220, 69);
-            Add_Goto (Table.States (788), 225, 71);
-            Add_Goto (Table.States (788), 235, 73);
-            Add_Goto (Table.States (788), 242, 74);
-            Add_Goto (Table.States (788), 260, 84);
-            Add_Goto (Table.States (788), 264, 87);
-            Add_Goto (Table.States (788), 275, 93);
-            Add_Goto (Table.States (788), 279, 94);
-            Add_Goto (Table.States (788), 293, 97);
-            Add_Goto (Table.States (788), 296, 98);
-            Add_Goto (Table.States (788), 297, 99);
-            Add_Goto (Table.States (788), 301, 100);
-            Add_Goto (Table.States (788), 302, 364);
-            Add_Goto (Table.States (788), 303, 975);
-            Add_Goto (Table.States (788), 305, 101);
-            Add_Goto (Table.States (788), 306, 102);
-            Add_Goto (Table.States (788), 309, 366);
-            Add_Goto (Table.States (788), 326, 115);
-            Table.States (788).Kernel := To_Vector ((0 => ((143, 0),  90,  0, 
(303, 1),  0)));
-            Table.States (788).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (303, 1),  0)));
-            Table.States (789).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (789), 99, (142, 0), 976);
-            Table.States (789).Kernel := To_Vector ((0 => ((142, 0),  15,  1, 
(2147483647, 0),  0)));
-            Table.States (789).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (142, 0),  99, 976)));
-            Table.States (790).Action_List.Set_Capacity (18);
-            Add_Action (Table.States (790), (10, 20, 21, 22, 23, 35, 37, 43, 
53, 68, 74, 75, 78, 79, 82, 86, 90, 99),
-            (236, 0),  3, null, null);
-            Table.States (790).Kernel := To_Vector ((0 => ((236, 0),  237,  0, 
(236, 0),  3)));
-            Table.States (790).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (236, 0),  3)));
-            Table.States (791).Action_List.Set_Capacity (15);
-            Add_Action (Table.States (791), 10, Reduce, (317, 1),  3, 
subtype_indication_1'Access, null);
-            Add_Action (Table.States (791), 21, Reduce, (317, 1),  3, 
subtype_indication_1'Access, null);
-            Add_Action (Table.States (791), 37, Reduce, (317, 1),  3, 
subtype_indication_1'Access, null);
-            Add_Action (Table.States (791), 42, Reduce, (317, 1),  3, 
subtype_indication_1'Access, null);
-            Add_Action (Table.States (791), 53, (158, 0), 632);
-            Add_Action (Table.States (791), 74, Reduce, (317, 1),  3, 
subtype_indication_1'Access, null);
-            Add_Action (Table.States (791), 76, (118, 0), 633);
-            Add_Action (Table.States (791), 78, Reduce, (317, 1),  3, 
subtype_indication_1'Access, null);
-            Add_Action (Table.States (791), 85, Reduce, (317, 1),  3, 
subtype_indication_1'Access, null);
-            Add_Action (Table.States (791), 86, Reduce, (317, 1),  3, 
subtype_indication_1'Access, null);
-            Add_Action (Table.States (791), 87, (296, 0), 239);
-            Add_Action (Table.States (791), 90, Reduce, (317, 1),  3, 
subtype_indication_1'Access, null);
-            Add_Action (Table.States (791), 99, Reduce, (317, 1),  3, 
subtype_indication_1'Access, null);
-            Add_Action (Table.States (791), 104, (325, 0), 241);
-            Add_Action (Table.States (791), 105, (325, 1), 242);
-            Table.States (791).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (791), 118, 243);
-            Add_Goto (Table.States (791), 158, 977);
-            Add_Goto (Table.States (791), 227, 635);
-            Add_Goto (Table.States (791), 325, 244);
-            Table.States (791).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((242, 0),  242,  5,
-            (2147483647, 0),  0), ((242, 1),  242,  2, (2147483647, 0),  0), 
((275, 0),  242,  3, (2147483647, 0),  0),
-            ((296, 0),  242,  2, (2147483647, 0),  0), ((296, 1),  242,  2, 
(2147483647, 0),  0), ((296, 2),  242,  2,
-            (2147483647, 0),  0), ((296, 3),  242,  2, (2147483647, 0),  0), 
((317, 0),  242,  4, (2147483647, 0),  0),
-            ((317, 1),  242,  0, (317, 1),  3)));
-            Table.States (791).Minimal_Complete_Actions := To_Vector (((Shift, 
(158, 0),  53, 632), (Reduce, (317, 1),
-            3)));
-            Table.States (792).Action_List.Set_Capacity (10);
-            Add_Action (Table.States (792), (10, 21, 37, 42, 74, 78, 85, 86, 
90, 99), (158, 0),  2, null, null);
-            Table.States (792).Kernel := To_Vector ((0 => ((158, 0),  280,  0, 
(158, 0),  2)));
-            Table.States (792).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (158, 0),  2)));
-            Table.States (793).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (793), (78, 86), (171, 1),  1, null, 
null);
-            Table.States (793).Kernel := To_Vector ((0 => ((171, 1),  170,  0, 
(171, 1),  1)));
-            Table.States (793).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (171, 1),  1)));
-            Table.States (794).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (794), 78, (227, 0), 978);
-            Add_Action (Table.States (794), 86, (171, 0), 979);
-            Table.States (794).Kernel := To_Vector ((((171, 0),  171,  2, 
(2147483647, 0),  0), ((227, 0),  171,  1,
-            (2147483647, 0),  0)));
-            Table.States (794).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (227, 0),  78, 978)));
-            Table.States (795).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (795), 78, Reduce, (170, 1),  1, null, 
null);
-            Add_Conflict (Table.States (795), 78, (281, 1),  1, null, null);
-            Add_Action (Table.States (795), 82, Reduce, (168, 2),  1, null, 
null);
-            Add_Action (Table.States (795), 86, Reduce, (170, 1),  1, null, 
null);
-            Add_Conflict (Table.States (795), 86, (281, 1),  1, null, null);
-            Add_Action (Table.States (795), 90, Reduce, (168, 2),  1, null, 
null);
-            Table.States (795).Kernel := To_Vector ((((168, 2),  280,  0, 
(168, 2),  1), ((170, 1),  280,  0, (170, 1),
-             1), ((281, 1),  280,  0, (281, 1),  1)));
-            Table.States (795).Minimal_Complete_Actions := To_Vector 
(((Reduce, (168, 2),  1), (Reduce, (170, 1),  1),
-            (Reduce, (281, 1),  1)));
-            Table.States (796).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (796), 81, (242, 8), 31);
-            Add_Action (Table.States (796), 107, (242, 5), 120);
-            Add_Action (Table.States (796), 108, (242, 7), 34);
-            Add_Action (Table.States (796), 109, (242, 6), 35);
-            Table.States (796).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (796), 131, 42);
-            Add_Goto (Table.States (796), 242, 980);
-            Add_Goto (Table.States (796), 275, 93);
-            Add_Goto (Table.States (796), 296, 98);
-            Table.States (796).Kernel := To_Vector ((0 => ((233, 0),  59,  1, 
(2147483647, 0),  0)));
-            Table.States (796).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (797).Action_List.Set_Capacity (6);
-            Add_Action (Table.States (797), 37, Reduce, (233, 1),  5, null, 
null);
-            Add_Action (Table.States (797), 76, (118, 0), 237);
-            Add_Action (Table.States (797), 87, (296, 0), 239);
-            Add_Action (Table.States (797), 90, Reduce, (233, 1),  5, null, 
null);
-            Add_Action (Table.States (797), 104, (325, 0), 241);
-            Add_Action (Table.States (797), 105, (325, 1), 242);
-            Table.States (797).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (797), 118, 243);
-            Add_Goto (Table.States (797), 325, 244);
-            Table.States (797).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((233, 1),  242,  0,
-            (233, 1),  5), ((242, 0),  242,  5, (2147483647, 0),  0), ((242, 
1),  242,  2, (2147483647, 0),  0), ((275,
-            0),  242,  3, (2147483647, 0),  0), ((296, 0),  242,  2, 
(2147483647, 0),  0), ((296, 1),  242,  2,
-            (2147483647, 0),  0), ((296, 2),  242,  2, (2147483647, 0),  0), 
((296, 3),  242,  2, (2147483647, 0),
-            0)));
-            Table.States (797).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (233, 1),  5)));
-            Table.States (798).Action_List.Set_Capacity (42);
-            Add_Action (Table.States (798), (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, 81, 96, 107, 108, 109, 110), (130, 0),
-            6, at_clause_0'Access, null);
-            Table.States (798).Kernel := To_Vector ((0 => ((130, 0),  99,  0, 
(130, 0),  6)));
-            Table.States (798).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (130, 0),  6)));
-            Table.States (799).Action_List.Set_Capacity (15);
-            Add_Action (Table.States (799), 3, (200, 2), 122);
-            Add_Action (Table.States (799), 39, (261, 4), 123);
-            Add_Action (Table.States (799), 40, (200, 3), 124);
-            Add_Action (Table.States (799), 41, (261, 1), 125);
-            Add_Action (Table.States (799), 52, (278, 0), 126);
-            Add_Action (Table.States (799), 76, (120, 0), 127);
-            Add_Action (Table.States (799), 77, (120, 5), 128);
-            Add_Action (Table.States (799), 81, (242, 8), 31);
-            Add_Action (Table.States (799), 97, (333, 1), 129);
-            Add_Action (Table.States (799), 98, (333, 0), 130);
-            Add_Action (Table.States (799), 99, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (799), 106, (261, 0), 131);
-            Add_Action (Table.States (799), 107, (242, 5), 120);
-            Add_Action (Table.States (799), 108, (242, 7), 34);
-            Add_Action (Table.States (799), 109, (242, 6), 35);
-            Table.States (799).Goto_List.Set_Capacity (20);
-            Add_Goto (Table.States (799), 120, 132);
-            Add_Goto (Table.States (799), 131, 42);
-            Add_Goto (Table.States (799), 194, 133);
-            Add_Goto (Table.States (799), 195, 981);
-            Add_Goto (Table.States (799), 200, 135);
-            Add_Goto (Table.States (799), 242, 136);
-            Add_Goto (Table.States (799), 261, 137);
-            Add_Goto (Table.States (799), 275, 93);
-            Add_Goto (Table.States (799), 278, 138);
-            Add_Goto (Table.States (799), 285, 139);
-            Add_Goto (Table.States (799), 286, 140);
-            Add_Goto (Table.States (799), 287, 141);
-            Add_Goto (Table.States (799), 288, 142);
-            Add_Goto (Table.States (799), 289, 143);
-            Add_Goto (Table.States (799), 290, 144);
-            Add_Goto (Table.States (799), 296, 98);
-            Add_Goto (Table.States (799), 304, 145);
-            Add_Goto (Table.States (799), 323, 146);
-            Add_Goto (Table.States (799), 324, 147);
-            Add_Goto (Table.States (799), 333, 148);
-            Table.States (799).Kernel := To_Vector ((0 => ((238, 0),  38,  1, 
(2147483647, 0),  0)));
-            Table.States (799).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (195, 1),  0)));
-            Table.States (800).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (800), 12, (147, 0), 982);
-            Table.States (800).Kernel := To_Vector ((0 => ((147, 0),  107,  7, 
(2147483647, 0),  0)));
-            Table.States (800).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (147, 0),  12, 982)));
-            Table.States (801).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (801), (24, 107), (148, 1),  1, null, 
null);
-            Table.States (801).Kernel := To_Vector ((0 => ((148, 1),  147,  0, 
(148, 1),  1)));
-            Table.States (801).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (148, 1),  1)));
-            Table.States (802).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (802), 24, (284, 0), 983);
-            Add_Action (Table.States (802), 107, (147, 0), 800);
-            Table.States (802).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (802), 147, 984);
-            Table.States (802).Kernel := To_Vector ((((148, 0),  148,  8, 
(2147483647, 0),  0), ((284, 0),  148,  3,
-            (2147483647, 0),  0)));
-            Table.States (802).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (284, 0),  24, 983)));
-            Table.States (803).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (803), 7, Reduce, (244, 1),  0, null, 
null);
-            Add_Action (Table.States (803), 33, (239, 0), 511);
-            Add_Action (Table.States (803), 40, (244, 0), 389);
-            Add_Conflict (Table.States (803), 40, (239, 3),  0, null, null);
-            Add_Action (Table.States (803), 45, (239, 2), 512);
-            Add_Action (Table.States (803), 81, Reduce, (239, 3),  0, null, 
null);
-            Add_Action (Table.States (803), 107, Reduce, (239, 3),  0, null, 
null);
-            Add_Action (Table.States (803), 108, Reduce, (239, 3),  0, null, 
null);
-            Add_Action (Table.States (803), 109, Reduce, (239, 3),  0, null, 
null);
-            Table.States (803).Goto_List.Set_Capacity (3);
-            Add_Goto (Table.States (803), 117, 985);
-            Add_Goto (Table.States (803), 239, 986);
-            Add_Goto (Table.States (803), 244, 735);
-            Table.States (803).Kernel := To_Vector ((((257, 0),  121,  2, 
(2147483647, 0),  0), ((257, 1),  121,  1,
-            (2147483647, 0),  0), ((257, 2),  121,  3, (2147483647, 0),  0), 
((257, 3),  121,  2, (2147483647, 0),
-            0)));
-            Table.States (803).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (239, 3),  0)));
-            Table.States (804).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (804), (78, 99), (258, 0),  3, null, 
null);
-            Table.States (804).Kernel := To_Vector ((0 => ((258, 0),  257,  0, 
(258, 0),  3)));
-            Table.States (804).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (258, 0),  3)));
-            Table.States (805).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (805), 99, (218, 2), 987);
-            Table.States (805).Kernel := To_Vector ((0 => ((218, 2),  125,  1, 
(2147483647, 0),  0)));
-            Table.States (805).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (218, 2),  99, 987)));
-            Table.States (806).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (806), 99, (218, 0), 988);
-            Table.States (806).Kernel := To_Vector ((0 => ((218, 0),  125,  1, 
(2147483647, 0),  0)));
-            Table.States (806).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (218, 0),  99, 988)));
-            Table.States (807).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (807), 99, (218, 1), 989);
-            Table.States (807).Kernel := To_Vector ((0 => ((218, 1),  125,  1, 
(2147483647, 0),  0)));
-            Table.States (807).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (218, 1),  99, 989)));
-            Table.States (808).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (808), 36, (112, 0), 990);
-            Add_Action (Table.States (808), 39, Reduce, (112, 2),  1, null, 
null);
-            Add_Action (Table.States (808), 64, (112, 1), 893);
-            Add_Action (Table.States (808), 65, (114, 0), 894);
-            Table.States (808).Kernel := To_Vector ((((112, 0),  6,  1, 
(2147483647, 0),  0), ((112, 1),  6,  1,
-            (2147483647, 0),  0), ((112, 2),  6,  0, (112, 2),  1), ((114, 0), 
 6,  2, (2147483647, 0),  0), ((114, 1),
-             6,  1, (2147483647, 0),  0)));
-            Table.States (808).Minimal_Complete_Actions := To_Vector (((Shift, 
(112, 0),  36, 990), (Shift, (112, 1),
-            64, 893), (Reduce, (112, 2),  1), (Shift, (114, 0),  65, 894)));
-            Table.States (809).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (809), 83, (205, 6), 991);
-            Table.States (809).Kernel := To_Vector ((((205, 6),  19,  3, 
(2147483647, 0),  0), ((205, 7),  19,  1,
-            (2147483647, 0),  0)));
-            Table.States (809).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (205, 6),  83, 991)));
-            Table.States (810).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (810), 83, (205, 5), 992);
-            Table.States (810).Kernel := To_Vector ((0 => ((205, 5),  20,  1, 
(2147483647, 0),  0)));
-            Table.States (810).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (205, 5),  83, 992)));
-            Table.States (811).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (811), 34, (231, 0), 898);
-            Add_Action (Table.States (811), 39, Reduce, (112, 3),  1, null, 
null);
-            Add_Action (Table.States (811), 49, Reduce, (114, 4),  1, null, 
null);
-            Table.States (811).Kernel := To_Vector ((((112, 3),  36,  0, (112, 
3),  1), ((114, 4),  36,  0, (114, 4),
-            1), ((231, 0),  36,  3, (2147483647, 0),  0), ((231, 4),  36,  1, 
(2147483647, 0),  0)));
-            Table.States (811).Minimal_Complete_Actions := To_Vector 
(((Reduce, (112, 3),  1), (Reduce, (114, 4),  1),
-            (Shift, (231, 0),  34, 898)));
-         end Subr_15;
-         procedure Subr_16
-         is begin
-            Table.States (812).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (812), 83, (205, 4), 993);
-            Table.States (812).Kernel := To_Vector ((0 => ((205, 4),  38,  1, 
(2147483647, 0),  0)));
-            Table.States (812).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (205, 4),  83, 993)));
-            Table.States (813).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (813), 83, (205, 3), 994);
-            Table.States (813).Kernel := To_Vector ((0 => ((205, 3),  53,  1, 
(2147483647, 0),  0)));
-            Table.States (813).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (205, 3),  83, 994)));
-            Table.States (814).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (814), 36, (114, 2), 913);
-            Add_Action (Table.States (814), 49, Reduce, (114, 3),  1, null, 
null);
-            Add_Action (Table.States (814), 74, (125, 0), 340);
-            Add_Action (Table.States (814), 99, Reduce, (125, 1),  0, null, 
null);
-            Table.States (814).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (814), 125, 995);
-            Table.States (814).Kernel := To_Vector ((((114, 2),  65,  1, 
(2147483647, 0),  0), ((114, 3),  65,  0,
-            (114, 3),  1), ((204, 1),  65,  1, (2147483647, 0),  0)));
-            Table.States (814).Minimal_Complete_Actions := To_Vector (((Shift, 
(114, 2),  36, 913), (Reduce, (114, 3),
-            1), (Reduce, (125, 1),  0)));
-            Table.States (815).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (815), 83, (205, 2), 996);
-            Table.States (815).Kernel := To_Vector ((0 => ((205, 2),  76,  2, 
(2147483647, 0),  0)));
-            Table.States (815).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (205, 2),  83, 996)));
-            Table.States (816).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (816), 39, (206, 0), 997);
-            Table.States (816).Kernel := To_Vector ((((206, 0),  112,  4, 
(2147483647, 0),  0), ((206, 1),  112,  2,
-            (2147483647, 0),  0)));
-            Table.States (816).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (206, 0),  39, 997)));
-            Table.States (817).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (817), 49, (205, 0), 998);
-            Table.States (817).Kernel := To_Vector ((0 => ((205, 0),  114,  1, 
(2147483647, 0),  0)));
-            Table.States (817).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (205, 0),  49, 998)));
-            Table.States (818).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (818), (74, 99), (205, 9),  1, null, 
null);
-            Table.States (818).Kernel := To_Vector ((0 => ((205, 9),  117,  0, 
(205, 9),  1)));
-            Table.States (818).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (205, 9),  1)));
-            Table.States (819).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (819), (74, 99), (205, 8),  1, null, 
null);
-            Table.States (819).Kernel := To_Vector ((0 => ((205, 8),  123,  0, 
(205, 8),  1)));
-            Table.States (819).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (205, 8),  1)));
-            Table.States (820).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (820), 74, (125, 0), 340);
-            Add_Action (Table.States (820), 99, Reduce, (125, 1),  0, null, 
null);
-            Table.States (820).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (820), 125, 999);
-            Table.States (820).Kernel := To_Vector ((0 => ((204, 0),  205,  1, 
(2147483647, 0),  0)));
-            Table.States (820).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (821).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (821), (74, 99), (205, 1),  1, null, 
null);
-            Table.States (821).Kernel := To_Vector ((0 => ((205, 1),  206,  0, 
(205, 1),  1)));
-            Table.States (821).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (205, 1),  1)));
-            Table.States (822).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (822), (74, 99), (205, 10),  1, null, 
null);
-            Table.States (822).Kernel := To_Vector ((0 => ((205, 10),  231,  
0, (205, 10),  1)));
-            Table.States (822).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (205, 10),  1)));
-            Table.States (823).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (823), (29, 47, 48, 50, 69, 71, 74, 107), 
(204, 2),  5,
-            formal_type_declaration_2'Access, null);
-            Table.States (823).Kernel := To_Vector ((0 => ((204, 2),  99,  0, 
(204, 2),  5)));
-            Table.States (823).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (204, 2),  5)));
-            Table.States (824).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (824), 81, (242, 8), 31);
-            Add_Action (Table.States (824), 107, (242, 5), 120);
-            Add_Action (Table.States (824), 108, (242, 7), 34);
-            Add_Action (Table.States (824), 109, (242, 6), 35);
-            Table.States (824).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (824), 131, 42);
-            Add_Goto (Table.States (824), 242, 1000);
-            Add_Goto (Table.States (824), 275, 93);
-            Add_Goto (Table.States (824), 296, 98);
-            Table.States (824).Kernel := To_Vector ((0 => ((207, 0),  39,  2, 
(2147483647, 0),  0)));
-            Table.States (824).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (825).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (825), 99, (203, 2), 1001);
-            Table.States (825).Kernel := To_Vector ((0 => ((203, 2),  125,  1, 
(2147483647, 0),  0)));
-            Table.States (825).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (203, 2),  99, 1001)));
-            Table.States (826).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (826), 74, (125, 0), 340);
-            Add_Action (Table.States (826), 99, Reduce, (125, 1),  0, null, 
null);
-            Table.States (826).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (826), 125, 1002);
-            Table.States (826).Kernel := To_Vector ((0 => ((203, 0),  313,  1, 
(2147483647, 0),  0)));
-            Table.States (826).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (827).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (827), 99, (203, 1), 1003);
-            Table.States (827).Kernel := To_Vector ((0 => ((203, 1),  125,  1, 
(2147483647, 0),  0)));
-            Table.States (827).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (203, 1),  99, 1003)));
-            Table.States (828).Action_List.Set_Capacity (16);
-            Add_Action (Table.States (828), 3, (200, 2), 122);
-            Add_Action (Table.States (828), 39, (261, 4), 123);
-            Add_Action (Table.States (828), 40, (200, 3), 124);
-            Add_Action (Table.States (828), 41, (261, 1), 125);
-            Add_Action (Table.States (828), 52, (278, 0), 126);
-            Add_Action (Table.States (828), 74, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (828), 76, (120, 0), 127);
-            Add_Action (Table.States (828), 77, (120, 5), 128);
-            Add_Action (Table.States (828), 81, (242, 8), 31);
-            Add_Action (Table.States (828), 97, (333, 1), 129);
-            Add_Action (Table.States (828), 98, (333, 0), 130);
-            Add_Action (Table.States (828), 99, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (828), 106, (261, 0), 131);
-            Add_Action (Table.States (828), 107, (242, 5), 120);
-            Add_Action (Table.States (828), 108, (242, 7), 34);
-            Add_Action (Table.States (828), 109, (242, 6), 35);
-            Table.States (828).Goto_List.Set_Capacity (20);
-            Add_Goto (Table.States (828), 120, 132);
-            Add_Goto (Table.States (828), 131, 42);
-            Add_Goto (Table.States (828), 194, 133);
-            Add_Goto (Table.States (828), 195, 1004);
-            Add_Goto (Table.States (828), 200, 135);
-            Add_Goto (Table.States (828), 242, 136);
-            Add_Goto (Table.States (828), 261, 137);
-            Add_Goto (Table.States (828), 275, 93);
-            Add_Goto (Table.States (828), 278, 138);
-            Add_Goto (Table.States (828), 285, 139);
-            Add_Goto (Table.States (828), 286, 140);
-            Add_Goto (Table.States (828), 287, 141);
-            Add_Goto (Table.States (828), 288, 142);
-            Add_Goto (Table.States (828), 289, 143);
-            Add_Goto (Table.States (828), 290, 144);
-            Add_Goto (Table.States (828), 296, 98);
-            Add_Goto (Table.States (828), 304, 145);
-            Add_Goto (Table.States (828), 323, 146);
-            Add_Goto (Table.States (828), 324, 147);
-            Add_Goto (Table.States (828), 333, 148);
-            Table.States (828).Kernel := To_Vector ((0 => ((201, 1),  85,  1, 
(2147483647, 0),  0)));
-            Table.States (828).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (195, 1),  0)));
-            Table.States (829).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (829), 99, (201, 3), 1005);
-            Table.States (829).Kernel := To_Vector ((0 => ((201, 3),  125,  1, 
(2147483647, 0),  0)));
-            Table.States (829).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (201, 3),  99, 1005)));
-            Table.States (830).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (830), 74, (125, 0), 340);
-            Add_Action (Table.States (830), 76, (118, 0), 237);
-            Add_Action (Table.States (830), 85, (201, 0), 1006);
-            Add_Action (Table.States (830), 87, (296, 0), 239);
-            Add_Action (Table.States (830), 99, Reduce, (125, 1),  0, null, 
null);
-            Add_Action (Table.States (830), 104, (325, 0), 241);
-            Add_Action (Table.States (830), 105, (325, 1), 242);
-            Table.States (830).Goto_List.Set_Capacity (3);
-            Add_Goto (Table.States (830), 118, 243);
-            Add_Goto (Table.States (830), 125, 1007);
-            Add_Goto (Table.States (830), 325, 244);
-            Table.States (830).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((201, 0),  242,  2,
-            (2147483647, 0),  0), ((201, 2),  242,  1, (2147483647, 0),  0), 
((242, 0),  242,  5, (2147483647, 0),  0),
-            ((242, 1),  242,  2, (2147483647, 0),  0), ((275, 0),  242,  3, 
(2147483647, 0),  0), ((296, 0),  242,  2,
-            (2147483647, 0),  0), ((296, 1),  242,  2, (2147483647, 0),  0), 
((296, 2),  242,  2, (2147483647, 0),  0),
-            ((296, 3),  242,  2, (2147483647, 0),  0)));
-            Table.States (830).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (831).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (831), 24, (225, 1), 1008);
-            Table.States (831).Kernel := To_Vector ((0 => ((225, 1),  303,  3, 
(2147483647, 0),  0)));
-            Table.States (831).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (225, 1),  24, 1008)));
-            Table.States (832).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (832), 68, (177, 0), 1009);
-            Table.States (832).Kernel := To_Vector ((0 => ((177, 0),  195,  1, 
(2147483647, 0),  0)));
-            Table.States (832).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (177, 0),  68, 1009)));
-            Table.States (833).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (833), 99, (225, 3), 1010);
-            Table.States (833).Kernel := To_Vector ((0 => ((225, 3),  32,  1, 
(2147483647, 0),  0)));
-            Table.States (833).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (225, 3),  99, 1010)));
-            Table.States (834).Action_List.Set_Capacity (24);
-            Add_Action (Table.States (834), 4, (116, 0), 1);
-            Add_Action (Table.States (834), 5, (306, 8), 2);
-            Add_Action (Table.States (834), 13, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (834), 15, (142, 0), 3);
-            Add_Action (Table.States (834), 17, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (834), 18, (164, 0), 4);
-            Add_Action (Table.States (834), 24, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (834), 27, (193, 0), 5);
-            Add_Action (Table.States (834), 28, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (834), 31, (306, 3), 9);
-            Add_Action (Table.States (834), 32, (225, 0), 10);
-            Add_Action (Table.States (834), 37, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (834), 41, (306, 0), 13);
-            Add_Action (Table.States (834), 48, (260, 0), 16);
-            Add_Action (Table.States (834), 52, (279, 0), 20);
-            Add_Action (Table.States (834), 57, (293, 0), 21);
-            Add_Action (Table.States (834), 58, (199, 0), 22);
-            Add_Action (Table.States (834), 61, (129, 0), 24);
-            Add_Action (Table.States (834), 73, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (834), 81, (242, 8), 31);
-            Add_Action (Table.States (834), 96, (220, 0), 32);
-            Add_Action (Table.States (834), 107, (134, 0), 363);
-            Add_Action (Table.States (834), 108, (242, 7), 34);
-            Add_Action (Table.States (834), 109, (242, 6), 35);
-            Table.States (834).Goto_List.Set_Capacity (31);
-            Add_Goto (Table.States (834), 116, 37);
-            Add_Goto (Table.States (834), 126, 39);
-            Add_Goto (Table.States (834), 129, 40);
-            Add_Goto (Table.States (834), 131, 42);
-            Add_Goto (Table.States (834), 134, 43);
-            Add_Goto (Table.States (834), 135, 44);
-            Add_Goto (Table.States (834), 136, 45);
-            Add_Goto (Table.States (834), 142, 48);
-            Add_Goto (Table.States (834), 154, 51);
-            Add_Goto (Table.States (834), 155, 52);
-            Add_Goto (Table.States (834), 164, 54);
-            Add_Goto (Table.States (834), 193, 58);
-            Add_Goto (Table.States (834), 199, 60);
-            Add_Goto (Table.States (834), 220, 69);
-            Add_Goto (Table.States (834), 225, 71);
-            Add_Goto (Table.States (834), 235, 73);
-            Add_Goto (Table.States (834), 242, 74);
-            Add_Goto (Table.States (834), 260, 84);
-            Add_Goto (Table.States (834), 264, 87);
-            Add_Goto (Table.States (834), 275, 93);
-            Add_Goto (Table.States (834), 279, 94);
-            Add_Goto (Table.States (834), 293, 97);
-            Add_Goto (Table.States (834), 296, 98);
-            Add_Goto (Table.States (834), 297, 99);
-            Add_Goto (Table.States (834), 301, 100);
-            Add_Goto (Table.States (834), 302, 364);
-            Add_Goto (Table.States (834), 303, 1011);
-            Add_Goto (Table.States (834), 305, 101);
-            Add_Goto (Table.States (834), 306, 102);
-            Add_Goto (Table.States (834), 309, 366);
-            Add_Goto (Table.States (834), 326, 115);
-            Table.States (834).Kernel := To_Vector ((0 => ((225, 0),  22,  3, 
(2147483647, 0),  0)));
-            Table.States (834).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (303, 1),  0)));
-            Table.States (835).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (835), 32, (225, 2), 1012);
-            Table.States (835).Kernel := To_Vector ((0 => ((225, 2),  24,  2, 
(2147483647, 0),  0)));
-            Table.States (835).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (225, 2),  32, 1012)));
-            Table.States (836).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (836), (22, 23, 24), (178, 0),  2, 
elsif_statement_list_0'Access, null);
-            Table.States (836).Kernel := To_Vector ((0 => ((178, 0),  177,  0, 
(178, 0),  2)));
-            Table.States (836).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (178, 0),  2)));
-            Table.States (837).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (837), 99, (251, 0), 1013);
-            Table.States (837).Kernel := To_Vector ((0 => ((251, 0),  125,  1, 
(2147483647, 0),  0)));
-            Table.States (837).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (251, 0),  99, 1013)));
-            Table.States (838).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (838), 13, (250, 0), 1014);
-            Add_Action (Table.States (838), 24, (250, 1), 1015);
-            Table.States (838).Kernel := To_Vector ((((250, 0),  162,  3, 
(2147483647, 0),  0), ((250, 1),  162,  2,
-            (2147483647, 0),  0)));
-            Table.States (838).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (250, 1),  24, 1015)));
-            Table.States (839).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (839), 99, (216, 0), 1016);
-            Table.States (839).Kernel := To_Vector ((0 => ((216, 0),  125,  1, 
(2147483647, 0),  0)));
-            Table.States (839).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (216, 0),  99, 1016)));
-            Table.States (840).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (840), (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, 
81, 96, 107, 108, 109, 110), (253, 0),  6,
-            package_renaming_declaration_0'Access, null);
-            Table.States (840).Kernel := To_Vector ((0 => ((253, 0),  99,  0, 
(253, 0),  6)));
-            Table.States (840).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (253, 0),  6)));
-            Table.States (841).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (841), 81, (242, 8), 31);
-            Add_Action (Table.States (841), 99, Reduce, (243, 1),  0, null, 
null);
-            Add_Action (Table.States (841), 107, (242, 5), 120);
-            Add_Action (Table.States (841), 108, (242, 7), 34);
-            Add_Action (Table.States (841), 109, (242, 6), 35);
-            Table.States (841).Goto_List.Set_Capacity (5);
-            Add_Goto (Table.States (841), 131, 42);
-            Add_Goto (Table.States (841), 242, 644);
-            Add_Goto (Table.States (841), 243, 1017);
-            Add_Goto (Table.States (841), 275, 93);
-            Add_Goto (Table.States (841), 296, 98);
-            Table.States (841).Kernel := To_Vector ((0 => ((254, 1),  24,  0, 
(243, 1),  0)));
-            Table.States (841).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (243, 1),  0)));
-            Table.States (842).Action_List.Set_Capacity (16);
-            Add_Action (Table.States (842), 24, Reduce, (162, 1),  0, null, 
null);
-            Add_Action (Table.States (842), 25, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (842), 28, (124, 0), 185);
-            Add_Action (Table.States (842), 29, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (842), 30, (213, 0), 8);
-            Add_Action (Table.States (842), 40, (249, 0), 12);
-            Add_Action (Table.States (842), 46, (249, 1), 14);
-            Add_Action (Table.States (842), 47, (216, 0), 15);
-            Add_Action (Table.States (842), 48, (260, 0), 16);
-            Add_Action (Table.States (842), 50, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (842), 51, (267, 0), 19);
-            Add_Action (Table.States (842), 63, (316, 0), 25);
-            Add_Action (Table.States (842), 66, (308, 0), 26);
-            Add_Action (Table.States (842), 69, (209, 0), 27);
-            Add_Action (Table.States (842), 71, (334, 0), 28);
-            Add_Action (Table.States (842), 107, (222, 1), 187);
-            Table.States (842).Goto_List.Set_Capacity (53);
-            Add_Goto (Table.States (842), 115, 36);
-            Add_Goto (Table.States (842), 124, 38);
-            Add_Goto (Table.States (842), 130, 41);
-            Add_Goto (Table.States (842), 137, 46);
-            Add_Goto (Table.States (842), 138, 47);
-            Add_Goto (Table.States (842), 160, 394);
-            Add_Goto (Table.States (842), 161, 395);
-            Add_Goto (Table.States (842), 162, 1018);
-            Add_Goto (Table.States (842), 182, 55);
-            Add_Goto (Table.States (842), 185, 56);
-            Add_Goto (Table.States (842), 189, 57);
-            Add_Goto (Table.States (842), 196, 59);
-            Add_Goto (Table.States (842), 209, 61);
-            Add_Goto (Table.States (842), 210, 62);
-            Add_Goto (Table.States (842), 212, 63);
-            Add_Goto (Table.States (842), 213, 64);
-            Add_Goto (Table.States (842), 216, 65);
-            Add_Goto (Table.States (842), 217, 66);
-            Add_Goto (Table.States (842), 218, 67);
-            Add_Goto (Table.States (842), 219, 68);
-            Add_Goto (Table.States (842), 222, 70);
-            Add_Goto (Table.States (842), 226, 72);
-            Add_Goto (Table.States (842), 246, 75);
-            Add_Goto (Table.States (842), 247, 76);
-            Add_Goto (Table.States (842), 248, 77);
-            Add_Goto (Table.States (842), 249, 78);
-            Add_Goto (Table.States (842), 250, 79);
-            Add_Goto (Table.States (842), 251, 80);
-            Add_Goto (Table.States (842), 252, 81);
-            Add_Goto (Table.States (842), 253, 82);
-            Add_Goto (Table.States (842), 254, 83);
-            Add_Goto (Table.States (842), 260, 397);
-            Add_Goto (Table.States (842), 262, 85);
-            Add_Goto (Table.States (842), 263, 86);
-            Add_Goto (Table.States (842), 265, 88);
-            Add_Goto (Table.States (842), 266, 89);
-            Add_Goto (Table.States (842), 267, 90);
-            Add_Goto (Table.States (842), 268, 91);
-            Add_Goto (Table.States (842), 274, 92);
-            Add_Goto (Table.States (842), 284, 95);
-            Add_Goto (Table.States (842), 292, 96);
-            Add_Goto (Table.States (842), 307, 103);
-            Add_Goto (Table.States (842), 308, 104);
-            Add_Goto (Table.States (842), 310, 106);
-            Add_Goto (Table.States (842), 311, 107);
-            Add_Goto (Table.States (842), 312, 108);
-            Add_Goto (Table.States (842), 314, 109);
-            Add_Goto (Table.States (842), 316, 110);
-            Add_Goto (Table.States (842), 319, 112);
-            Add_Goto (Table.States (842), 320, 113);
-            Add_Goto (Table.States (842), 322, 114);
-            Add_Goto (Table.States (842), 328, 116);
-            Add_Goto (Table.States (842), 334, 117);
-            Table.States (842).Kernel := To_Vector ((0 => ((254, 0),  49,  1, 
(2147483647, 0),  0)));
-            Table.States (842).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (162, 1),  0)));
-            Table.States (843).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (843), (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, 81, 96, 107, 108,
-            109, 110), (260, 0),  6, pragma_g_0'Access, null);
-            Table.States (843).Kernel := To_Vector ((0 => ((260, 0),  99,  0, 
(260, 0),  6)));
-            Table.States (843).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (260, 0),  6)));
-            Table.States (844).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (844), (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, 81, 96, 107, 108,
-            109, 110), (260, 1),  6, pragma_g_1'Access, null);
-            Table.States (844).Kernel := To_Vector ((0 => ((260, 1),  99,  0, 
(260, 1),  6)));
-            Table.States (844).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (260, 1),  6)));
-            Table.States (845).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (845), 99, (268, 0), 1019);
-            Table.States (845).Kernel := To_Vector ((0 => ((268, 0),  125,  1, 
(2147483647, 0),  0)));
-            Table.States (845).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (268, 0),  99, 1019)));
-            Table.States (846).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (846), 107, (179, 0), 1020);
-            Table.States (846).Kernel := To_Vector ((0 => ((179, 0),  25,  6, 
(2147483647, 0),  0)));
-            Table.States (846).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (179, 0),  107, 1020)));
-            Table.States (847).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (847), (24, 25, 28, 29, 40, 46, 50), 
(270, 5),  1, null, null);
-            Table.States (847).Kernel := To_Vector ((0 => ((270, 5),  124,  0, 
(270, 5),  1)));
-            Table.States (847).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (270, 5),  1)));
-            Table.States (848).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (848), (24, 25, 28, 29, 40, 46, 50), 
(270, 2),  1, null, null);
-            Table.States (848).Kernel := To_Vector ((0 => ((270, 2),  179,  0, 
(270, 2),  1)));
-            Table.States (848).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (270, 2),  1)));
-            Table.States (849).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (849), (24, 25, 28, 29, 40, 46, 50), 
(270, 3),  1, null, null);
-            Table.States (849).Kernel := To_Vector ((0 => ((270, 3),  196,  0, 
(270, 3),  1)));
-            Table.States (849).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (270, 3),  1)));
-            Table.States (850).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (850), (24, 25, 28, 29, 40, 46, 50), 
(270, 4),  1, null, null);
-            Table.States (850).Kernel := To_Vector ((0 => ((270, 4),  246,  0, 
(270, 4),  1)));
-            Table.States (850).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (270, 4),  1)));
-            Table.States (851).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (851), 29, (210, 0), 7);
-            Add_Action (Table.States (851), 50, (265, 0), 18);
-            Table.States (851).Goto_List.Set_Capacity (3);
-            Add_Goto (Table.States (851), 210, 248);
-            Add_Goto (Table.States (851), 265, 249);
-            Add_Goto (Table.States (851), 315, 1021);
-            Table.States (851).Kernel := To_Vector ((((196, 0),  249,  7, 
(2147483647, 0),  0), ((246, 0),  249,  5,
-            (2147483647, 0),  0), ((310, 0),  249,  6, (2147483647, 0),  0), 
((312, 0),  249,  3, (2147483647, 0),
-            0)));
-            Table.States (851).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (265, 0),  50, 18)));
-            Table.States (852).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (852), (24, 25, 28, 29, 40, 46, 50), 
(271, 1),  1, null, null);
-            Table.States (852).Kernel := To_Vector ((0 => ((271, 1),  270,  0, 
(271, 1),  1)));
-            Table.States (852).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (271, 1),  1)));
-            Table.States (853).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (853), 24, Reduce, (272, 0),  1, null, 
null);
-            Add_Action (Table.States (853), 25, (179, 0), 846);
-            Add_Action (Table.States (853), 28, (124, 0), 185);
-            Add_Action (Table.States (853), 29, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (853), 40, (249, 0), 12);
-            Add_Action (Table.States (853), 46, (249, 1), 14);
-            Add_Action (Table.States (853), 50, Reduce, (249, 2),  0, null, 
null);
-            Table.States (853).Goto_List.Set_Capacity (13);
-            Add_Goto (Table.States (853), 124, 847);
-            Add_Goto (Table.States (853), 130, 41);
-            Add_Goto (Table.States (853), 179, 848);
-            Add_Goto (Table.States (853), 185, 56);
-            Add_Goto (Table.States (853), 196, 849);
-            Add_Goto (Table.States (853), 210, 62);
-            Add_Goto (Table.States (853), 246, 850);
-            Add_Goto (Table.States (853), 249, 851);
-            Add_Goto (Table.States (853), 265, 88);
-            Add_Goto (Table.States (853), 270, 1022);
-            Add_Goto (Table.States (853), 284, 95);
-            Add_Goto (Table.States (853), 310, 855);
-            Add_Goto (Table.States (853), 312, 856);
-            Table.States (853).Kernel := To_Vector ((((271, 0),  271,  3, 
(2147483647, 0),  0), ((272, 0),  271,  0,
-            (272, 0),  1)));
-            Table.States (853).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (272, 0),  1)));
-            Table.States (854).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (854), 24, (267, 0), 1023);
-            Table.States (854).Kernel := To_Vector ((0 => ((267, 0),  272,  2, 
(2147483647, 0),  0)));
-            Table.States (854).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (267, 0),  24, 1023)));
-            Table.States (855).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (855), (24, 25, 28, 29, 40, 46, 50), 
(270, 1),  1, null, null);
-            Table.States (855).Kernel := To_Vector ((0 => ((270, 1),  310,  0, 
(270, 1),  1)));
-            Table.States (855).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (270, 1),  1)));
-            Table.States (856).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (856), (24, 25, 28, 29, 40, 46, 50), 
(270, 0),  1, null, null);
-            Table.States (856).Kernel := To_Vector ((0 => ((270, 0),  312,  0, 
(270, 0),  1)));
-            Table.States (856).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (270, 0),  1)));
-            Table.States (857).Action_List.Set_Capacity (18);
-            Add_Action (Table.States (857), 24, Reduce, (162, 1),  0, null, 
null);
-            Add_Action (Table.States (857), 25, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (857), 28, (124, 0), 185);
-            Add_Action (Table.States (857), 29, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (857), 30, (213, 0), 8);
-            Add_Action (Table.States (857), 39, (274, 0), 1024);
-            Add_Action (Table.States (857), 40, (249, 0), 12);
-            Add_Action (Table.States (857), 46, (249, 1), 14);
-            Add_Action (Table.States (857), 47, (216, 0), 15);
-            Add_Action (Table.States (857), 48, (260, 0), 16);
-            Add_Action (Table.States (857), 49, Reduce, (162, 1),  0, null, 
null);
-            Add_Action (Table.States (857), 50, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (857), 51, (267, 0), 19);
-            Add_Action (Table.States (857), 63, (316, 0), 25);
-            Add_Action (Table.States (857), 66, (308, 0), 26);
-            Add_Action (Table.States (857), 69, (209, 0), 27);
-            Add_Action (Table.States (857), 71, (334, 0), 28);
-            Add_Action (Table.States (857), 107, (222, 1), 187);
-            Table.States (857).Goto_List.Set_Capacity (54);
-            Add_Goto (Table.States (857), 115, 36);
-            Add_Goto (Table.States (857), 124, 38);
-            Add_Goto (Table.States (857), 130, 41);
-            Add_Goto (Table.States (857), 137, 46);
-            Add_Goto (Table.States (857), 138, 47);
-            Add_Goto (Table.States (857), 160, 394);
-            Add_Goto (Table.States (857), 161, 395);
-            Add_Goto (Table.States (857), 162, 681);
-            Add_Goto (Table.States (857), 182, 55);
-            Add_Goto (Table.States (857), 185, 56);
-            Add_Goto (Table.States (857), 189, 57);
-            Add_Goto (Table.States (857), 196, 59);
-            Add_Goto (Table.States (857), 209, 61);
-            Add_Goto (Table.States (857), 210, 62);
-            Add_Goto (Table.States (857), 212, 63);
-            Add_Goto (Table.States (857), 213, 64);
-            Add_Goto (Table.States (857), 216, 65);
-            Add_Goto (Table.States (857), 217, 66);
-            Add_Goto (Table.States (857), 218, 67);
-            Add_Goto (Table.States (857), 219, 68);
-            Add_Goto (Table.States (857), 222, 70);
-            Add_Goto (Table.States (857), 226, 72);
-            Add_Goto (Table.States (857), 246, 75);
-            Add_Goto (Table.States (857), 247, 76);
-            Add_Goto (Table.States (857), 248, 77);
-            Add_Goto (Table.States (857), 249, 78);
-            Add_Goto (Table.States (857), 250, 79);
-            Add_Goto (Table.States (857), 251, 80);
-            Add_Goto (Table.States (857), 252, 81);
-            Add_Goto (Table.States (857), 253, 82);
-            Add_Goto (Table.States (857), 254, 83);
-            Add_Goto (Table.States (857), 260, 397);
-            Add_Goto (Table.States (857), 262, 85);
-            Add_Goto (Table.States (857), 263, 86);
-            Add_Goto (Table.States (857), 265, 88);
-            Add_Goto (Table.States (857), 266, 89);
-            Add_Goto (Table.States (857), 267, 90);
-            Add_Goto (Table.States (857), 268, 91);
-            Add_Goto (Table.States (857), 269, 1025);
-            Add_Goto (Table.States (857), 274, 92);
-            Add_Goto (Table.States (857), 284, 95);
-            Add_Goto (Table.States (857), 292, 96);
-            Add_Goto (Table.States (857), 307, 103);
-            Add_Goto (Table.States (857), 308, 104);
-            Add_Goto (Table.States (857), 310, 106);
-            Add_Goto (Table.States (857), 311, 107);
-            Add_Goto (Table.States (857), 312, 108);
-            Add_Goto (Table.States (857), 314, 109);
-            Add_Goto (Table.States (857), 316, 110);
-            Add_Goto (Table.States (857), 319, 112);
-            Add_Goto (Table.States (857), 320, 113);
-            Add_Goto (Table.States (857), 322, 114);
-            Add_Goto (Table.States (857), 328, 116);
-            Add_Goto (Table.States (857), 334, 117);
-            Table.States (857).Kernel := To_Vector ((((274, 0),  35,  5, 
(2147483647, 0),  0), ((274, 1),  35,  2,
-            (2147483647, 0),  0)));
-            Table.States (857).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (162, 1),  0)));
-            Table.States (858).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (858), 10, (230, 0), 1026);
-            Add_Action (Table.States (858), 74, (307, 0), 1027);
-            Table.States (858).Kernel := To_Vector ((((230, 0),  230,  2, 
(2147483647, 0),  0), ((307, 0),  230,  3,
-            (2147483647, 0),  0)));
-            Table.States (858).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (307, 0),  74, 1027)));
-            Table.States (859).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (859), 10, Reduce, (230, 1),  1, 
interface_list_1'Access, null);
-            Add_Action (Table.States (859), 74, Reduce, (230, 1),  1, 
interface_list_1'Access, null);
-            Add_Action (Table.States (859), 76, (118, 0), 237);
-            Add_Action (Table.States (859), 87, (296, 0), 239);
-            Add_Action (Table.States (859), 99, Reduce, (230, 1),  1, 
interface_list_1'Access, null);
-            Add_Action (Table.States (859), 104, (325, 0), 241);
-            Add_Action (Table.States (859), 105, (325, 1), 242);
-            Table.States (859).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (859), 118, 243);
-            Add_Goto (Table.States (859), 325, 244);
-            Table.States (859).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((230, 1),  242,  0,
-            (230, 1),  1), ((242, 0),  242,  5, (2147483647, 0),  0), ((242, 
1),  242,  2, (2147483647, 0),  0), ((275,
-            0),  242,  3, (2147483647, 0),  0), ((296, 0),  242,  2, 
(2147483647, 0),  0), ((296, 1),  242,  2,
-            (2147483647, 0),  0), ((296, 2),  242,  2, (2147483647, 0),  0), 
((296, 3),  242,  2, (2147483647, 0),
-            0)));
-            Table.States (859).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (230, 1),  1)));
-            Table.States (860).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (860), 99, Reduce, (223, 1),  0, null, 
null);
-            Add_Action (Table.States (860), 107, (223, 0), 151);
-            Table.States (860).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (860), 223, 1028);
-            Table.States (860).Kernel := To_Vector ((0 => ((269, 1),  24,  0, 
(223, 1),  0)));
-            Table.States (860).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (223, 1),  0)));
-            Table.States (861).Action_List.Set_Capacity (16);
-            Add_Action (Table.States (861), 24, Reduce, (162, 1),  0, null, 
null);
-            Add_Action (Table.States (861), 25, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (861), 28, (124, 0), 185);
-            Add_Action (Table.States (861), 29, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (861), 30, (213, 0), 8);
-            Add_Action (Table.States (861), 40, (249, 0), 12);
-            Add_Action (Table.States (861), 46, (249, 1), 14);
-            Add_Action (Table.States (861), 47, (216, 0), 15);
-            Add_Action (Table.States (861), 48, (260, 0), 16);
-            Add_Action (Table.States (861), 50, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (861), 51, (267, 0), 19);
-            Add_Action (Table.States (861), 63, (316, 0), 25);
-            Add_Action (Table.States (861), 66, (308, 0), 26);
-            Add_Action (Table.States (861), 69, (209, 0), 27);
-            Add_Action (Table.States (861), 71, (334, 0), 28);
-            Add_Action (Table.States (861), 107, (222, 1), 187);
-            Table.States (861).Goto_List.Set_Capacity (53);
-            Add_Goto (Table.States (861), 115, 36);
-            Add_Goto (Table.States (861), 124, 38);
-            Add_Goto (Table.States (861), 130, 41);
-            Add_Goto (Table.States (861), 137, 46);
-            Add_Goto (Table.States (861), 138, 47);
-            Add_Goto (Table.States (861), 160, 394);
-            Add_Goto (Table.States (861), 161, 395);
-            Add_Goto (Table.States (861), 162, 1029);
-            Add_Goto (Table.States (861), 182, 55);
-            Add_Goto (Table.States (861), 185, 56);
-            Add_Goto (Table.States (861), 189, 57);
-            Add_Goto (Table.States (861), 196, 59);
-            Add_Goto (Table.States (861), 209, 61);
-            Add_Goto (Table.States (861), 210, 62);
-            Add_Goto (Table.States (861), 212, 63);
-            Add_Goto (Table.States (861), 213, 64);
-            Add_Goto (Table.States (861), 216, 65);
-            Add_Goto (Table.States (861), 217, 66);
-            Add_Goto (Table.States (861), 218, 67);
-            Add_Goto (Table.States (861), 219, 68);
-            Add_Goto (Table.States (861), 222, 70);
-            Add_Goto (Table.States (861), 226, 72);
-            Add_Goto (Table.States (861), 246, 75);
-            Add_Goto (Table.States (861), 247, 76);
-            Add_Goto (Table.States (861), 248, 77);
-            Add_Goto (Table.States (861), 249, 78);
-            Add_Goto (Table.States (861), 250, 79);
-            Add_Goto (Table.States (861), 251, 80);
-            Add_Goto (Table.States (861), 252, 81);
-            Add_Goto (Table.States (861), 253, 82);
-            Add_Goto (Table.States (861), 254, 83);
-            Add_Goto (Table.States (861), 260, 397);
-            Add_Goto (Table.States (861), 262, 85);
-            Add_Goto (Table.States (861), 263, 86);
-            Add_Goto (Table.States (861), 265, 88);
-            Add_Goto (Table.States (861), 266, 89);
-            Add_Goto (Table.States (861), 267, 90);
-            Add_Goto (Table.States (861), 268, 91);
-            Add_Goto (Table.States (861), 274, 92);
-            Add_Goto (Table.States (861), 284, 95);
-            Add_Goto (Table.States (861), 292, 96);
-            Add_Goto (Table.States (861), 307, 103);
-            Add_Goto (Table.States (861), 308, 104);
-            Add_Goto (Table.States (861), 310, 106);
-            Add_Goto (Table.States (861), 311, 107);
-            Add_Goto (Table.States (861), 312, 108);
-            Add_Goto (Table.States (861), 314, 109);
-            Add_Goto (Table.States (861), 316, 110);
-            Add_Goto (Table.States (861), 319, 112);
-            Add_Goto (Table.States (861), 320, 113);
-            Add_Goto (Table.States (861), 322, 114);
-            Add_Goto (Table.States (861), 328, 116);
-            Add_Goto (Table.States (861), 334, 117);
-            Table.States (861).Kernel := To_Vector ((0 => ((269, 0),  49,  1, 
(2147483647, 0),  0)));
-            Table.States (861).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (162, 1),  0)));
-            Table.States (862).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (862), (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, 
81, 96, 107, 108, 109, 110), (307, 1),  6,
-            single_protected_declaration_1'Access, 
single_protected_declaration_1_check'Access);
-            Table.States (862).Kernel := To_Vector ((0 => ((307, 1),  99,  0, 
(307, 1),  6)));
-            Table.States (862).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (307, 1),  6)));
-            Table.States (863).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (863), (21, 85, 99), (295, 1),  1, null, 
null);
-            Table.States (863).Kernel := To_Vector ((0 => ((295, 1),  117,  0, 
(295, 1),  1)));
-            Table.States (863).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (295, 1),  1)));
-            Table.States (864).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (864), 21, Reduce, (197, 1),  5, 
extended_return_object_declaration_1'Access,
-            null);
-            Add_Action (Table.States (864), 85, (197, 0), 1030);
-            Add_Action (Table.States (864), 99, Reduce, (197, 1),  5, 
extended_return_object_declaration_1'Access,
-            null);
-            Table.States (864).Kernel := To_Vector ((((197, 0),  295,  1, 
(2147483647, 0),  0), ((197, 1),  295,  0,
-            (197, 1),  5)));
-            Table.States (864).Minimal_Complete_Actions := To_Vector (((Shift, 
(197, 0),  85, 1030), (Reduce, (197, 1),
-             5)));
-            Table.States (865).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (865), (21, 85, 99), (295, 0),  1, null, 
null);
-            Table.States (865).Kernel := To_Vector ((0 => ((295, 0),  317,  0, 
(295, 0),  1)));
-            Table.States (865).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (295, 0),  1)));
-            Table.States (866).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (866), 99, (199, 0), 1031);
-            Table.States (866).Kernel := To_Vector ((0 => ((199, 0),  58,  1, 
(2147483647, 0),  0)));
-            Table.States (866).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (199, 0),  99, 1031)));
-            Table.States (867).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (867), 81, (242, 8), 31);
-            Add_Action (Table.States (867), 107, (242, 5), 120);
-            Add_Action (Table.States (867), 108, (242, 7), 34);
-            Add_Action (Table.States (867), 109, (242, 6), 35);
-            Table.States (867).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (867), 131, 42);
-            Add_Goto (Table.States (867), 242, 1032);
-            Add_Goto (Table.States (867), 275, 93);
-            Add_Goto (Table.States (867), 296, 98);
-            Table.States (867).Kernel := To_Vector ((((250, 0),  14,  5, 
(2147483647, 0),  0), ((250, 1),  14,  4,
-            (2147483647, 0),  0)));
-            Table.States (867).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (868).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (868), 107, (267, 0), 1033);
-            Table.States (868).Kernel := To_Vector ((0 => ((267, 0),  14,  4, 
(2147483647, 0),  0)));
-            Table.States (868).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (267, 0),  107, 1033)));
-            Table.States (869).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (869), 107, (319, 0), 1034);
-            Table.States (869).Kernel := To_Vector ((0 => ((319, 0),  14,  5, 
(2147483647, 0),  0)));
-            Table.States (869).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (319, 0),  107, 1034)));
-            Table.States (870).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (870), 35, Reduce, (125, 1),  0, null, 
null);
-            Add_Action (Table.States (870), 74, (125, 0), 340);
-            Table.States (870).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (870), 125, 1035);
-            Table.States (870).Kernel := To_Vector ((0 => ((310, 0),  315,  4, 
(2147483647, 0),  0)));
-            Table.States (870).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (871).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (871), (22, 24, 43), (298, 1),  5, 
select_alternative_1'Access, null);
-            Table.States (871).Kernel := To_Vector ((0 => ((298, 1),  99,  0, 
(298, 1),  5)));
-            Table.States (871).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (298, 1),  5)));
-            Table.States (872).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (872), (22, 24, 43), (298, 0),  5, 
select_alternative_0'Access, null);
-            Table.States (872).Kernel := To_Vector ((0 => ((298, 0),  303,  0, 
(298, 0),  5)));
-            Table.States (872).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (298, 0),  5)));
-            Table.States (873).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (873), 99, (155, 0), 1036);
-            Table.States (873).Kernel := To_Vector ((0 => ((155, 0),  61,  1, 
(2147483647, 0),  0)));
-            Table.States (873).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (155, 0),  99, 1036)));
-            Table.States (874).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (874), 99, (326, 0), 1037);
-            Table.States (874).Kernel := To_Vector ((0 => ((326, 0),  61,  1, 
(2147483647, 0),  0)));
-            Table.States (874).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (326, 0),  99, 1037)));
-            Table.States (875).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (875), 99, (297, 0), 1038);
-            Table.States (875).Kernel := To_Vector ((0 => ((297, 0),  61,  1, 
(2147483647, 0),  0)));
-            Table.States (875).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (297, 0),  99, 1038)));
-            Table.States (876).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (876), 61, (129, 0), 1039);
-            Table.States (876).Kernel := To_Vector ((0 => ((129, 0),  24,  2, 
(2147483647, 0),  0)));
-            Table.States (876).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (129, 0),  61, 1039)));
-            Table.States (877).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (877), (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, 
81, 96, 107, 108, 109, 110), (316, 0),  6,
-            subtype_declaration_0'Access, null);
-            Table.States (877).Kernel := To_Vector ((0 => ((316, 0),  99,  0, 
(316, 0),  6)));
-            Table.States (877).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (316, 0),  6)));
-            Table.States (878).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (878), 99, (320, 0), 1040);
-            Table.States (878).Kernel := To_Vector ((0 => ((320, 0),  125,  1, 
(2147483647, 0),  0)));
-            Table.States (878).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (320, 0),  99, 1040)));
-            Table.States (879).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (879), 13, (319, 0), 1041);
-            Table.States (879).Kernel := To_Vector ((0 => ((319, 0),  162,  3, 
(2147483647, 0),  0)));
-            Table.States (879).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (319, 0),  13, 1041)));
-            Table.States (880).Action_List.Set_Capacity (18);
-            Add_Action (Table.States (880), 24, Reduce, (162, 1),  0, null, 
null);
-            Add_Action (Table.States (880), 25, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (880), 28, (124, 0), 185);
-            Add_Action (Table.States (880), 29, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (880), 30, (213, 0), 8);
-            Add_Action (Table.States (880), 39, (322, 0), 1042);
-            Add_Action (Table.States (880), 40, (249, 0), 12);
-            Add_Action (Table.States (880), 46, (249, 1), 14);
-            Add_Action (Table.States (880), 47, (216, 0), 15);
-            Add_Action (Table.States (880), 48, (260, 0), 16);
-            Add_Action (Table.States (880), 49, Reduce, (162, 1),  0, null, 
null);
-            Add_Action (Table.States (880), 50, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (880), 51, (267, 0), 19);
-            Add_Action (Table.States (880), 63, (316, 0), 25);
-            Add_Action (Table.States (880), 66, (308, 0), 26);
-            Add_Action (Table.States (880), 69, (209, 0), 27);
-            Add_Action (Table.States (880), 71, (334, 0), 28);
-            Add_Action (Table.States (880), 107, (222, 1), 187);
-            Table.States (880).Goto_List.Set_Capacity (54);
-            Add_Goto (Table.States (880), 115, 36);
-            Add_Goto (Table.States (880), 124, 38);
-            Add_Goto (Table.States (880), 130, 41);
-            Add_Goto (Table.States (880), 137, 46);
-            Add_Goto (Table.States (880), 138, 47);
-            Add_Goto (Table.States (880), 160, 394);
-            Add_Goto (Table.States (880), 161, 395);
-            Add_Goto (Table.States (880), 162, 706);
-            Add_Goto (Table.States (880), 182, 55);
-            Add_Goto (Table.States (880), 185, 56);
-            Add_Goto (Table.States (880), 189, 57);
-            Add_Goto (Table.States (880), 196, 59);
-            Add_Goto (Table.States (880), 209, 61);
-            Add_Goto (Table.States (880), 210, 62);
-            Add_Goto (Table.States (880), 212, 63);
-            Add_Goto (Table.States (880), 213, 64);
-            Add_Goto (Table.States (880), 216, 65);
-            Add_Goto (Table.States (880), 217, 66);
-            Add_Goto (Table.States (880), 218, 67);
-            Add_Goto (Table.States (880), 219, 68);
-            Add_Goto (Table.States (880), 222, 70);
-            Add_Goto (Table.States (880), 226, 72);
-            Add_Goto (Table.States (880), 246, 75);
-            Add_Goto (Table.States (880), 247, 76);
-            Add_Goto (Table.States (880), 248, 77);
-            Add_Goto (Table.States (880), 249, 78);
-            Add_Goto (Table.States (880), 250, 79);
-            Add_Goto (Table.States (880), 251, 80);
-            Add_Goto (Table.States (880), 252, 81);
-            Add_Goto (Table.States (880), 253, 82);
-            Add_Goto (Table.States (880), 254, 83);
-            Add_Goto (Table.States (880), 260, 397);
-            Add_Goto (Table.States (880), 262, 85);
-            Add_Goto (Table.States (880), 263, 86);
-            Add_Goto (Table.States (880), 265, 88);
-            Add_Goto (Table.States (880), 266, 89);
-            Add_Goto (Table.States (880), 267, 90);
-            Add_Goto (Table.States (880), 268, 91);
-            Add_Goto (Table.States (880), 274, 92);
-            Add_Goto (Table.States (880), 284, 95);
-            Add_Goto (Table.States (880), 292, 96);
-            Add_Goto (Table.States (880), 307, 103);
-            Add_Goto (Table.States (880), 308, 104);
-            Add_Goto (Table.States (880), 310, 106);
-            Add_Goto (Table.States (880), 311, 107);
-            Add_Goto (Table.States (880), 312, 108);
-            Add_Goto (Table.States (880), 314, 109);
-            Add_Goto (Table.States (880), 316, 110);
-            Add_Goto (Table.States (880), 319, 112);
-            Add_Goto (Table.States (880), 320, 113);
-            Add_Goto (Table.States (880), 321, 1043);
-            Add_Goto (Table.States (880), 322, 114);
-            Add_Goto (Table.States (880), 328, 116);
-            Add_Goto (Table.States (880), 334, 117);
-            Table.States (880).Kernel := To_Vector ((((322, 0),  35,  5, 
(2147483647, 0),  0), ((322, 1),  35,  2,
-            (2147483647, 0),  0)));
-            Table.States (880).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (321, 1),  0)));
-            Table.States (881).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (881), (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, 
81, 96, 107, 108, 109, 110), (322, 2),  6,
-            task_type_declaration_2'Access, null);
-            Table.States (881).Kernel := To_Vector ((0 => ((322, 2),  99,  0, 
(322, 2),  6)));
-            Table.States (881).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (322, 2),  6)));
-            Table.States (882).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (882), 10, (230, 0), 1026);
-            Add_Action (Table.States (882), 74, (308, 0), 1044);
-            Table.States (882).Kernel := To_Vector ((((230, 0),  230,  2, 
(2147483647, 0),  0), ((308, 0),  230,  3,
-            (2147483647, 0),  0)));
-            Table.States (882).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (308, 0),  74, 1044)));
-         end Subr_16;
-         procedure Subr_17
-         is begin
-            Table.States (883).Action_List.Set_Capacity (16);
-            Add_Action (Table.States (883), 24, Reduce, (162, 1),  0, null, 
null);
-            Add_Action (Table.States (883), 25, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (883), 28, (124, 0), 185);
-            Add_Action (Table.States (883), 29, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (883), 30, (213, 0), 8);
-            Add_Action (Table.States (883), 40, (249, 0), 12);
-            Add_Action (Table.States (883), 46, (249, 1), 14);
-            Add_Action (Table.States (883), 47, (216, 0), 15);
-            Add_Action (Table.States (883), 48, (260, 0), 16);
-            Add_Action (Table.States (883), 50, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (883), 51, (267, 0), 19);
-            Add_Action (Table.States (883), 63, (316, 0), 25);
-            Add_Action (Table.States (883), 66, (308, 0), 26);
-            Add_Action (Table.States (883), 69, (209, 0), 27);
-            Add_Action (Table.States (883), 71, (334, 0), 28);
-            Add_Action (Table.States (883), 107, (222, 1), 187);
-            Table.States (883).Goto_List.Set_Capacity (53);
-            Add_Goto (Table.States (883), 115, 36);
-            Add_Goto (Table.States (883), 124, 38);
-            Add_Goto (Table.States (883), 130, 41);
-            Add_Goto (Table.States (883), 137, 46);
-            Add_Goto (Table.States (883), 138, 47);
-            Add_Goto (Table.States (883), 160, 394);
-            Add_Goto (Table.States (883), 161, 395);
-            Add_Goto (Table.States (883), 162, 1045);
-            Add_Goto (Table.States (883), 182, 55);
-            Add_Goto (Table.States (883), 185, 56);
-            Add_Goto (Table.States (883), 189, 57);
-            Add_Goto (Table.States (883), 196, 59);
-            Add_Goto (Table.States (883), 209, 61);
-            Add_Goto (Table.States (883), 210, 62);
-            Add_Goto (Table.States (883), 212, 63);
-            Add_Goto (Table.States (883), 213, 64);
-            Add_Goto (Table.States (883), 216, 65);
-            Add_Goto (Table.States (883), 217, 66);
-            Add_Goto (Table.States (883), 218, 67);
-            Add_Goto (Table.States (883), 219, 68);
-            Add_Goto (Table.States (883), 222, 70);
-            Add_Goto (Table.States (883), 226, 72);
-            Add_Goto (Table.States (883), 246, 75);
-            Add_Goto (Table.States (883), 247, 76);
-            Add_Goto (Table.States (883), 248, 77);
-            Add_Goto (Table.States (883), 249, 78);
-            Add_Goto (Table.States (883), 250, 79);
-            Add_Goto (Table.States (883), 251, 80);
-            Add_Goto (Table.States (883), 252, 81);
-            Add_Goto (Table.States (883), 253, 82);
-            Add_Goto (Table.States (883), 254, 83);
-            Add_Goto (Table.States (883), 260, 397);
-            Add_Goto (Table.States (883), 262, 85);
-            Add_Goto (Table.States (883), 263, 86);
-            Add_Goto (Table.States (883), 265, 88);
-            Add_Goto (Table.States (883), 266, 89);
-            Add_Goto (Table.States (883), 267, 90);
-            Add_Goto (Table.States (883), 268, 91);
-            Add_Goto (Table.States (883), 274, 92);
-            Add_Goto (Table.States (883), 284, 95);
-            Add_Goto (Table.States (883), 292, 96);
-            Add_Goto (Table.States (883), 307, 103);
-            Add_Goto (Table.States (883), 308, 104);
-            Add_Goto (Table.States (883), 310, 106);
-            Add_Goto (Table.States (883), 311, 107);
-            Add_Goto (Table.States (883), 312, 108);
-            Add_Goto (Table.States (883), 314, 109);
-            Add_Goto (Table.States (883), 316, 110);
-            Add_Goto (Table.States (883), 319, 112);
-            Add_Goto (Table.States (883), 320, 113);
-            Add_Goto (Table.States (883), 322, 114);
-            Add_Goto (Table.States (883), 328, 116);
-            Add_Goto (Table.States (883), 334, 117);
-            Table.States (883).Kernel := To_Vector ((0 => ((321, 0),  49,  0, 
(162, 1),  0)));
-            Table.States (883).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (162, 1),  0)));
-            Table.States (884).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (884), 99, Reduce, (223, 1),  0, null, 
null);
-            Add_Action (Table.States (884), 107, (223, 0), 151);
-            Table.States (884).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (884), 223, 1046);
-            Table.States (884).Kernel := To_Vector ((0 => ((308, 1),  24,  1, 
(2147483647, 0),  0)));
-            Table.States (884).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (223, 1),  0)));
-            Table.States (885).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (885), (78, 99), (174, 0),  3, null, 
null);
-            Table.States (885).Kernel := To_Vector ((0 => ((174, 0),  173,  0, 
(174, 0),  3)));
-            Table.States (885).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (174, 0),  3)));
-            Table.States (886).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (886), 41, (244, 0), 1047);
-            Table.States (886).Kernel := To_Vector ((((244, 0),  40,  1, 
(2147483647, 0),  0), ((245, 2),  40,  2,
-            (2147483647, 0),  0), ((245, 3),  40,  4, (2147483647, 0),  0)));
-            Table.States (886).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (244, 0),  41, 1047)));
-            Table.States (887).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (887), 76, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (887), 78, Reduce, (245, 0),  1, 
null_exclusion_opt_name_type_0'Access, null);
-            Add_Action (Table.States (887), 85, Reduce, (245, 0),  1, 
null_exclusion_opt_name_type_0'Access, null);
-            Add_Action (Table.States (887), 87, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (887), 99, Reduce, (245, 0),  1, 
null_exclusion_opt_name_type_0'Access, null);
-            Add_Action (Table.States (887), 104, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (887), 105, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Table.States (887).Kernel := To_Vector ((((242, 5),  107,  0, 
(242, 5),  1), ((245, 0),  107,  0, (245, 0),
-             1)));
-            Table.States (887).Minimal_Complete_Actions := To_Vector 
(((Reduce, (242, 5),  1), (Reduce, (245, 0),
-            1)));
-            Table.States (888).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (888), 78, Reduce, (173, 3),  3, null, 
null);
-            Add_Action (Table.States (888), 85, (173, 1), 1048);
-            Add_Action (Table.States (888), 99, Reduce, (173, 3),  3, null, 
null);
-            Table.States (888).Kernel := To_Vector ((((173, 1),  117,  1, 
(2147483647, 0),  0), ((173, 3),  117,  0,
-            (173, 3),  3)));
-            Table.States (888).Minimal_Complete_Actions := To_Vector (((Shift, 
(173, 1),  85, 1048), (Reduce, (173, 3),
-             3)));
-            Table.States (889).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (889), 76, (118, 0), 237);
-            Add_Action (Table.States (889), 87, (296, 0), 239);
-            Add_Action (Table.States (889), 104, (325, 0), 241);
-            Add_Action (Table.States (889), 105, (325, 1), 242);
-            Table.States (889).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (889), 118, 243);
-            Add_Goto (Table.States (889), 325, 244);
-            Table.States (889).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((242, 0),  242,  5,
-            (2147483647, 0),  0), ((242, 1),  242,  2, (2147483647, 0),  0), 
((275, 0),  242,  3, (2147483647, 0),  0),
-            ((296, 0),  242,  2, (2147483647, 0),  0), ((296, 1),  242,  2, 
(2147483647, 0),  0), ((296, 2),  242,  2,
-            (2147483647, 0),  0), ((296, 3),  242,  2, (2147483647, 0),  0)));
-            Table.States (890).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (890), 78, Reduce, (173, 2),  3, null, 
null);
-            Add_Action (Table.States (890), 85, (173, 0), 1049);
-            Add_Action (Table.States (890), 99, Reduce, (173, 2),  3, null, 
null);
-            Table.States (890).Kernel := To_Vector ((((173, 0),  245,  1, 
(2147483647, 0),  0), ((173, 2),  245,  0,
-            (173, 2),  3)));
-            Table.States (890).Minimal_Complete_Actions := To_Vector (((Shift, 
(173, 0),  85, 1049), (Reduce, (173, 2),
-             3)));
-            Table.States (891).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (891), 76, Reduce, (242, 2),  1, null, 
name_2_check'Access);
-            Add_Action (Table.States (891), 78, Reduce, (245, 1),  1, 
null_exclusion_opt_name_type_1'Access, null);
-            Add_Action (Table.States (891), 85, Reduce, (245, 1),  1, 
null_exclusion_opt_name_type_1'Access, null);
-            Add_Action (Table.States (891), 87, Reduce, (242, 2),  1, null, 
name_2_check'Access);
-            Add_Action (Table.States (891), 99, Reduce, (245, 1),  1, 
null_exclusion_opt_name_type_1'Access, null);
-            Add_Action (Table.States (891), 104, Reduce, (242, 2),  1, null, 
name_2_check'Access);
-            Add_Action (Table.States (891), 105, Reduce, (242, 2),  1, null, 
name_2_check'Access);
-            Table.States (891).Kernel := To_Vector ((((242, 2),  296,  0, 
(242, 2),  1), ((245, 1),  296,  0, (245, 1),
-             1)));
-            Table.States (891).Minimal_Complete_Actions := To_Vector 
(((Reduce, (242, 2),  1), (Reduce, (245, 1),
-            1)));
-            Table.States (892).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (892), 39, Reduce, (112, 0),  2, null, 
null);
-            Add_Conflict (Table.States (892), 39, (113, 0),  2, null, null);
-            Table.States (892).Kernel := To_Vector ((((112, 0),  36,  0, (112, 
0),  2), ((113, 0),  36,  0, (113, 0),
-            2)));
-            Table.States (892).Minimal_Complete_Actions := To_Vector 
(((Reduce, (112, 0),  2), (Reduce, (113, 0),
-            2)));
-            Table.States (893).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (893), (1 =>  39), (112, 1),  2, null, 
null);
-            Table.States (893).Kernel := To_Vector ((0 => ((112, 1),  64,  0, 
(112, 1),  2)));
-            Table.States (893).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (112, 1),  2)));
-            Table.States (894).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (894), 36, (114, 0), 1050);
-            Add_Action (Table.States (894), 41, Reduce, (114, 1),  2, null, 
null);
-            Add_Action (Table.States (894), 49, Reduce, (114, 1),  2, null, 
null);
-            Add_Action (Table.States (894), 54, Reduce, (114, 1),  2, null, 
null);
-            Table.States (894).Kernel := To_Vector ((((114, 0),  65,  1, 
(2147483647, 0),  0), ((114, 1),  65,  0,
-            (114, 1),  2)));
-            Table.States (894).Minimal_Complete_Actions := To_Vector (((Shift, 
(114, 0),  36, 1050), (Reduce, (114, 1),
-             2)));
-            Table.States (895).Action_List.Set_Capacity (13);
-            Add_Action (Table.States (895), 3, (200, 2), 122);
-            Add_Action (Table.States (895), 39, (261, 4), 123);
-            Add_Action (Table.States (895), 40, (200, 3), 481);
-            Add_Action (Table.States (895), 41, (261, 1), 125);
-            Add_Action (Table.States (895), 76, (120, 0), 127);
-            Add_Action (Table.States (895), 77, (120, 5), 128);
-            Add_Action (Table.States (895), 81, (242, 8), 31);
-            Add_Action (Table.States (895), 97, (333, 1), 129);
-            Add_Action (Table.States (895), 98, (333, 0), 130);
-            Add_Action (Table.States (895), 106, (261, 0), 131);
-            Add_Action (Table.States (895), 107, (242, 5), 120);
-            Add_Action (Table.States (895), 108, (242, 7), 34);
-            Add_Action (Table.States (895), 109, (242, 6), 35);
-            Table.States (895).Goto_List.Set_Capacity (17);
-            Add_Goto (Table.States (895), 120, 132);
-            Add_Goto (Table.States (895), 131, 42);
-            Add_Goto (Table.States (895), 170, 793);
-            Add_Goto (Table.States (895), 171, 1051);
-            Add_Goto (Table.States (895), 200, 135);
-            Add_Goto (Table.States (895), 228, 1052);
-            Add_Goto (Table.States (895), 229, 1053);
-            Add_Goto (Table.States (895), 242, 1054);
-            Add_Goto (Table.States (895), 261, 137);
-            Add_Goto (Table.States (895), 275, 93);
-            Add_Goto (Table.States (895), 280, 485);
-            Add_Goto (Table.States (895), 296, 98);
-            Add_Goto (Table.States (895), 304, 486);
-            Add_Goto (Table.States (895), 317, 487);
-            Add_Goto (Table.States (895), 323, 146);
-            Add_Goto (Table.States (895), 324, 147);
-            Add_Goto (Table.States (895), 333, 148);
-            Table.States (895).Kernel := To_Vector ((((123, 0),  76,  6, 
(2147483647, 0),  0), ((123, 1),  76,  6,
-            (2147483647, 0),  0)));
-            Table.States (895).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (896).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (896), 20, (329, 4), 1055);
-            Add_Action (Table.States (896), 53, (282, 0), 1056);
-            Add_Action (Table.States (896), 74, Reduce, (282, 1),  0, null, 
null);
-            Add_Action (Table.States (896), 99, Reduce, (282, 1),  0, null, 
null);
-            Table.States (896).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (896), 282, 1057);
-            Table.States (896).Kernel := To_Vector ((((329, 4),  195,  1, 
(2147483647, 0),  0), ((329, 5),  195,  0,
-            (282, 1),  0)));
-            Table.States (896).Minimal_Complete_Actions := To_Vector (((Shift, 
(329, 4),  20, 1055), (Reduce, (282, 1),
-             0)));
-            Table.States (897).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (897), 53, (282, 0), 1056);
-            Add_Action (Table.States (897), 74, Reduce, (282, 1),  0, null, 
null);
-            Add_Action (Table.States (897), 99, Reduce, (282, 1),  0, null, 
null);
-            Table.States (897).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (897), 282, 1058);
-            Table.States (897).Kernel := To_Vector ((0 => ((329, 3),  195,  0, 
(282, 1),  0)));
-            Table.States (897).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (282, 1),  0)));
-            Table.States (898).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (898), 10, (231, 0), 1059);
-            Add_Action (Table.States (898), 74, Reduce, (231, 4),  2, null, 
null);
-            Add_Action (Table.States (898), 99, Reduce, (231, 4),  2, null, 
null);
-            Table.States (898).Kernel := To_Vector ((((231, 0),  34,  2, 
(2147483647, 0),  0), ((231, 4),  34,  0,
-            (231, 4),  2)));
-            Table.States (898).Minimal_Complete_Actions := To_Vector (((Shift, 
(231, 0),  10, 1059), (Reduce, (231, 4),
-             2)));
-            Table.States (899).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (899), (74, 99), (329, 2),  2, null, 
null);
-            Table.States (899).Kernel := To_Vector ((0 => ((329, 2),  195,  0, 
(329, 2),  2)));
-            Table.States (899).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (329, 2),  2)));
-            Table.States (900).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (900), (74, 99), (283, 1),  2, null, 
null);
-            Table.States (900).Kernel := To_Vector ((0 => ((283, 1),  54,  0, 
(283, 1),  2)));
-            Table.States (900).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (283, 1),  2)));
-            Table.States (901).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (901), 10, (231, 2), 1060);
-            Add_Action (Table.States (901), 74, Reduce, (231, 6),  2, null, 
null);
-            Add_Action (Table.States (901), 99, Reduce, (231, 6),  2, null, 
null);
-            Table.States (901).Kernel := To_Vector ((((231, 2),  34,  2, 
(2147483647, 0),  0), ((231, 6),  34,  0,
-            (231, 6),  2)));
-            Table.States (901).Minimal_Complete_Actions := To_Vector (((Shift, 
(231, 2),  10, 1060), (Reduce, (231, 6),
-             2)));
-            Table.States (902).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (902), 88, (329, 1), 1061);
-            Table.States (902).Kernel := To_Vector ((0 => ((329, 1),  304,  2, 
(2147483647, 0),  0)));
-            Table.States (902).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (329, 1),  88, 1061)));
-            Table.States (903).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (903), 35, Reduce, (167, 1),  0, null, 
null);
-            Add_Action (Table.States (903), 107, (166, 0), 1062);
-            Add_Action (Table.States (903), 108, (166, 1), 1063);
-            Table.States (903).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (903), 166, 1064);
-            Add_Goto (Table.States (903), 167, 1065);
-            Table.States (903).Kernel := To_Vector ((0 => ((330, 0),  15,  6, 
(2147483647, 0),  0)));
-            Table.States (903).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (167, 1),  0)));
-            Table.States (904).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (904), 99, (152, 4), 1066);
-            Table.States (904).Kernel := To_Vector ((0 => ((152, 4),  41,  1, 
(2147483647, 0),  0)));
-            Table.States (904).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (152, 4),  99, 1066)));
-            Table.States (905).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (905), (15, 24, 28, 72, 107), (151, 1),  
1, null, null);
-            Table.States (905).Kernel := To_Vector ((0 => ((151, 1),  124,  0, 
(151, 1),  1)));
-            Table.States (905).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (151, 1),  1)));
-            Table.States (906).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (906), (15, 24, 28, 72, 107), (151, 0),  
1, null, null);
-            Table.States (906).Kernel := To_Vector ((0 => ((151, 0),  149,  0, 
(151, 0),  1)));
-            Table.States (906).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (151, 0),  1)));
-            Table.States (907).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (907), (15, 24, 28, 72, 107), (152, 2),  
1, null, null);
-            Table.States (907).Kernel := To_Vector ((0 => ((152, 2),  151,  0, 
(152, 2),  1)));
-            Table.States (907).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (152, 2),  1)));
-            Table.States (908).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (908), 15, (330, 0), 903);
-            Add_Action (Table.States (908), 24, Reduce, (153, 0),  1, null, 
null);
-            Add_Action (Table.States (908), 28, (124, 0), 185);
-            Add_Action (Table.States (908), 72, Reduce, (153, 0),  1, null, 
null);
-            Add_Action (Table.States (908), 107, (222, 1), 166);
-            Table.States (908).Goto_List.Set_Capacity (8);
-            Add_Goto (Table.States (908), 124, 905);
-            Add_Goto (Table.States (908), 130, 41);
-            Add_Goto (Table.States (908), 149, 906);
-            Add_Goto (Table.States (908), 151, 1067);
-            Add_Goto (Table.States (908), 185, 56);
-            Add_Goto (Table.States (908), 222, 910);
-            Add_Goto (Table.States (908), 284, 95);
-            Add_Goto (Table.States (908), 330, 1068);
-            Table.States (908).Kernel := To_Vector ((((152, 0),  152,  4, 
(2147483647, 0),  0), ((152, 1),  152,  7,
-            (2147483647, 0),  0), ((153, 0),  152,  0, (153, 0),  1)));
-            Table.States (908).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (153, 0),  1)));
-            Table.States (909).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (909), 24, (283, 0), 1069);
-            Table.States (909).Kernel := To_Vector ((0 => ((283, 0),  153,  2, 
(2147483647, 0),  0)));
-            Table.States (909).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (283, 0),  24, 1069)));
-            Table.States (910).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (910), 84, (149, 0), 1070);
-            Add_Action (Table.States (910), 86, (222, 0), 236);
-            Table.States (910).Kernel := To_Vector ((((149, 0),  222,  4, 
(2147483647, 0),  0), ((149, 1),  222,  3,
-            (2147483647, 0),  0), ((222, 0),  222,  2, (2147483647, 0),  0)));
-            Table.States (910).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (149, 0),  84, 1070)));
-            Table.States (911).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (911), (15, 24, 28, 72, 107), (152, 3),  
1, null, null);
-            Table.States (911).Kernel := To_Vector ((0 => ((152, 3),  330,  0, 
(152, 3),  1)));
-            Table.States (911).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (152, 3),  1)));
-            Table.States (912).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (912), 10, (231, 3), 1071);
-            Add_Action (Table.States (912), 74, Reduce, (231, 7),  2, null, 
null);
-            Add_Action (Table.States (912), 99, Reduce, (231, 7),  2, null, 
null);
-            Table.States (912).Kernel := To_Vector ((((231, 3),  34,  2, 
(2147483647, 0),  0), ((231, 7),  34,  0,
-            (231, 7),  2)));
-            Table.States (912).Minimal_Complete_Actions := To_Vector (((Shift, 
(231, 3),  10, 1071), (Reduce, (231, 7),
-             2)));
-            Table.States (913).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (913), (41, 49, 54), (114, 2),  2, null, 
null);
-            Table.States (913).Kernel := To_Vector ((0 => ((114, 2),  36,  0, 
(114, 2),  2)));
-            Table.States (913).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (114, 2),  2)));
-            Table.States (914).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (914), (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, 
81, 96, 107, 108, 109, 110), (226, 0),  6,
-            incomplete_type_declaration_0'Access, null);
-            Table.States (914).Kernel := To_Vector ((0 => ((226, 0),  99,  0, 
(226, 0),  6)));
-            Table.States (914).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (226, 0),  6)));
-            Table.States (915).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (915), 10, (231, 1), 1072);
-            Add_Action (Table.States (915), 74, Reduce, (231, 5),  2, null, 
null);
-            Add_Action (Table.States (915), 99, Reduce, (231, 5),  2, null, 
null);
-            Table.States (915).Kernel := To_Vector ((((231, 1),  34,  2, 
(2147483647, 0),  0), ((231, 5),  34,  0,
-            (231, 5),  2)));
-            Table.States (915).Minimal_Complete_Actions := To_Vector (((Shift, 
(231, 1),  10, 1072), (Reduce, (231, 5),
-             2)));
-            Table.States (916).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (916), (78, 86), (183, 0),  1, null, 
null);
-            Table.States (916).Kernel := To_Vector ((0 => ((183, 0),  107,  0, 
(183, 0),  1)));
-            Table.States (916).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (183, 0),  1)));
-            Table.States (917).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (917), (78, 86), (183, 1),  1, null, 
null);
-            Table.States (917).Kernel := To_Vector ((0 => ((183, 1),  109,  0, 
(183, 1),  1)));
-            Table.States (917).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (183, 1),  1)));
-            Table.States (918).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (918), (78, 86), (184, 1),  1, null, 
null);
-            Table.States (918).Kernel := To_Vector ((0 => ((184, 1),  183,  0, 
(184, 1),  1)));
-            Table.States (918).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (184, 1),  1)));
-            Table.States (919).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (919), 78, (186, 0), 1073);
-            Add_Action (Table.States (919), 86, (184, 0), 1074);
-            Table.States (919).Kernel := To_Vector ((((184, 0),  184,  2, 
(2147483647, 0),  0), ((186, 0),  184,  1,
-            (2147483647, 0),  0)));
-            Table.States (919).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (186, 0),  78, 1073)));
-            Table.States (920).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (920), 40, (317, 0), 490);
-            Add_Action (Table.States (920), 81, (242, 8), 31);
-            Add_Action (Table.States (920), 107, (242, 5), 120);
-            Add_Action (Table.States (920), 108, (242, 7), 34);
-            Add_Action (Table.States (920), 109, (242, 6), 35);
-            Table.States (920).Goto_List.Set_Capacity (5);
-            Add_Goto (Table.States (920), 131, 42);
-            Add_Goto (Table.States (920), 242, 491);
-            Add_Goto (Table.States (920), 275, 93);
-            Add_Goto (Table.States (920), 296, 98);
-            Add_Goto (Table.States (920), 317, 1075);
-            Table.States (920).Kernel := To_Vector ((0 => ((262, 0),  39,  4, 
(2147483647, 0),  0)));
-            Table.States (920).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (921).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (921), 81, (242, 8), 31);
-            Add_Action (Table.States (921), 107, (242, 5), 120);
-            Add_Action (Table.States (921), 108, (242, 7), 34);
-            Add_Action (Table.States (921), 109, (242, 6), 35);
-            Table.States (921).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (921), 131, 42);
-            Add_Goto (Table.States (921), 242, 1076);
-            Add_Goto (Table.States (921), 275, 93);
-            Add_Goto (Table.States (921), 296, 98);
-            Table.States (921).Kernel := To_Vector ((((165, 0),  39,  4, 
(2147483647, 0),  0), ((165, 1),  39,  1,
-            (2147483647, 0),  0)));
-            Table.States (921).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (922).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (922), 74, (125, 0), 340);
-            Add_Action (Table.States (922), 99, Reduce, (125, 1),  0, null, 
null);
-            Table.States (922).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (922), 125, 1077);
-            Table.States (922).Kernel := To_Vector ((0 => ((263, 0),  49,  1, 
(2147483647, 0),  0)));
-            Table.States (922).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (923).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (923), (74, 99), (329, 7),  2, null, 
null);
-            Table.States (923).Kernel := To_Vector ((0 => ((329, 7),  283,  0, 
(329, 7),  2)));
-            Table.States (923).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (329, 7),  2)));
-            Table.States (924).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (924), 99, (209, 0), 1078);
-            Table.States (924).Kernel := To_Vector ((0 => ((209, 0),  125,  1, 
(2147483647, 0),  0)));
-            Table.States (924).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (209, 0),  99, 1078)));
-            Table.States (925).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (925), 99, (248, 2), 1079);
-            Table.States (925).Kernel := To_Vector ((0 => ((248, 2),  125,  1, 
(2147483647, 0),  0)));
-            Table.States (925).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (248, 2),  99, 1079)));
-            Table.States (926).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (926), 99, (248, 1), 1080);
-            Table.States (926).Kernel := To_Vector ((0 => ((248, 1),  125,  1, 
(2147483647, 0),  0)));
-            Table.States (926).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (248, 1),  99, 1080)));
-            Table.States (927).Action_List.Set_Capacity (11);
-            Add_Action (Table.States (927), 21, Reduce, (117, 2),  4, 
access_definition_2'Access, null);
-            Add_Action (Table.States (927), 35, Reduce, (117, 2),  4, 
access_definition_2'Access, null);
-            Add_Action (Table.States (927), 56, Reduce, (117, 2),  4, 
access_definition_2'Access, null);
-            Add_Action (Table.States (927), 74, Reduce, (117, 2),  4, 
access_definition_2'Access, null);
-            Add_Action (Table.States (927), 76, (118, 0), 237);
-            Add_Action (Table.States (927), 78, Reduce, (117, 2),  4, 
access_definition_2'Access, null);
-            Add_Action (Table.States (927), 85, Reduce, (117, 2),  4, 
access_definition_2'Access, null);
-            Add_Action (Table.States (927), 87, (296, 0), 239);
-            Add_Action (Table.States (927), 99, Reduce, (117, 2),  4, 
access_definition_2'Access, null);
-            Add_Action (Table.States (927), 104, (325, 0), 241);
-            Add_Action (Table.States (927), 105, (325, 1), 242);
-            Table.States (927).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (927), 118, 243);
-            Add_Goto (Table.States (927), 325, 244);
-            Table.States (927).Kernel := To_Vector ((((117, 2),  242,  0, 
(117, 2),  4), ((131, 0),  242,  2,
-            (2147483647, 0),  0), ((242, 0),  242,  5, (2147483647, 0),  0), 
((242, 1),  242,  2, (2147483647, 0),  0),
-            ((275, 0),  242,  3, (2147483647, 0),  0), ((296, 0),  242,  2, 
(2147483647, 0),  0), ((296, 1),  242,  2,
-            (2147483647, 0),  0), ((296, 2),  242,  2, (2147483647, 0),  0), 
((296, 3),  242,  2, (2147483647, 0),
-            0)));
-            Table.States (927).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (117, 2),  4)));
-            Table.States (928).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (928), 58, (294, 0), 320);
-            Add_Action (Table.States (928), 76, (202, 0), 434);
-            Table.States (928).Goto_List.Set_Capacity (3);
-            Add_Goto (Table.States (928), 202, 322);
-            Add_Goto (Table.States (928), 255, 1081);
-            Add_Goto (Table.States (928), 294, 324);
-            Table.States (928).Kernel := To_Vector ((0 => ((117, 1),  29,  1, 
(2147483647, 0),  0)));
-            Table.States (928).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (294, 0),  58, 320)));
-            Table.States (929).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (929), 21, Reduce, (256, 1),  0, null, 
null);
-            Add_Action (Table.States (929), 35, Reduce, (256, 1),  0, null, 
null);
-            Add_Action (Table.States (929), 56, Reduce, (256, 1),  0, null, 
null);
-            Add_Action (Table.States (929), 74, Reduce, (256, 1),  0, null, 
null);
-            Add_Action (Table.States (929), 76, (202, 0), 434);
-            Add_Action (Table.States (929), 78, Reduce, (256, 1),  0, null, 
null);
-            Add_Action (Table.States (929), 85, Reduce, (256, 1),  0, null, 
null);
-            Add_Action (Table.States (929), 99, Reduce, (256, 1),  0, null, 
null);
-            Table.States (929).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (929), 202, 347);
-            Add_Goto (Table.States (929), 256, 1082);
-            Table.States (929).Kernel := To_Vector ((0 => ((117, 0),  50,  0, 
(256, 1),  0)));
-            Table.States (929).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (256, 1),  0)));
-            Table.States (930).Action_List.Set_Capacity (6);
-            Add_Action (Table.States (930), 74, (125, 0), 340);
-            Add_Action (Table.States (930), 76, (118, 0), 237);
-            Add_Action (Table.States (930), 87, (296, 0), 239);
-            Add_Action (Table.States (930), 99, Reduce, (125, 1),  0, null, 
null);
-            Add_Action (Table.States (930), 104, (325, 0), 241);
-            Add_Action (Table.States (930), 105, (325, 1), 242);
-            Table.States (930).Goto_List.Set_Capacity (3);
-            Add_Goto (Table.States (930), 118, 243);
-            Add_Goto (Table.States (930), 125, 1083);
-            Add_Goto (Table.States (930), 325, 244);
-            Table.States (930).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((242, 0),  242,  5,
-            (2147483647, 0),  0), ((242, 1),  242,  2, (2147483647, 0),  0), 
((248, 0),  242,  1, (2147483647, 0),  0),
-            ((275, 0),  242,  3, (2147483647, 0),  0), ((296, 0),  242,  2, 
(2147483647, 0),  0), ((296, 1),  242,  2,
-            (2147483647, 0),  0), ((296, 2),  242,  2, (2147483647, 0),  0), 
((296, 3),  242,  2, (2147483647, 0),
-            0)));
-            Table.States (930).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (931).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (931), (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, 81, 96, 107, 108,
-            109, 110), (136, 1),  6, block_statement_1'Access, 
block_statement_1_check'Access);
-            Table.States (931).Kernel := To_Vector ((0 => ((136, 1),  99,  0, 
(136, 1),  6)));
-            Table.States (931).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (136, 1),  6)));
-            Table.States (932).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (932), (82, 90), (187, 1),  1, null, 
null);
-            Table.States (932).Kernel := To_Vector ((0 => ((187, 1),  44,  0, 
(187, 1),  1)));
-            Table.States (932).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (187, 1),  1)));
-            Table.States (933).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (933), 76, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (933), 82, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (933), 84, (190, 0), 1084);
-            Add_Action (Table.States (933), 87, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (933), 90, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (933), 104, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (933), 105, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Table.States (933).Kernel := To_Vector ((((190, 0),  107,  3, 
(2147483647, 0),  0), ((242, 5),  107,  0,
-            (242, 5),  1)));
-            Table.States (933).Minimal_Complete_Actions := To_Vector (((Shift, 
(190, 0),  84, 1084), (Reduce, (242, 5),
-             1)));
-            Table.States (934).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (934), (82, 90), (188, 1),  1, null, 
null);
-            Table.States (934).Kernel := To_Vector ((0 => ((188, 1),  187,  0, 
(188, 1),  1)));
-            Table.States (934).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (188, 1),  1)));
-            Table.States (935).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (935), 82, (188, 0), 1085);
-            Add_Action (Table.States (935), 90, (190, 1), 1086);
-            Table.States (935).Kernel := To_Vector ((((188, 0),  188,  2, 
(2147483647, 0),  0), ((190, 1),  188,  1,
-            (2147483647, 0),  0)));
-            Table.States (935).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (190, 1),  90, 1086)));
-            Table.States (936).Action_List.Set_Capacity (6);
-            Add_Action (Table.States (936), 76, (118, 0), 237);
-            Add_Action (Table.States (936), 82, Reduce, (187, 0),  1, null, 
null);
-            Add_Action (Table.States (936), 87, (296, 0), 239);
-            Add_Action (Table.States (936), 90, Reduce, (187, 0),  1, null, 
null);
-            Add_Action (Table.States (936), 104, (325, 0), 241);
-            Add_Action (Table.States (936), 105, (325, 1), 242);
-            Table.States (936).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (936), 118, 243);
-            Add_Goto (Table.States (936), 325, 244);
-            Table.States (936).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((187, 0),  242,  0,
-            (187, 0),  1), ((242, 0),  242,  5, (2147483647, 0),  0), ((242, 
1),  242,  2, (2147483647, 0),  0), ((275,
-            0),  242,  3, (2147483647, 0),  0), ((296, 0),  242,  2, 
(2147483647, 0),  0), ((296, 1),  242,  2,
-            (2147483647, 0),  0), ((296, 2),  242,  2, (2147483647, 0),  0), 
((296, 3),  242,  2, (2147483647, 0),
-            0)));
-            Table.States (936).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (187, 0),  1)));
-            Table.States (937).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (937), (24, 72), (191, 0),  2, 
exception_handler_list_0'Access, null);
-            Table.States (937).Kernel := To_Vector ((0 => ((191, 0),  190,  0, 
(191, 0),  2)));
-            Table.States (937).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (191, 0),  2)));
-            Table.States (938).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (938), 99, Reduce, (223, 1),  0, null, 
null);
-            Add_Action (Table.States (938), 107, (223, 0), 151);
-            Table.States (938).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (938), 223, 1087);
-            Table.States (938).Kernel := To_Vector ((0 => ((136, 0),  24,  1, 
(2147483647, 0),  0)));
-            Table.States (938).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (223, 1),  0)));
-            Table.States (939).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (939), 99, (235, 1), 1088);
-            Table.States (939).Kernel := To_Vector ((0 => ((235, 1),  223,  1, 
(2147483647, 0),  0)));
-            Table.States (939).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (235, 1),  99, 1088)));
-            Table.States (940).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (940), 99, Reduce, (223, 1),  0, null, 
null);
-            Add_Action (Table.States (940), 107, (223, 0), 151);
-            Table.States (940).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (940), 223, 1089);
-            Table.States (940).Kernel := To_Vector ((0 => ((235, 0),  37,  1, 
(2147483647, 0),  0)));
-            Table.States (940).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (223, 1),  0)));
-            Table.States (941).Action_List.Set_Capacity (41);
-            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, 
81, 96, 107, 108, 109, 110), (160, 9),  6,
-            declaration_9'Access, null);
-            Table.States (941).Kernel := To_Vector ((0 => ((160, 9),  99,  0, 
(160, 9),  6)));
-            Table.States (941).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (160, 9),  6)));
-            Table.States (942).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (942), 7, Reduce, (244, 0),  2, null, 
null);
-            Add_Action (Table.States (942), 81, (242, 8), 31);
-            Add_Action (Table.States (942), 107, (242, 5), 120);
-            Add_Action (Table.States (942), 108, (242, 7), 34);
-            Add_Action (Table.States (942), 109, (242, 6), 35);
-            Table.States (942).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (942), 131, 42);
-            Add_Goto (Table.States (942), 242, 791);
-            Add_Goto (Table.States (942), 275, 93);
-            Add_Goto (Table.States (942), 296, 98);
-            Table.States (942).Kernel := To_Vector ((((244, 0),  41,  0, (244, 
0),  2), ((317, 0),  41,  5,
-            (2147483647, 0),  0), ((317, 1),  41,  1, (2147483647, 0),  0)));
-            Table.States (942).Minimal_Complete_Actions := To_Vector 
(((Reduce, (244, 0),  2), (Shift, (242, 5),  107,
-            120)));
-            Table.States (943).Action_List.Set_Capacity (16);
-            Add_Action (Table.States (943), 3, (200, 2), 122);
-            Add_Action (Table.States (943), 39, (261, 4), 123);
-            Add_Action (Table.States (943), 40, (200, 3), 124);
-            Add_Action (Table.States (943), 41, (261, 1), 125);
-            Add_Action (Table.States (943), 52, (278, 0), 126);
-            Add_Action (Table.States (943), 74, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (943), 76, (120, 0), 127);
-            Add_Action (Table.States (943), 77, (120, 5), 128);
-            Add_Action (Table.States (943), 81, (242, 8), 31);
-            Add_Action (Table.States (943), 97, (333, 1), 129);
-            Add_Action (Table.States (943), 98, (333, 0), 130);
-            Add_Action (Table.States (943), 99, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (943), 106, (261, 0), 131);
-            Add_Action (Table.States (943), 107, (242, 5), 120);
-            Add_Action (Table.States (943), 108, (242, 7), 34);
-            Add_Action (Table.States (943), 109, (242, 6), 35);
-            Table.States (943).Goto_List.Set_Capacity (20);
-            Add_Goto (Table.States (943), 120, 132);
-            Add_Goto (Table.States (943), 131, 42);
-            Add_Goto (Table.States (943), 194, 133);
-            Add_Goto (Table.States (943), 195, 1090);
-            Add_Goto (Table.States (943), 200, 135);
-            Add_Goto (Table.States (943), 242, 136);
-            Add_Goto (Table.States (943), 261, 137);
-            Add_Goto (Table.States (943), 275, 93);
-            Add_Goto (Table.States (943), 278, 138);
-            Add_Goto (Table.States (943), 285, 139);
-            Add_Goto (Table.States (943), 286, 140);
-            Add_Goto (Table.States (943), 287, 141);
-            Add_Goto (Table.States (943), 288, 142);
-            Add_Goto (Table.States (943), 289, 143);
-            Add_Goto (Table.States (943), 290, 144);
-            Add_Goto (Table.States (943), 296, 98);
-            Add_Goto (Table.States (943), 304, 145);
-            Add_Goto (Table.States (943), 323, 146);
-            Add_Goto (Table.States (943), 324, 147);
-            Add_Goto (Table.States (943), 333, 148);
-            Table.States (943).Kernel := To_Vector ((0 => ((247, 1),  85,  1, 
(2147483647, 0),  0)));
-            Table.States (943).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (195, 1),  0)));
-            Table.States (944).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (944), 99, (247, 4), 1091);
-            Table.States (944).Kernel := To_Vector ((0 => ((247, 4),  125,  1, 
(2147483647, 0),  0)));
-            Table.States (944).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (247, 4),  99, 1091)));
-            Table.States (945).Action_List.Set_Capacity (16);
-            Add_Action (Table.States (945), 3, (200, 2), 122);
-            Add_Action (Table.States (945), 39, (261, 4), 123);
-            Add_Action (Table.States (945), 40, (200, 3), 124);
-            Add_Action (Table.States (945), 41, (261, 1), 125);
-            Add_Action (Table.States (945), 52, (278, 0), 126);
-            Add_Action (Table.States (945), 74, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (945), 76, (120, 0), 127);
-            Add_Action (Table.States (945), 77, (120, 5), 128);
-            Add_Action (Table.States (945), 81, (242, 8), 31);
-            Add_Action (Table.States (945), 97, (333, 1), 129);
-            Add_Action (Table.States (945), 98, (333, 0), 130);
-            Add_Action (Table.States (945), 99, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (945), 106, (261, 0), 131);
-            Add_Action (Table.States (945), 107, (242, 5), 120);
-            Add_Action (Table.States (945), 108, (242, 7), 34);
-            Add_Action (Table.States (945), 109, (242, 6), 35);
-            Table.States (945).Goto_List.Set_Capacity (20);
-            Add_Goto (Table.States (945), 120, 132);
-            Add_Goto (Table.States (945), 131, 42);
-            Add_Goto (Table.States (945), 194, 133);
-            Add_Goto (Table.States (945), 195, 1092);
-            Add_Goto (Table.States (945), 200, 135);
-            Add_Goto (Table.States (945), 242, 136);
-            Add_Goto (Table.States (945), 261, 137);
-            Add_Goto (Table.States (945), 275, 93);
-            Add_Goto (Table.States (945), 278, 138);
-            Add_Goto (Table.States (945), 285, 139);
-            Add_Goto (Table.States (945), 286, 140);
-            Add_Goto (Table.States (945), 287, 141);
-            Add_Goto (Table.States (945), 288, 142);
-            Add_Goto (Table.States (945), 289, 143);
-            Add_Goto (Table.States (945), 290, 144);
-            Add_Goto (Table.States (945), 296, 98);
-            Add_Goto (Table.States (945), 304, 145);
-            Add_Goto (Table.States (945), 323, 146);
-            Add_Goto (Table.States (945), 324, 147);
-            Add_Goto (Table.States (945), 333, 148);
-            Table.States (945).Kernel := To_Vector ((0 => ((247, 2),  85,  1, 
(2147483647, 0),  0)));
-            Table.States (945).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (195, 1),  0)));
-            Table.States (946).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (946), 99, (247, 5), 1093);
-            Table.States (946).Kernel := To_Vector ((0 => ((247, 5),  125,  1, 
(2147483647, 0),  0)));
-            Table.States (946).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (247, 5),  99, 1093)));
-            Table.States (947).Action_List.Set_Capacity (16);
-            Add_Action (Table.States (947), 3, (200, 2), 122);
-            Add_Action (Table.States (947), 39, (261, 4), 123);
-            Add_Action (Table.States (947), 40, (200, 3), 124);
-            Add_Action (Table.States (947), 41, (261, 1), 125);
-            Add_Action (Table.States (947), 52, (278, 0), 126);
-            Add_Action (Table.States (947), 74, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (947), 76, (120, 0), 127);
-            Add_Action (Table.States (947), 77, (120, 5), 128);
-            Add_Action (Table.States (947), 81, (242, 8), 31);
-            Add_Action (Table.States (947), 97, (333, 1), 129);
-            Add_Action (Table.States (947), 98, (333, 0), 130);
-            Add_Action (Table.States (947), 99, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (947), 106, (261, 0), 131);
-            Add_Action (Table.States (947), 107, (242, 5), 120);
-            Add_Action (Table.States (947), 108, (242, 7), 34);
-            Add_Action (Table.States (947), 109, (242, 6), 35);
-            Table.States (947).Goto_List.Set_Capacity (20);
-            Add_Goto (Table.States (947), 120, 132);
-            Add_Goto (Table.States (947), 131, 42);
-            Add_Goto (Table.States (947), 194, 133);
-            Add_Goto (Table.States (947), 195, 1094);
-            Add_Goto (Table.States (947), 200, 135);
-            Add_Goto (Table.States (947), 242, 136);
-            Add_Goto (Table.States (947), 261, 137);
-            Add_Goto (Table.States (947), 275, 93);
-            Add_Goto (Table.States (947), 278, 138);
-            Add_Goto (Table.States (947), 285, 139);
-            Add_Goto (Table.States (947), 286, 140);
-            Add_Goto (Table.States (947), 287, 141);
-            Add_Goto (Table.States (947), 288, 142);
-            Add_Goto (Table.States (947), 289, 143);
-            Add_Goto (Table.States (947), 290, 144);
-            Add_Goto (Table.States (947), 296, 98);
-            Add_Goto (Table.States (947), 304, 145);
-            Add_Goto (Table.States (947), 323, 146);
-            Add_Goto (Table.States (947), 324, 147);
-            Add_Goto (Table.States (947), 333, 148);
-            Table.States (947).Kernel := To_Vector ((0 => ((247, 0),  85,  1, 
(2147483647, 0),  0)));
-            Table.States (947).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (195, 1),  0)));
-            Table.States (948).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (948), 99, (247, 3), 1095);
-            Table.States (948).Kernel := To_Vector ((0 => ((247, 3),  125,  1, 
(2147483647, 0),  0)));
-            Table.States (948).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (247, 3),  99, 1095)));
-            Table.States (949).Action_List.Set_Capacity (65);
-            Add_Action (Table.States (949), (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, 78, 79, 80, 81, 82, 85, 86, 87, 88,
-            89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 
105, 107, 108, 109), (132, 0),  4, null,
-            null);
-            Table.States (949).Kernel := To_Vector ((0 => ((132, 0),  78,  0, 
(132, 0),  4)));
-            Table.States (949).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (132, 0),  4)));
-            Table.States (950).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (950), 74, Reduce, (256, 1),  0, null, 
null);
-            Add_Action (Table.States (950), 76, (202, 0), 434);
-            Add_Action (Table.States (950), 99, Reduce, (256, 1),  0, null, 
null);
-            Table.States (950).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (950), 202, 347);
-            Add_Goto (Table.States (950), 256, 1096);
-            Table.States (950).Kernel := To_Vector ((0 => ((182, 0),  78,  1, 
(2147483647, 0),  0)));
-            Table.States (950).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (256, 1),  0)));
-            Table.States (951).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (951), (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, 
81, 96, 107, 108, 109, 110), (182, 1),  6,
-            entry_declaration_1'Access, null);
-            Table.States (951).Kernel := To_Vector ((0 => ((182, 1),  99,  0, 
(182, 1),  6)));
-            Table.States (951).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (182, 1),  6)));
-            Table.States (952).Action_List.Set_Capacity (6);
-            Add_Action (Table.States (952), 74, (125, 0), 340);
-            Add_Action (Table.States (952), 76, (118, 0), 237);
-            Add_Action (Table.States (952), 87, (296, 0), 239);
-            Add_Action (Table.States (952), 99, Reduce, (125, 1),  0, null, 
null);
-            Add_Action (Table.States (952), 104, (325, 0), 241);
-            Add_Action (Table.States (952), 105, (325, 1), 242);
-            Table.States (952).Goto_List.Set_Capacity (3);
-            Add_Goto (Table.States (952), 118, 243);
-            Add_Goto (Table.States (952), 125, 1097);
-            Add_Goto (Table.States (952), 325, 244);
-            Table.States (952).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((216, 2),  242,  1,
-            (2147483647, 0),  0), ((242, 0),  242,  5, (2147483647, 0),  0), 
((242, 1),  242,  2, (2147483647, 0),  0),
-            ((275, 0),  242,  3, (2147483647, 0),  0), ((296, 0),  242,  2, 
(2147483647, 0),  0), ((296, 1),  242,  2,
-            (2147483647, 0),  0), ((296, 2),  242,  2, (2147483647, 0),  0), 
((296, 3),  242,  2, (2147483647, 0),
-            0)));
-            Table.States (952).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (953).Action_List.Set_Capacity (6);
-            Add_Action (Table.States (953), 74, (125, 0), 340);
-            Add_Action (Table.States (953), 76, (118, 0), 237);
-            Add_Action (Table.States (953), 87, (296, 0), 239);
-            Add_Action (Table.States (953), 99, Reduce, (125, 1),  0, null, 
null);
-            Add_Action (Table.States (953), 104, (325, 0), 241);
-            Add_Action (Table.States (953), 105, (325, 1), 242);
-            Table.States (953).Goto_List.Set_Capacity (3);
-            Add_Goto (Table.States (953), 118, 243);
-            Add_Goto (Table.States (953), 125, 1098);
-            Add_Goto (Table.States (953), 325, 244);
-            Table.States (953).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((216, 1),  242,  1,
-            (2147483647, 0),  0), ((242, 0),  242,  5, (2147483647, 0),  0), 
((242, 1),  242,  2, (2147483647, 0),  0),
-            ((275, 0),  242,  3, (2147483647, 0),  0), ((296, 0),  242,  2, 
(2147483647, 0),  0), ((296, 1),  242,  2,
-            (2147483647, 0),  0), ((296, 2),  242,  2, (2147483647, 0),  0), 
((296, 3),  242,  2, (2147483647, 0),
-            0)));
-            Table.States (953).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (954).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (954), (74, 99), (259, 0),  3, 
paren_expression_0'Access, null);
-            Table.States (954).Kernel := To_Vector ((0 => ((259, 0),  78,  0, 
(259, 0),  3)));
-            Table.States (954).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (259, 0),  3)));
-            Table.States (955).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (955), (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, 
81, 96, 107, 108, 109, 110), (196, 0),  6,
-            expression_function_declaration_0'Access, null);
-            Table.States (955).Kernel := To_Vector ((0 => ((196, 0),  99,  0, 
(196, 0),  6)));
-            Table.States (955).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (196, 0),  6)));
-            Table.States (956).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (956), (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, 
81, 96, 107, 108, 109, 110), (246, 0),  6,
-            null_procedure_declaration_0'Access, null);
-            Table.States (956).Kernel := To_Vector ((0 => ((246, 0),  99,  0, 
(246, 0),  6)));
-            Table.States (956).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (246, 0),  6)));
-         end Subr_17;
-         procedure Subr_18
-         is begin
-            Table.States (957).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (957), (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, 
81, 96, 107, 108, 109, 110), (115, 0),  6,
-            abstract_subprogram_declaration_0'Access, null);
-            Table.States (957).Kernel := To_Vector ((0 => ((115, 0),  99,  0, 
(115, 0),  6)));
-            Table.States (957).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (115, 0),  6)));
-            Table.States (958).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (958), (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, 
81, 96, 107, 108, 109, 110), (311, 0),  6,
-            subprogram_body_stub_0'Access, null);
-            Table.States (958).Kernel := To_Vector ((0 => ((311, 0),  99,  0, 
(311, 0),  6)));
-            Table.States (958).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (311, 0),  6)));
-            Table.States (959).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (959), (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, 
81, 96, 107, 108, 109, 110), (314, 0),  6,
-            subprogram_renaming_declaration_0'Access, null);
-            Table.States (959).Kernel := To_Vector ((0 => ((314, 0),  99,  0, 
(314, 0),  6)));
-            Table.States (959).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (314, 0),  6)));
-            Table.States (960).Action_List.Set_Capacity (25);
-            Add_Action (Table.States (960), 4, (116, 0), 1);
-            Add_Action (Table.States (960), 5, (306, 8), 2);
-            Add_Action (Table.States (960), 13, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (960), 15, (142, 0), 3);
-            Add_Action (Table.States (960), 17, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (960), 18, (164, 0), 4);
-            Add_Action (Table.States (960), 24, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (960), 26, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (960), 27, (193, 0), 5);
-            Add_Action (Table.States (960), 28, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (960), 31, (306, 3), 9);
-            Add_Action (Table.States (960), 32, (225, 0), 10);
-            Add_Action (Table.States (960), 37, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (960), 41, (306, 0), 13);
-            Add_Action (Table.States (960), 48, (260, 0), 16);
-            Add_Action (Table.States (960), 52, (279, 0), 20);
-            Add_Action (Table.States (960), 57, (293, 0), 21);
-            Add_Action (Table.States (960), 58, (199, 0), 22);
-            Add_Action (Table.States (960), 61, (129, 0), 24);
-            Add_Action (Table.States (960), 73, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (960), 81, (242, 8), 31);
-            Add_Action (Table.States (960), 96, (220, 0), 32);
-            Add_Action (Table.States (960), 107, (134, 0), 363);
-            Add_Action (Table.States (960), 108, (242, 7), 34);
-            Add_Action (Table.States (960), 109, (242, 6), 35);
-            Table.States (960).Goto_List.Set_Capacity (32);
-            Add_Goto (Table.States (960), 116, 37);
-            Add_Goto (Table.States (960), 126, 39);
-            Add_Goto (Table.States (960), 129, 40);
-            Add_Goto (Table.States (960), 131, 42);
-            Add_Goto (Table.States (960), 134, 43);
-            Add_Goto (Table.States (960), 135, 44);
-            Add_Goto (Table.States (960), 136, 45);
-            Add_Goto (Table.States (960), 142, 48);
-            Add_Goto (Table.States (960), 154, 51);
-            Add_Goto (Table.States (960), 155, 52);
-            Add_Goto (Table.States (960), 164, 54);
-            Add_Goto (Table.States (960), 193, 58);
-            Add_Goto (Table.States (960), 199, 60);
-            Add_Goto (Table.States (960), 220, 69);
-            Add_Goto (Table.States (960), 221, 1099);
-            Add_Goto (Table.States (960), 225, 71);
-            Add_Goto (Table.States (960), 235, 73);
-            Add_Goto (Table.States (960), 242, 74);
-            Add_Goto (Table.States (960), 260, 84);
-            Add_Goto (Table.States (960), 264, 87);
-            Add_Goto (Table.States (960), 275, 93);
-            Add_Goto (Table.States (960), 279, 94);
-            Add_Goto (Table.States (960), 293, 97);
-            Add_Goto (Table.States (960), 296, 98);
-            Add_Goto (Table.States (960), 297, 99);
-            Add_Goto (Table.States (960), 301, 100);
-            Add_Goto (Table.States (960), 302, 364);
-            Add_Goto (Table.States (960), 303, 393);
-            Add_Goto (Table.States (960), 305, 101);
-            Add_Goto (Table.States (960), 306, 102);
-            Add_Goto (Table.States (960), 309, 366);
-            Add_Goto (Table.States (960), 326, 115);
-            Table.States (960).Kernel := To_Vector ((0 => ((310, 0),  13,  2, 
(2147483647, 0),  0)));
-            Table.States (960).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (221, 1),  0)));
-            Table.States (961).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (961), 99, Reduce, (223, 1),  0, null, 
null);
-            Add_Action (Table.States (961), 107, (223, 0), 151);
-            Table.States (961).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (961), 223, 1100);
-            Table.States (961).Kernel := To_Vector ((0 => ((116, 0),  24,  1, 
(2147483647, 0),  0)));
-            Table.States (961).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (223, 1),  0)));
-            Table.States (962).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (962), 82, (169, 0), 450);
-            Add_Action (Table.States (962), 90, (140, 0), 1101);
-            Table.States (962).Kernel := To_Vector ((((140, 0),  169,  1, 
(2147483647, 0),  0), ((169, 0),  169,  2,
-            (2147483647, 0),  0)));
-            Table.States (962).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (140, 0),  90, 1101)));
-            Table.States (963).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (963), 72, (140, 0), 774);
-            Table.States (963).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (963), 140, 1102);
-            Table.States (963).Kernel := To_Vector ((0 => ((141, 0),  86,  2, 
(2147483647, 0),  0)));
-            Table.States (963).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (140, 0),  72, 774)));
-            Table.States (964).Action_List.Set_Capacity (27);
-            Add_Action (Table.States (964), 10, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (964), 33, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (964), 38, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (964), 40, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (964), 43, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (964), 55, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (964), 75, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (964), 78, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (964), 80, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (964), 81, (242, 8), 31);
-            Add_Action (Table.States (964), 82, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (964), 86, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (964), 88, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (964), 89, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (964), 90, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (964), 91, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (964), 92, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (964), 94, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (964), 95, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (964), 97, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (964), 98, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (964), 100, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (964), 101, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (964), 102, Reduce, (261, 1),  1, null, 
null);
-            Add_Action (Table.States (964), 107, (242, 5), 120);
-            Add_Action (Table.States (964), 108, (242, 7), 34);
-            Add_Action (Table.States (964), 109, (242, 6), 35);
-            Table.States (964).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (964), 131, 42);
-            Add_Goto (Table.States (964), 242, 1103);
-            Add_Goto (Table.States (964), 275, 93);
-            Add_Goto (Table.States (964), 296, 98);
-            Table.States (964).Kernel := To_Vector ((((168, 1),  41,  1, 
(2147483647, 0),  0), ((261, 1),  41,  0,
-            (261, 1),  1), ((317, 0),  41,  5, (2147483647, 0),  0), ((317, 
1),  41,  1, (2147483647, 0),  0)));
-            Table.States (964).Minimal_Complete_Actions := To_Vector (((Shift, 
(242, 5),  107, 120), (Reduce, (261, 1),
-             1)));
-            Table.States (965).Action_List.Set_Capacity (14);
-            Add_Action (Table.States (965), 3, (200, 2), 122);
-            Add_Action (Table.States (965), 39, (261, 4), 123);
-            Add_Action (Table.States (965), 40, (200, 3), 124);
-            Add_Action (Table.States (965), 41, (261, 1), 125);
-            Add_Action (Table.States (965), 52, (278, 0), 126);
-            Add_Action (Table.States (965), 76, (120, 0), 127);
-            Add_Action (Table.States (965), 77, (120, 5), 128);
-            Add_Action (Table.States (965), 81, (242, 8), 31);
-            Add_Action (Table.States (965), 97, (333, 1), 129);
-            Add_Action (Table.States (965), 98, (333, 0), 130);
-            Add_Action (Table.States (965), 106, (261, 0), 131);
-            Add_Action (Table.States (965), 107, (242, 5), 120);
-            Add_Action (Table.States (965), 108, (242, 7), 34);
-            Add_Action (Table.States (965), 109, (242, 6), 35);
-            Table.States (965).Goto_List.Set_Capacity (19);
-            Add_Goto (Table.States (965), 120, 132);
-            Add_Goto (Table.States (965), 131, 42);
-            Add_Goto (Table.States (965), 194, 1104);
-            Add_Goto (Table.States (965), 200, 135);
-            Add_Goto (Table.States (965), 242, 136);
-            Add_Goto (Table.States (965), 261, 137);
-            Add_Goto (Table.States (965), 275, 93);
-            Add_Goto (Table.States (965), 278, 138);
-            Add_Goto (Table.States (965), 285, 139);
-            Add_Goto (Table.States (965), 286, 140);
-            Add_Goto (Table.States (965), 287, 141);
-            Add_Goto (Table.States (965), 288, 142);
-            Add_Goto (Table.States (965), 289, 143);
-            Add_Goto (Table.States (965), 290, 144);
-            Add_Goto (Table.States (965), 296, 98);
-            Add_Goto (Table.States (965), 304, 145);
-            Add_Goto (Table.States (965), 323, 146);
-            Add_Goto (Table.States (965), 324, 147);
-            Add_Goto (Table.States (965), 333, 148);
-            Table.States (965).Kernel := To_Vector ((0 => ((127, 6),  90,  1, 
(2147483647, 0),  0)));
-            Table.States (965).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (261, 0),  106, 131)));
-            Table.States (966).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (966), (1 =>  78), (276, 0),  5, 
quantified_expression_0'Access, null);
-            Table.States (966).Kernel := To_Vector ((0 => ((276, 0),  195,  0, 
(276, 0),  5)));
-            Table.States (966).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (276, 0),  5)));
-            Table.States (967).Action_List.Set_Capacity (15);
-            Add_Action (Table.States (967), 3, (200, 2), 122);
-            Add_Action (Table.States (967), 39, (261, 4), 123);
-            Add_Action (Table.States (967), 40, (200, 3), 124);
-            Add_Action (Table.States (967), 41, (261, 1), 125);
-            Add_Action (Table.States (967), 52, (278, 0), 126);
-            Add_Action (Table.States (967), 76, (120, 0), 127);
-            Add_Action (Table.States (967), 77, (120, 5), 128);
-            Add_Action (Table.States (967), 78, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (967), 81, (242, 8), 31);
-            Add_Action (Table.States (967), 97, (333, 1), 129);
-            Add_Action (Table.States (967), 98, (333, 0), 130);
-            Add_Action (Table.States (967), 106, (261, 0), 131);
-            Add_Action (Table.States (967), 107, (242, 5), 120);
-            Add_Action (Table.States (967), 108, (242, 7), 34);
-            Add_Action (Table.States (967), 109, (242, 6), 35);
-            Table.States (967).Goto_List.Set_Capacity (20);
-            Add_Goto (Table.States (967), 120, 132);
-            Add_Goto (Table.States (967), 131, 42);
-            Add_Goto (Table.States (967), 194, 133);
-            Add_Goto (Table.States (967), 195, 1105);
-            Add_Goto (Table.States (967), 200, 135);
-            Add_Goto (Table.States (967), 242, 136);
-            Add_Goto (Table.States (967), 261, 137);
-            Add_Goto (Table.States (967), 275, 93);
-            Add_Goto (Table.States (967), 278, 138);
-            Add_Goto (Table.States (967), 285, 139);
-            Add_Goto (Table.States (967), 286, 140);
-            Add_Goto (Table.States (967), 287, 141);
-            Add_Goto (Table.States (967), 288, 142);
-            Add_Goto (Table.States (967), 289, 143);
-            Add_Goto (Table.States (967), 290, 144);
-            Add_Goto (Table.States (967), 296, 98);
-            Add_Goto (Table.States (967), 304, 145);
-            Add_Goto (Table.States (967), 323, 146);
-            Add_Goto (Table.States (967), 324, 147);
-            Add_Goto (Table.States (967), 333, 148);
-            Table.States (967).Kernel := To_Vector ((0 => ((224, 1),  22,  0, 
(195, 1),  0)));
-            Table.States (967).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (195, 1),  0)));
-            Table.States (968).Action_List.Set_Capacity (15);
-            Add_Action (Table.States (968), 3, (200, 2), 122);
-            Add_Action (Table.States (968), 39, (261, 4), 123);
-            Add_Action (Table.States (968), 40, (200, 3), 124);
-            Add_Action (Table.States (968), 41, (261, 1), 125);
-            Add_Action (Table.States (968), 52, (278, 0), 126);
-            Add_Action (Table.States (968), 68, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (968), 76, (120, 0), 127);
-            Add_Action (Table.States (968), 77, (120, 5), 128);
-            Add_Action (Table.States (968), 81, (242, 8), 31);
-            Add_Action (Table.States (968), 97, (333, 1), 129);
-            Add_Action (Table.States (968), 98, (333, 0), 130);
-            Add_Action (Table.States (968), 106, (261, 0), 131);
-            Add_Action (Table.States (968), 107, (242, 5), 120);
-            Add_Action (Table.States (968), 108, (242, 7), 34);
-            Add_Action (Table.States (968), 109, (242, 6), 35);
-            Table.States (968).Goto_List.Set_Capacity (20);
-            Add_Goto (Table.States (968), 120, 132);
-            Add_Goto (Table.States (968), 131, 42);
-            Add_Goto (Table.States (968), 194, 133);
-            Add_Goto (Table.States (968), 195, 1106);
-            Add_Goto (Table.States (968), 200, 135);
-            Add_Goto (Table.States (968), 242, 136);
-            Add_Goto (Table.States (968), 261, 137);
-            Add_Goto (Table.States (968), 275, 93);
-            Add_Goto (Table.States (968), 278, 138);
-            Add_Goto (Table.States (968), 285, 139);
-            Add_Goto (Table.States (968), 286, 140);
-            Add_Goto (Table.States (968), 287, 141);
-            Add_Goto (Table.States (968), 288, 142);
-            Add_Goto (Table.States (968), 289, 143);
-            Add_Goto (Table.States (968), 290, 144);
-            Add_Goto (Table.States (968), 296, 98);
-            Add_Goto (Table.States (968), 304, 145);
-            Add_Goto (Table.States (968), 323, 146);
-            Add_Goto (Table.States (968), 324, 147);
-            Add_Goto (Table.States (968), 333, 148);
-            Table.States (968).Kernel := To_Vector ((0 => ((175, 0),  23,  1, 
(2147483647, 0),  0)));
-            Table.States (968).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (195, 1),  0)));
-            Table.States (969).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (969), (22, 23, 78), (176, 1),  1, null, 
null);
-            Table.States (969).Kernel := To_Vector ((0 => ((176, 1),  175,  0, 
(176, 1),  1)));
-            Table.States (969).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (176, 1),  1)));
-            Table.States (970).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (970), 22, (224, 0), 1107);
-            Add_Action (Table.States (970), 23, (175, 0), 968);
-            Add_Action (Table.States (970), 78, Reduce, (224, 2),  5, 
if_expression_2'Access, null);
-            Table.States (970).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (970), 175, 1108);
-            Table.States (970).Kernel := To_Vector ((((176, 0),  176,  2, 
(2147483647, 0),  0), ((224, 0),  176,  1,
-            (2147483647, 0),  0), ((224, 2),  176,  0, (224, 2),  5)));
-            Table.States (970).Minimal_Complete_Actions := To_Vector (((Shift, 
(224, 0),  22, 1107), (Reduce, (224, 2),
-             5)));
-            Table.States (971).Action_List.Set_Capacity (65);
-            Add_Action (Table.States (971), (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, 78, 79, 80, 81, 82, 85, 86, 87, 88,
-            89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 
105, 107, 108, 109), (120, 4),  6,
-            aggregate_4'Access, null);
-            Table.States (971).Kernel := To_Vector ((0 => ((120, 4),  78,  0, 
(120, 4),  6)));
-            Table.States (971).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (120, 4),  6)));
-            Table.States (972).Action_List.Set_Capacity (65);
-            Add_Action (Table.States (972), (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, 78, 79, 80, 81, 82, 85, 86, 87, 88,
-            89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 
105, 107, 108, 109), (120, 2),  6,
-            aggregate_2'Access, null);
-            Table.States (972).Kernel := To_Vector ((0 => ((120, 2),  78,  0, 
(120, 2),  6)));
-            Table.States (972).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (120, 2),  6)));
-            Table.States (973).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (973), 78, (280, 0), 1109);
-            Table.States (973).Kernel := To_Vector ((0 => ((280, 0),  195,  1, 
(2147483647, 0),  0)));
-            Table.States (973).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (280, 0),  78, 1109)));
-            Table.States (974).Action_List.Set_Capacity (65);
-            Add_Action (Table.States (974), (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, 78, 79, 80, 81, 82, 85, 86, 87, 88,
-            89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 
105, 107, 108, 109), (120, 5),  6,
-            aggregate_5'Access, null);
-            Table.States (974).Kernel := To_Vector ((0 => ((120, 5),  79,  0, 
(120, 5),  6)));
-            Table.States (974).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (120, 5),  6)));
-            Table.States (975).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (975), (24, 72), (143, 0),  4, 
case_statement_alternative_0'Access, null);
-            Table.States (975).Kernel := To_Vector ((0 => ((143, 0),  303,  0, 
(143, 0),  4)));
-            Table.States (975).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (143, 0),  4)));
-            Table.States (976).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (976), (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, 81, 96, 107, 108,
-            109, 110), (142, 0),  7, case_statement_0'Access, null);
-            Table.States (976).Kernel := To_Vector ((0 => ((142, 0),  99,  0, 
(142, 0),  7)));
-            Table.States (976).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (142, 0),  7)));
-            Table.States (977).Action_List.Set_Capacity (10);
-            Add_Action (Table.States (977), (10, 21, 37, 42, 74, 78, 85, 86, 
90, 99), (317, 0),  4,
-            subtype_indication_0'Access, null);
-            Table.States (977).Kernel := To_Vector ((0 => ((317, 0),  158,  0, 
(317, 0),  4)));
-            Table.States (977).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (317, 0),  4)));
-            Table.States (978).Action_List.Set_Capacity (10);
-            Add_Action (Table.States (978), (10, 21, 37, 42, 74, 78, 85, 86, 
90, 99), (227, 0),  3,
-            index_constraint_0'Access, null);
-            Table.States (978).Kernel := To_Vector ((0 => ((227, 0),  78,  0, 
(227, 0),  3)));
-            Table.States (978).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (227, 0),  3)));
-            Table.States (979).Action_List.Set_Capacity (13);
-            Add_Action (Table.States (979), 3, (200, 2), 122);
-            Add_Action (Table.States (979), 39, (261, 4), 123);
-            Add_Action (Table.States (979), 40, (200, 3), 481);
-            Add_Action (Table.States (979), 41, (261, 1), 125);
-            Add_Action (Table.States (979), 76, (120, 0), 127);
-            Add_Action (Table.States (979), 77, (120, 5), 128);
-            Add_Action (Table.States (979), 81, (242, 8), 31);
-            Add_Action (Table.States (979), 97, (333, 1), 129);
-            Add_Action (Table.States (979), 98, (333, 0), 130);
-            Add_Action (Table.States (979), 106, (261, 0), 131);
-            Add_Action (Table.States (979), 107, (242, 5), 120);
-            Add_Action (Table.States (979), 108, (242, 7), 34);
-            Add_Action (Table.States (979), 109, (242, 6), 35);
-            Table.States (979).Goto_List.Set_Capacity (14);
-            Add_Goto (Table.States (979), 120, 132);
-            Add_Goto (Table.States (979), 131, 42);
-            Add_Goto (Table.States (979), 170, 1110);
-            Add_Goto (Table.States (979), 200, 135);
-            Add_Goto (Table.States (979), 242, 484);
-            Add_Goto (Table.States (979), 261, 137);
-            Add_Goto (Table.States (979), 275, 93);
-            Add_Goto (Table.States (979), 280, 485);
-            Add_Goto (Table.States (979), 296, 98);
-            Add_Goto (Table.States (979), 304, 486);
-            Add_Goto (Table.States (979), 317, 487);
-            Add_Goto (Table.States (979), 323, 146);
-            Add_Goto (Table.States (979), 324, 147);
-            Add_Goto (Table.States (979), 333, 148);
-            Table.States (979).Kernel := To_Vector ((0 => ((171, 0),  86,  1, 
(2147483647, 0),  0)));
-            Table.States (979).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (980).Action_List.Set_Capacity (6);
-            Add_Action (Table.States (980), 37, Reduce, (233, 0),  6, null, 
null);
-            Add_Action (Table.States (980), 76, (118, 0), 237);
-            Add_Action (Table.States (980), 87, (296, 0), 239);
-            Add_Action (Table.States (980), 90, Reduce, (233, 0),  6, null, 
null);
-            Add_Action (Table.States (980), 104, (325, 0), 241);
-            Add_Action (Table.States (980), 105, (325, 1), 242);
-            Table.States (980).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (980), 118, 243);
-            Add_Goto (Table.States (980), 325, 244);
-            Table.States (980).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((233, 0),  242,  0,
-            (233, 0),  6), ((242, 0),  242,  5, (2147483647, 0),  0), ((242, 
1),  242,  2, (2147483647, 0),  0), ((275,
-            0),  242,  3, (2147483647, 0),  0), ((296, 0),  242,  2, 
(2147483647, 0),  0), ((296, 1),  242,  2,
-            (2147483647, 0),  0), ((296, 2),  242,  2, (2147483647, 0),  0), 
((296, 3),  242,  2, (2147483647, 0),
-            0)));
-            Table.States (980).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (233, 0),  6)));
-            Table.States (981).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (981), 99, (238, 0), 1111);
-            Table.States (981).Kernel := To_Vector ((0 => ((238, 0),  195,  1, 
(2147483647, 0),  0)));
-            Table.States (981).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (238, 0),  99, 1111)));
-            Table.States (982).Action_List.Set_Capacity (13);
-            Add_Action (Table.States (982), 3, (200, 2), 122);
-            Add_Action (Table.States (982), 39, (261, 4), 123);
-            Add_Action (Table.States (982), 40, (200, 3), 124);
-            Add_Action (Table.States (982), 41, (261, 1), 125);
-            Add_Action (Table.States (982), 76, (120, 0), 127);
-            Add_Action (Table.States (982), 77, (120, 5), 128);
-            Add_Action (Table.States (982), 81, (242, 8), 31);
-            Add_Action (Table.States (982), 97, (333, 1), 129);
-            Add_Action (Table.States (982), 98, (333, 0), 130);
-            Add_Action (Table.States (982), 106, (261, 0), 131);
-            Add_Action (Table.States (982), 107, (242, 5), 120);
-            Add_Action (Table.States (982), 108, (242, 7), 34);
-            Add_Action (Table.States (982), 109, (242, 6), 35);
-            Table.States (982).Goto_List.Set_Capacity (11);
-            Add_Goto (Table.States (982), 120, 132);
-            Add_Goto (Table.States (982), 131, 42);
-            Add_Goto (Table.States (982), 200, 135);
-            Add_Goto (Table.States (982), 242, 136);
-            Add_Goto (Table.States (982), 261, 137);
-            Add_Goto (Table.States (982), 275, 93);
-            Add_Goto (Table.States (982), 296, 98);
-            Add_Goto (Table.States (982), 304, 1112);
-            Add_Goto (Table.States (982), 323, 146);
-            Add_Goto (Table.States (982), 324, 147);
-            Add_Goto (Table.States (982), 333, 148);
-            Table.States (982).Kernel := To_Vector ((0 => ((147, 0),  12,  6, 
(2147483647, 0),  0)));
-            Table.States (982).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (261, 0),  106, 131)));
-            Table.States (983).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (983), 54, (284, 0), 1113);
-            Table.States (983).Kernel := To_Vector ((0 => ((284, 0),  24,  2, 
(2147483647, 0),  0)));
-            Table.States (983).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (284, 0),  54, 1113)));
-            Table.States (984).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (984), (24, 107), (148, 0),  2, null, 
null);
-            Table.States (984).Kernel := To_Vector ((0 => ((148, 0),  147,  0, 
(148, 0),  2)));
-            Table.States (984).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (148, 0),  2)));
-            Table.States (985).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (985), 78, Reduce, (257, 3),  4, 
parameter_specification_3'Access, null);
-            Add_Action (Table.States (985), 85, (257, 2), 1114);
-            Add_Action (Table.States (985), 99, Reduce, (257, 3),  4, 
parameter_specification_3'Access, null);
-            Table.States (985).Kernel := To_Vector ((((257, 2),  117,  1, 
(2147483647, 0),  0), ((257, 3),  117,  0,
-            (257, 3),  4)));
-            Table.States (985).Minimal_Complete_Actions := To_Vector (((Shift, 
(257, 2),  85, 1114), (Reduce, (257, 3),
-             4)));
-            Table.States (986).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (986), 40, (244, 0), 389);
-            Add_Action (Table.States (986), 81, Reduce, (244, 1),  0, null, 
null);
-            Add_Action (Table.States (986), 107, Reduce, (244, 1),  0, null, 
null);
-            Add_Action (Table.States (986), 108, Reduce, (244, 1),  0, null, 
null);
-            Add_Action (Table.States (986), 109, Reduce, (244, 1),  0, null, 
null);
-            Table.States (986).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (986), 244, 1115);
-            Table.States (986).Kernel := To_Vector ((((257, 0),  239,  2, 
(2147483647, 0),  0), ((257, 1),  239,  1,
-            (2147483647, 0),  0)));
-            Table.States (986).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (244, 1),  0)));
-            Table.States (987).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (987), (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, 
81, 96, 107, 108, 109, 110), (218, 2),  7,
-            generic_renaming_declaration_2'Access, null);
-            Table.States (987).Kernel := To_Vector ((0 => ((218, 2),  99,  0, 
(218, 2),  7)));
-            Table.States (987).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (218, 2),  7)));
-            Table.States (988).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (988), (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, 
81, 96, 107, 108, 109, 110), (218, 0),  7,
-            generic_renaming_declaration_0'Access, null);
-            Table.States (988).Kernel := To_Vector ((0 => ((218, 0),  99,  0, 
(218, 0),  7)));
-            Table.States (988).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (218, 0),  7)));
-            Table.States (989).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (989), (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, 
81, 96, 107, 108, 109, 110), (218, 1),  7,
-            generic_renaming_declaration_1'Access, null);
-            Table.States (989).Kernel := To_Vector ((0 => ((218, 1),  99,  0, 
(218, 1),  7)));
-            Table.States (989).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (218, 1),  7)));
-            Table.States (990).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (990), (1 =>  39), (112, 0),  2, null, 
null);
-            Table.States (990).Kernel := To_Vector ((0 => ((112, 0),  36,  0, 
(112, 0),  2)));
-            Table.States (990).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (112, 0),  2)));
-            Table.States (991).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (991), 20, (205, 6), 1116);
-            Add_Action (Table.States (991), 74, Reduce, (205, 7),  2, null, 
null);
-            Add_Action (Table.States (991), 99, Reduce, (205, 7),  2, null, 
null);
-            Table.States (991).Kernel := To_Vector ((((205, 6),  83,  2, 
(2147483647, 0),  0), ((205, 7),  83,  0,
-            (205, 7),  2)));
-            Table.States (991).Minimal_Complete_Actions := To_Vector (((Shift, 
(205, 6),  20, 1116), (Reduce, (205, 7),
-             2)));
-            Table.States (992).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (992), (74, 99), (205, 5),  2, null, 
null);
-            Table.States (992).Kernel := To_Vector ((0 => ((205, 5),  83,  0, 
(205, 5),  2)));
-            Table.States (992).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (205, 5),  2)));
-            Table.States (993).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (993), (74, 99), (205, 4),  2, null, 
null);
-            Table.States (993).Kernel := To_Vector ((0 => ((205, 4),  83,  0, 
(205, 4),  2)));
-            Table.States (993).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (205, 4),  2)));
-            Table.States (994).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (994), (74, 99), (205, 3),  2, null, 
null);
-            Table.States (994).Kernel := To_Vector ((0 => ((205, 3),  83,  0, 
(205, 3),  2)));
-            Table.States (994).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (205, 3),  2)));
-            Table.States (995).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (995), 99, (204, 1), 1117);
-            Table.States (995).Kernel := To_Vector ((0 => ((204, 1),  125,  1, 
(2147483647, 0),  0)));
-            Table.States (995).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (204, 1),  99, 1117)));
-            Table.States (996).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (996), 78, (205, 2), 1118);
-            Table.States (996).Kernel := To_Vector ((0 => ((205, 2),  83,  1, 
(2147483647, 0),  0)));
-            Table.States (996).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (205, 2),  78, 1118)));
-            Table.States (997).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (997), 81, (242, 8), 31);
-            Add_Action (Table.States (997), 107, (242, 5), 120);
-            Add_Action (Table.States (997), 108, (242, 7), 34);
-            Add_Action (Table.States (997), 109, (242, 6), 35);
-            Table.States (997).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (997), 131, 42);
-            Add_Goto (Table.States (997), 242, 1119);
-            Add_Goto (Table.States (997), 275, 93);
-            Add_Goto (Table.States (997), 296, 98);
-            Table.States (997).Kernel := To_Vector ((((206, 0),  39,  3, 
(2147483647, 0),  0), ((206, 1),  39,  1,
-            (2147483647, 0),  0)));
-            Table.States (997).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (998).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (998), (74, 99), (205, 0),  2, null, 
null);
-            Table.States (998).Kernel := To_Vector ((0 => ((205, 0),  49,  0, 
(205, 0),  2)));
-            Table.States (998).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (205, 0),  2)));
-            Table.States (999).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (999), 99, (204, 0), 1120);
-            Table.States (999).Kernel := To_Vector ((0 => ((204, 0),  125,  1, 
(2147483647, 0),  0)));
-            Table.States (999).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (204, 0),  99, 1120)));
-            Table.States (1000).Action_List.Set_Capacity (6);
-            Add_Action (Table.States (1000), 74, Reduce, (208, 1),  0, null, 
null);
-            Add_Action (Table.States (1000), 76, (118, 0), 1121);
-            Add_Action (Table.States (1000), 87, (296, 0), 239);
-            Add_Action (Table.States (1000), 99, Reduce, (208, 1),  0, null, 
null);
-            Add_Action (Table.States (1000), 104, (325, 0), 241);
-            Add_Action (Table.States (1000), 105, (325, 1), 242);
-            Table.States (1000).Goto_List.Set_Capacity (3);
-            Add_Goto (Table.States (1000), 118, 243);
-            Add_Goto (Table.States (1000), 208, 1122);
-            Add_Goto (Table.States (1000), 325, 244);
-            Table.States (1000).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((207, 0),  242,  1,
-            (2147483647, 0),  0), ((242, 0),  242,  5, (2147483647, 0),  0), 
((242, 1),  242,  2, (2147483647, 0),  0),
-            ((275, 0),  242,  3, (2147483647, 0),  0), ((296, 0),  242,  2, 
(2147483647, 0),  0), ((296, 1),  242,  2,
-            (2147483647, 0),  0), ((296, 2),  242,  2, (2147483647, 0),  0), 
((296, 3),  242,  2, (2147483647, 0),
-            0)));
-            Table.States (1000).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (208, 1),  0)));
-            Table.States (1001).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (1001), (29, 47, 48, 50, 69, 71, 74, 
107), (203, 2),  6,
-            formal_subprogram_declaration_2'Access, null);
-            Table.States (1001).Kernel := To_Vector ((0 => ((203, 2),  99,  0, 
(203, 2),  6)));
-            Table.States (1001).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (203, 2),  6)));
-            Table.States (1002).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1002), 99, (203, 0), 1123);
-            Table.States (1002).Kernel := To_Vector ((0 => ((203, 0),  125,  
1, (2147483647, 0),  0)));
-            Table.States (1002).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (203, 0),  99, 1123)));
-            Table.States (1003).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (1003), (29, 47, 48, 50, 69, 71, 74, 
107), (203, 1),  6,
-            formal_subprogram_declaration_1'Access, null);
-            Table.States (1003).Kernel := To_Vector ((0 => ((203, 1),  99,  0, 
(203, 1),  6)));
-            Table.States (1003).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (203, 1),  6)));
-            Table.States (1004).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1004), 74, (125, 0), 340);
-            Add_Action (Table.States (1004), 99, Reduce, (125, 1),  0, null, 
null);
-            Table.States (1004).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (1004), 125, 1124);
-            Table.States (1004).Kernel := To_Vector ((0 => ((201, 1),  195,  
1, (2147483647, 0),  0)));
-            Table.States (1004).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (1005).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (1005), (29, 47, 48, 50, 69, 71, 74, 
107), (201, 3),  6,
-            formal_object_declaration_3'Access, null);
-            Table.States (1005).Kernel := To_Vector ((0 => ((201, 3),  99,  0, 
(201, 3),  6)));
-            Table.States (1005).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (201, 3),  6)));
-            Table.States (1006).Action_List.Set_Capacity (16);
-            Add_Action (Table.States (1006), 3, (200, 2), 122);
-            Add_Action (Table.States (1006), 39, (261, 4), 123);
-            Add_Action (Table.States (1006), 40, (200, 3), 124);
-            Add_Action (Table.States (1006), 41, (261, 1), 125);
-            Add_Action (Table.States (1006), 52, (278, 0), 126);
-            Add_Action (Table.States (1006), 74, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (1006), 76, (120, 0), 127);
-            Add_Action (Table.States (1006), 77, (120, 5), 128);
-            Add_Action (Table.States (1006), 81, (242, 8), 31);
-            Add_Action (Table.States (1006), 97, (333, 1), 129);
-            Add_Action (Table.States (1006), 98, (333, 0), 130);
-            Add_Action (Table.States (1006), 99, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (1006), 106, (261, 0), 131);
-            Add_Action (Table.States (1006), 107, (242, 5), 120);
-            Add_Action (Table.States (1006), 108, (242, 7), 34);
-            Add_Action (Table.States (1006), 109, (242, 6), 35);
-            Table.States (1006).Goto_List.Set_Capacity (20);
-            Add_Goto (Table.States (1006), 120, 132);
-            Add_Goto (Table.States (1006), 131, 42);
-            Add_Goto (Table.States (1006), 194, 133);
-            Add_Goto (Table.States (1006), 195, 1125);
-            Add_Goto (Table.States (1006), 200, 135);
-            Add_Goto (Table.States (1006), 242, 136);
-            Add_Goto (Table.States (1006), 261, 137);
-            Add_Goto (Table.States (1006), 275, 93);
-            Add_Goto (Table.States (1006), 278, 138);
-            Add_Goto (Table.States (1006), 285, 139);
-            Add_Goto (Table.States (1006), 286, 140);
-            Add_Goto (Table.States (1006), 287, 141);
-            Add_Goto (Table.States (1006), 288, 142);
-            Add_Goto (Table.States (1006), 289, 143);
-            Add_Goto (Table.States (1006), 290, 144);
-            Add_Goto (Table.States (1006), 296, 98);
-            Add_Goto (Table.States (1006), 304, 145);
-            Add_Goto (Table.States (1006), 323, 146);
-            Add_Goto (Table.States (1006), 324, 147);
-            Add_Goto (Table.States (1006), 333, 148);
-            Table.States (1006).Kernel := To_Vector ((0 => ((201, 0),  85,  1, 
(2147483647, 0),  0)));
-            Table.States (1006).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (195, 1),  0)));
-            Table.States (1007).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1007), 99, (201, 2), 1126);
-            Table.States (1007).Kernel := To_Vector ((0 => ((201, 2),  125,  
1, (2147483647, 0),  0)));
-            Table.States (1007).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (201, 2),  99, 1126)));
-            Table.States (1008).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1008), 32, (225, 1), 1127);
-            Table.States (1008).Kernel := To_Vector ((0 => ((225, 1),  24,  2, 
(2147483647, 0),  0)));
-            Table.States (1008).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (225, 1),  32, 1127)));
-            Table.States (1009).Action_List.Set_Capacity (26);
-            Add_Action (Table.States (1009), 4, (116, 0), 1);
-            Add_Action (Table.States (1009), 5, (306, 8), 2);
-            Add_Action (Table.States (1009), 13, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (1009), 15, (142, 0), 3);
-            Add_Action (Table.States (1009), 17, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (1009), 18, (164, 0), 4);
-            Add_Action (Table.States (1009), 22, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (1009), 23, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (1009), 24, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (1009), 27, (193, 0), 5);
-            Add_Action (Table.States (1009), 28, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (1009), 31, (306, 3), 9);
-            Add_Action (Table.States (1009), 32, (225, 0), 10);
-            Add_Action (Table.States (1009), 37, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (1009), 41, (306, 0), 13);
-            Add_Action (Table.States (1009), 48, (260, 0), 16);
-            Add_Action (Table.States (1009), 52, (279, 0), 20);
-            Add_Action (Table.States (1009), 57, (293, 0), 21);
-            Add_Action (Table.States (1009), 58, (199, 0), 22);
-            Add_Action (Table.States (1009), 61, (129, 0), 24);
-            Add_Action (Table.States (1009), 73, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (1009), 81, (242, 8), 31);
-            Add_Action (Table.States (1009), 96, (220, 0), 32);
-            Add_Action (Table.States (1009), 107, (134, 0), 363);
-            Add_Action (Table.States (1009), 108, (242, 7), 34);
-            Add_Action (Table.States (1009), 109, (242, 6), 35);
-            Table.States (1009).Goto_List.Set_Capacity (31);
-            Add_Goto (Table.States (1009), 116, 37);
-            Add_Goto (Table.States (1009), 126, 39);
-            Add_Goto (Table.States (1009), 129, 40);
-            Add_Goto (Table.States (1009), 131, 42);
-            Add_Goto (Table.States (1009), 134, 43);
-            Add_Goto (Table.States (1009), 135, 44);
-            Add_Goto (Table.States (1009), 136, 45);
-            Add_Goto (Table.States (1009), 142, 48);
-            Add_Goto (Table.States (1009), 154, 51);
-            Add_Goto (Table.States (1009), 155, 52);
-            Add_Goto (Table.States (1009), 164, 54);
-            Add_Goto (Table.States (1009), 193, 58);
-            Add_Goto (Table.States (1009), 199, 60);
-            Add_Goto (Table.States (1009), 220, 69);
-            Add_Goto (Table.States (1009), 225, 71);
-            Add_Goto (Table.States (1009), 235, 73);
-            Add_Goto (Table.States (1009), 242, 74);
-            Add_Goto (Table.States (1009), 260, 84);
-            Add_Goto (Table.States (1009), 264, 87);
-            Add_Goto (Table.States (1009), 275, 93);
-            Add_Goto (Table.States (1009), 279, 94);
-            Add_Goto (Table.States (1009), 293, 97);
-            Add_Goto (Table.States (1009), 296, 98);
-            Add_Goto (Table.States (1009), 297, 99);
-            Add_Goto (Table.States (1009), 301, 100);
-            Add_Goto (Table.States (1009), 302, 364);
-            Add_Goto (Table.States (1009), 303, 1128);
-            Add_Goto (Table.States (1009), 305, 101);
-            Add_Goto (Table.States (1009), 306, 102);
-            Add_Goto (Table.States (1009), 309, 366);
-            Add_Goto (Table.States (1009), 326, 115);
-            Table.States (1009).Kernel := To_Vector ((0 => ((177, 0),  68,  0, 
(303, 1),  0)));
-            Table.States (1009).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (303, 1),  0)));
-            Table.States (1010).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (1010), (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, 81, 96, 107, 108,
-            109, 110), (225, 3),  7, if_statement_3'Access, null);
-            Table.States (1010).Kernel := To_Vector ((0 => ((225, 3),  99,  0, 
(225, 3),  7)));
-            Table.States (1010).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (225, 3),  7)));
-            Table.States (1011).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1011), 24, (225, 0), 1129);
-            Table.States (1011).Kernel := To_Vector ((0 => ((225, 0),  303,  
3, (2147483647, 0),  0)));
-            Table.States (1011).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (225, 0),  24, 1129)));
-            Table.States (1012).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1012), 99, (225, 2), 1130);
-            Table.States (1012).Kernel := To_Vector ((0 => ((225, 2),  32,  1, 
(2147483647, 0),  0)));
-            Table.States (1012).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (225, 2),  99, 1130)));
-            Table.States (1013).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (1013), (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, 
81, 96, 107, 108, 109, 110), (251, 0),  7,
-            package_body_stub_0'Access, null);
-            Table.States (1013).Kernel := To_Vector ((0 => ((251, 0),  99,  0, 
(251, 0),  7)));
-            Table.States (1013).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (251, 0),  7)));
-            Table.States (1014).Action_List.Set_Capacity (25);
-            Add_Action (Table.States (1014), 4, (116, 0), 1);
-            Add_Action (Table.States (1014), 5, (306, 8), 2);
-            Add_Action (Table.States (1014), 13, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (1014), 15, (142, 0), 3);
-            Add_Action (Table.States (1014), 17, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (1014), 18, (164, 0), 4);
-            Add_Action (Table.States (1014), 24, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (1014), 26, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (1014), 27, (193, 0), 5);
-            Add_Action (Table.States (1014), 28, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (1014), 31, (306, 3), 9);
-            Add_Action (Table.States (1014), 32, (225, 0), 10);
-            Add_Action (Table.States (1014), 37, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (1014), 41, (306, 0), 13);
-            Add_Action (Table.States (1014), 48, (260, 0), 16);
-            Add_Action (Table.States (1014), 52, (279, 0), 20);
-            Add_Action (Table.States (1014), 57, (293, 0), 21);
-            Add_Action (Table.States (1014), 58, (199, 0), 22);
-            Add_Action (Table.States (1014), 61, (129, 0), 24);
-            Add_Action (Table.States (1014), 73, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (1014), 81, (242, 8), 31);
-            Add_Action (Table.States (1014), 96, (220, 0), 32);
-            Add_Action (Table.States (1014), 107, (134, 0), 363);
-            Add_Action (Table.States (1014), 108, (242, 7), 34);
-            Add_Action (Table.States (1014), 109, (242, 6), 35);
-            Table.States (1014).Goto_List.Set_Capacity (32);
-            Add_Goto (Table.States (1014), 116, 37);
-            Add_Goto (Table.States (1014), 126, 39);
-            Add_Goto (Table.States (1014), 129, 40);
-            Add_Goto (Table.States (1014), 131, 42);
-            Add_Goto (Table.States (1014), 134, 43);
-            Add_Goto (Table.States (1014), 135, 44);
-            Add_Goto (Table.States (1014), 136, 45);
-            Add_Goto (Table.States (1014), 142, 48);
-            Add_Goto (Table.States (1014), 154, 51);
-            Add_Goto (Table.States (1014), 155, 52);
-            Add_Goto (Table.States (1014), 164, 54);
-            Add_Goto (Table.States (1014), 193, 58);
-            Add_Goto (Table.States (1014), 199, 60);
-            Add_Goto (Table.States (1014), 220, 69);
-            Add_Goto (Table.States (1014), 221, 1131);
-            Add_Goto (Table.States (1014), 225, 71);
-            Add_Goto (Table.States (1014), 235, 73);
-            Add_Goto (Table.States (1014), 242, 74);
-            Add_Goto (Table.States (1014), 260, 84);
-            Add_Goto (Table.States (1014), 264, 87);
-            Add_Goto (Table.States (1014), 275, 93);
-            Add_Goto (Table.States (1014), 279, 94);
-            Add_Goto (Table.States (1014), 293, 97);
-            Add_Goto (Table.States (1014), 296, 98);
-            Add_Goto (Table.States (1014), 297, 99);
-            Add_Goto (Table.States (1014), 301, 100);
-            Add_Goto (Table.States (1014), 302, 364);
-            Add_Goto (Table.States (1014), 303, 393);
-            Add_Goto (Table.States (1014), 305, 101);
-            Add_Goto (Table.States (1014), 306, 102);
-            Add_Goto (Table.States (1014), 309, 366);
-            Add_Goto (Table.States (1014), 326, 115);
-            Table.States (1014).Kernel := To_Vector ((0 => ((250, 0),  13,  2, 
(2147483647, 0),  0)));
-            Table.States (1014).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (221, 1),  0)));
-            Table.States (1015).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (1015), 81, (242, 8), 31);
-            Add_Action (Table.States (1015), 99, Reduce, (243, 1),  0, null, 
null);
-            Add_Action (Table.States (1015), 107, (242, 5), 120);
-            Add_Action (Table.States (1015), 108, (242, 7), 34);
-            Add_Action (Table.States (1015), 109, (242, 6), 35);
-            Table.States (1015).Goto_List.Set_Capacity (5);
-            Add_Goto (Table.States (1015), 131, 42);
-            Add_Goto (Table.States (1015), 242, 644);
-            Add_Goto (Table.States (1015), 243, 1132);
-            Add_Goto (Table.States (1015), 275, 93);
-            Add_Goto (Table.States (1015), 296, 98);
-            Table.States (1015).Kernel := To_Vector ((0 => ((250, 1),  24,  1, 
(2147483647, 0),  0)));
-            Table.States (1015).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (243, 1),  0)));
-         end Subr_18;
-         procedure Subr_19
-         is begin
-            Table.States (1016).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (1016), (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, 
81, 96, 107, 108, 109, 110), (216, 0),  7,
-            generic_instantiation_0'Access, null);
-            Table.States (1016).Kernel := To_Vector ((0 => ((216, 0),  99,  0, 
(216, 0),  7)));
-            Table.States (1016).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (216, 0),  7)));
-            Table.States (1017).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1017), (1 =>  99), (254, 1),  7, 
package_specification_1'Access,
-            package_specification_1_check'Access);
-            Table.States (1017).Kernel := To_Vector ((0 => ((254, 1),  243,  
0, (254, 1),  7)));
-            Table.States (1017).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (254, 1),  7)));
-            Table.States (1018).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1018), 24, (254, 0), 1133);
-            Table.States (1018).Kernel := To_Vector ((0 => ((254, 0),  162,  
1, (2147483647, 0),  0)));
-            Table.States (1018).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (254, 0),  24, 1133)));
-            Table.States (1019).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (1019), (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, 
81, 96, 107, 108, 109, 110), (268, 0),  7,
-            protected_body_stub_0'Access, null);
-            Table.States (1019).Kernel := To_Vector ((0 => ((268, 0),  99,  0, 
(268, 0),  7)));
-            Table.States (1019).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (268, 0),  7)));
-            Table.States (1020).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1020), 72, Reduce, (256, 1),  0, null, 
null);
-            Add_Action (Table.States (1020), 76, (180, 0), 1134);
-            Table.States (1020).Goto_List.Set_Capacity (3);
-            Add_Goto (Table.States (1020), 180, 1135);
-            Add_Goto (Table.States (1020), 202, 347);
-            Add_Goto (Table.States (1020), 256, 1136);
-            Table.States (1020).Kernel := To_Vector ((0 => ((179, 0),  107,  
5, (2147483647, 0),  0)));
-            Table.States (1020).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (180, 1),  0)));
-            Table.States (1021).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (1021), 35, Reduce, (125, 1),  0, null, 
null);
-            Add_Action (Table.States (1021), 74, (125, 0), 340);
-            Add_Action (Table.States (1021), 99, Reduce, (125, 1),  0, null, 
null);
-            Table.States (1021).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (1021), 125, 433);
-            Table.States (1021).Kernel := To_Vector ((((310, 0),  315,  4, 
(2147483647, 0),  0), ((312, 0),  315,  1,
-            (2147483647, 0),  0)));
-            Table.States (1021).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (1022).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (1022), (24, 25, 28, 29, 40, 46, 50), 
(271, 0),  2, null, null);
-            Table.States (1022).Kernel := To_Vector ((0 => ((271, 0),  270,  
0, (271, 0),  2)));
-            Table.States (1022).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (271, 0),  2)));
-            Table.States (1023).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1023), 99, Reduce, (223, 1),  0, null, 
null);
-            Add_Action (Table.States (1023), 107, (223, 0), 151);
-            Table.States (1023).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (1023), 223, 1137);
-            Table.States (1023).Kernel := To_Vector ((0 => ((267, 0),  24,  1, 
(2147483647, 0),  0)));
-            Table.States (1023).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (223, 1),  0)));
-            Table.States (1024).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (1024), 81, (242, 8), 31);
-            Add_Action (Table.States (1024), 107, (242, 5), 120);
-            Add_Action (Table.States (1024), 108, (242, 7), 34);
-            Add_Action (Table.States (1024), 109, (242, 6), 35);
-            Table.States (1024).Goto_List.Set_Capacity (5);
-            Add_Goto (Table.States (1024), 131, 42);
-            Add_Goto (Table.States (1024), 230, 1138);
-            Add_Goto (Table.States (1024), 242, 859);
-            Add_Goto (Table.States (1024), 275, 93);
-            Add_Goto (Table.States (1024), 296, 98);
-            Table.States (1024).Kernel := To_Vector ((0 => ((274, 0),  39,  4, 
(2147483647, 0),  0)));
-            Table.States (1024).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (1025).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1025), 99, (274, 1), 1139);
-            Table.States (1025).Kernel := To_Vector ((0 => ((274, 1),  269,  
1, (2147483647, 0),  0)));
-            Table.States (1025).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (274, 1),  99, 1139)));
-            Table.States (1026).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (1026), 81, (242, 8), 31);
-            Add_Action (Table.States (1026), 107, (242, 5), 120);
-            Add_Action (Table.States (1026), 108, (242, 7), 34);
-            Add_Action (Table.States (1026), 109, (242, 6), 35);
-            Table.States (1026).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (1026), 131, 42);
-            Add_Goto (Table.States (1026), 242, 1140);
-            Add_Goto (Table.States (1026), 275, 93);
-            Add_Goto (Table.States (1026), 296, 98);
-            Table.States (1026).Kernel := To_Vector ((0 => ((230, 0),  10,  1, 
(2147483647, 0),  0)));
-            Table.States (1026).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (1027).Action_List.Set_Capacity (17);
-            Add_Action (Table.States (1027), 24, Reduce, (162, 1),  0, null, 
null);
-            Add_Action (Table.States (1027), 25, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (1027), 28, (124, 0), 185);
-            Add_Action (Table.States (1027), 29, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (1027), 30, (213, 0), 8);
-            Add_Action (Table.States (1027), 40, (249, 0), 12);
-            Add_Action (Table.States (1027), 46, (249, 1), 14);
-            Add_Action (Table.States (1027), 47, (216, 0), 15);
-            Add_Action (Table.States (1027), 48, (260, 0), 16);
-            Add_Action (Table.States (1027), 49, Reduce, (162, 1),  0, null, 
null);
-            Add_Action (Table.States (1027), 50, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (1027), 51, (267, 0), 19);
-            Add_Action (Table.States (1027), 63, (316, 0), 25);
-            Add_Action (Table.States (1027), 66, (308, 0), 26);
-            Add_Action (Table.States (1027), 69, (209, 0), 27);
-            Add_Action (Table.States (1027), 71, (334, 0), 28);
-            Add_Action (Table.States (1027), 107, (222, 1), 187);
-            Table.States (1027).Goto_List.Set_Capacity (54);
-            Add_Goto (Table.States (1027), 115, 36);
-            Add_Goto (Table.States (1027), 124, 38);
-            Add_Goto (Table.States (1027), 130, 41);
-            Add_Goto (Table.States (1027), 137, 46);
-            Add_Goto (Table.States (1027), 138, 47);
-            Add_Goto (Table.States (1027), 160, 394);
-            Add_Goto (Table.States (1027), 161, 395);
-            Add_Goto (Table.States (1027), 162, 681);
-            Add_Goto (Table.States (1027), 182, 55);
-            Add_Goto (Table.States (1027), 185, 56);
-            Add_Goto (Table.States (1027), 189, 57);
-            Add_Goto (Table.States (1027), 196, 59);
-            Add_Goto (Table.States (1027), 209, 61);
-            Add_Goto (Table.States (1027), 210, 62);
-            Add_Goto (Table.States (1027), 212, 63);
-            Add_Goto (Table.States (1027), 213, 64);
-            Add_Goto (Table.States (1027), 216, 65);
-            Add_Goto (Table.States (1027), 217, 66);
-            Add_Goto (Table.States (1027), 218, 67);
-            Add_Goto (Table.States (1027), 219, 68);
-            Add_Goto (Table.States (1027), 222, 70);
-            Add_Goto (Table.States (1027), 226, 72);
-            Add_Goto (Table.States (1027), 246, 75);
-            Add_Goto (Table.States (1027), 247, 76);
-            Add_Goto (Table.States (1027), 248, 77);
-            Add_Goto (Table.States (1027), 249, 78);
-            Add_Goto (Table.States (1027), 250, 79);
-            Add_Goto (Table.States (1027), 251, 80);
-            Add_Goto (Table.States (1027), 252, 81);
-            Add_Goto (Table.States (1027), 253, 82);
-            Add_Goto (Table.States (1027), 254, 83);
-            Add_Goto (Table.States (1027), 260, 397);
-            Add_Goto (Table.States (1027), 262, 85);
-            Add_Goto (Table.States (1027), 263, 86);
-            Add_Goto (Table.States (1027), 265, 88);
-            Add_Goto (Table.States (1027), 266, 89);
-            Add_Goto (Table.States (1027), 267, 90);
-            Add_Goto (Table.States (1027), 268, 91);
-            Add_Goto (Table.States (1027), 269, 1141);
-            Add_Goto (Table.States (1027), 274, 92);
-            Add_Goto (Table.States (1027), 284, 95);
-            Add_Goto (Table.States (1027), 292, 96);
-            Add_Goto (Table.States (1027), 307, 103);
-            Add_Goto (Table.States (1027), 308, 104);
-            Add_Goto (Table.States (1027), 310, 106);
-            Add_Goto (Table.States (1027), 311, 107);
-            Add_Goto (Table.States (1027), 312, 108);
-            Add_Goto (Table.States (1027), 314, 109);
-            Add_Goto (Table.States (1027), 316, 110);
-            Add_Goto (Table.States (1027), 319, 112);
-            Add_Goto (Table.States (1027), 320, 113);
-            Add_Goto (Table.States (1027), 322, 114);
-            Add_Goto (Table.States (1027), 328, 116);
-            Add_Goto (Table.States (1027), 334, 117);
-            Table.States (1027).Kernel := To_Vector ((0 => ((307, 0),  74,  2, 
(2147483647, 0),  0)));
-            Table.States (1027).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (162, 1),  0)));
-            Table.States (1028).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1028), (1 =>  99), (269, 1),  3, 
protected_definition_1'Access,
-            protected_definition_1_check'Access);
-            Table.States (1028).Kernel := To_Vector ((0 => ((269, 1),  223,  
0, (269, 1),  3)));
-            Table.States (1028).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (269, 1),  3)));
-            Table.States (1029).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1029), 24, (269, 0), 1142);
-            Table.States (1029).Kernel := To_Vector ((0 => ((269, 0),  162,  
1, (2147483647, 0),  0)));
-            Table.States (1029).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (269, 0),  24, 1142)));
-            Table.States (1030).Action_List.Set_Capacity (16);
-            Add_Action (Table.States (1030), 3, (200, 2), 122);
-            Add_Action (Table.States (1030), 21, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (1030), 39, (261, 4), 123);
-            Add_Action (Table.States (1030), 40, (200, 3), 124);
-            Add_Action (Table.States (1030), 41, (261, 1), 125);
-            Add_Action (Table.States (1030), 52, (278, 0), 126);
-            Add_Action (Table.States (1030), 76, (120, 0), 127);
-            Add_Action (Table.States (1030), 77, (120, 5), 128);
-            Add_Action (Table.States (1030), 81, (242, 8), 31);
-            Add_Action (Table.States (1030), 97, (333, 1), 129);
-            Add_Action (Table.States (1030), 98, (333, 0), 130);
-            Add_Action (Table.States (1030), 99, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (1030), 106, (261, 0), 131);
-            Add_Action (Table.States (1030), 107, (242, 5), 120);
-            Add_Action (Table.States (1030), 108, (242, 7), 34);
-            Add_Action (Table.States (1030), 109, (242, 6), 35);
-            Table.States (1030).Goto_List.Set_Capacity (20);
-            Add_Goto (Table.States (1030), 120, 132);
-            Add_Goto (Table.States (1030), 131, 42);
-            Add_Goto (Table.States (1030), 194, 133);
-            Add_Goto (Table.States (1030), 195, 1143);
-            Add_Goto (Table.States (1030), 200, 135);
-            Add_Goto (Table.States (1030), 242, 136);
-            Add_Goto (Table.States (1030), 261, 137);
-            Add_Goto (Table.States (1030), 275, 93);
-            Add_Goto (Table.States (1030), 278, 138);
-            Add_Goto (Table.States (1030), 285, 139);
-            Add_Goto (Table.States (1030), 286, 140);
-            Add_Goto (Table.States (1030), 287, 141);
-            Add_Goto (Table.States (1030), 288, 142);
-            Add_Goto (Table.States (1030), 289, 143);
-            Add_Goto (Table.States (1030), 290, 144);
-            Add_Goto (Table.States (1030), 296, 98);
-            Add_Goto (Table.States (1030), 304, 145);
-            Add_Goto (Table.States (1030), 323, 146);
-            Add_Goto (Table.States (1030), 324, 147);
-            Add_Goto (Table.States (1030), 333, 148);
-            Table.States (1030).Kernel := To_Vector ((0 => ((197, 0),  85,  0, 
(195, 1),  0)));
-            Table.States (1030).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (195, 1),  0)));
-            Table.States (1031).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (1031), (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, 81, 96, 107, 108,
-            109, 110), (199, 0),  7, extended_return_statement_0'Access, null);
-            Table.States (1031).Kernel := To_Vector ((0 => ((199, 0),  99,  0, 
(199, 0),  7)));
-            Table.States (1031).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (199, 0),  7)));
-            Table.States (1032).Action_List.Set_Capacity (6);
-            Add_Action (Table.States (1032), 35, Reduce, (125, 1),  0, null, 
null);
-            Add_Action (Table.States (1032), 74, (125, 0), 340);
-            Add_Action (Table.States (1032), 76, (118, 0), 237);
-            Add_Action (Table.States (1032), 87, (296, 0), 239);
-            Add_Action (Table.States (1032), 104, (325, 0), 241);
-            Add_Action (Table.States (1032), 105, (325, 1), 242);
-            Table.States (1032).Goto_List.Set_Capacity (3);
-            Add_Goto (Table.States (1032), 118, 243);
-            Add_Goto (Table.States (1032), 125, 518);
-            Add_Goto (Table.States (1032), 325, 244);
-            Table.States (1032).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((242, 0),  242,  5,
-            (2147483647, 0),  0), ((242, 1),  242,  2, (2147483647, 0),  0), 
((250, 0),  242,  4, (2147483647, 0),  0),
-            ((250, 1),  242,  3, (2147483647, 0),  0), ((275, 0),  242,  3, 
(2147483647, 0),  0), ((296, 0),  242,  2,
-            (2147483647, 0),  0), ((296, 1),  242,  2, (2147483647, 0),  0), 
((296, 2),  242,  2, (2147483647, 0),  0),
-            ((296, 3),  242,  2, (2147483647, 0),  0)));
-            Table.States (1032).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (1033).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1033), 35, Reduce, (125, 1),  0, null, 
null);
-            Add_Action (Table.States (1033), 74, (125, 0), 340);
-            Table.States (1033).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (1033), 125, 528);
-            Table.States (1033).Kernel := To_Vector ((0 => ((267, 0),  107,  
3, (2147483647, 0),  0)));
-            Table.States (1033).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (1034).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1034), 35, Reduce, (125, 1),  0, null, 
null);
-            Add_Action (Table.States (1034), 74, (125, 0), 340);
-            Table.States (1034).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (1034), 125, 548);
-            Table.States (1034).Kernel := To_Vector ((0 => ((319, 0),  107,  
4, (2147483647, 0),  0)));
-            Table.States (1034).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (1035).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1035), 35, (310, 0), 595);
-            Table.States (1035).Kernel := To_Vector ((0 => ((310, 0),  125,  
4, (2147483647, 0),  0)));
-            Table.States (1035).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (310, 0),  35, 595)));
-            Table.States (1036).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (1036), (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, 81, 96, 107, 108,
-            109, 110), (155, 0),  7, conditional_entry_call_0'Access, null);
-            Table.States (1036).Kernel := To_Vector ((0 => ((155, 0),  99,  0, 
(155, 0),  7)));
-            Table.States (1036).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (155, 0),  7)));
-            Table.States (1037).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (1037), (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, 81, 96, 107, 108,
-            109, 110), (326, 0),  7, timed_entry_call_0'Access, null);
-            Table.States (1037).Kernel := To_Vector ((0 => ((326, 0),  99,  0, 
(326, 0),  7)));
-            Table.States (1037).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (326, 0),  7)));
-            Table.States (1038).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (1038), (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, 81, 96, 107, 108,
-            109, 110), (297, 0),  7, selective_accept_0'Access, null);
-            Table.States (1038).Kernel := To_Vector ((0 => ((297, 0),  99,  0, 
(297, 0),  7)));
-            Table.States (1038).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (297, 0),  7)));
-            Table.States (1039).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1039), 99, (129, 0), 1144);
-            Table.States (1039).Kernel := To_Vector ((0 => ((129, 0),  61,  1, 
(2147483647, 0),  0)));
-            Table.States (1039).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (129, 0),  99, 1144)));
-            Table.States (1040).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (1040), (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, 
81, 96, 107, 108, 109, 110), (320, 0),  7,
-            task_body_stub_0'Access, null);
-            Table.States (1040).Kernel := To_Vector ((0 => ((320, 0),  99,  0, 
(320, 0),  7)));
-            Table.States (1040).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (320, 0),  7)));
-            Table.States (1041).Action_List.Set_Capacity (25);
-            Add_Action (Table.States (1041), 4, (116, 0), 1);
-            Add_Action (Table.States (1041), 5, (306, 8), 2);
-            Add_Action (Table.States (1041), 13, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (1041), 15, (142, 0), 3);
-            Add_Action (Table.States (1041), 17, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (1041), 18, (164, 0), 4);
-            Add_Action (Table.States (1041), 24, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (1041), 26, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (1041), 27, (193, 0), 5);
-            Add_Action (Table.States (1041), 28, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (1041), 31, (306, 3), 9);
-            Add_Action (Table.States (1041), 32, (225, 0), 10);
-            Add_Action (Table.States (1041), 37, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (1041), 41, (306, 0), 13);
-            Add_Action (Table.States (1041), 48, (260, 0), 16);
-            Add_Action (Table.States (1041), 52, (279, 0), 20);
-            Add_Action (Table.States (1041), 57, (293, 0), 21);
-            Add_Action (Table.States (1041), 58, (199, 0), 22);
-            Add_Action (Table.States (1041), 61, (129, 0), 24);
-            Add_Action (Table.States (1041), 73, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (1041), 81, (242, 8), 31);
-            Add_Action (Table.States (1041), 96, (220, 0), 32);
-            Add_Action (Table.States (1041), 107, (134, 0), 363);
-            Add_Action (Table.States (1041), 108, (242, 7), 34);
-            Add_Action (Table.States (1041), 109, (242, 6), 35);
-            Table.States (1041).Goto_List.Set_Capacity (32);
-            Add_Goto (Table.States (1041), 116, 37);
-            Add_Goto (Table.States (1041), 126, 39);
-            Add_Goto (Table.States (1041), 129, 40);
-            Add_Goto (Table.States (1041), 131, 42);
-            Add_Goto (Table.States (1041), 134, 43);
-            Add_Goto (Table.States (1041), 135, 44);
-            Add_Goto (Table.States (1041), 136, 45);
-            Add_Goto (Table.States (1041), 142, 48);
-            Add_Goto (Table.States (1041), 154, 51);
-            Add_Goto (Table.States (1041), 155, 52);
-            Add_Goto (Table.States (1041), 164, 54);
-            Add_Goto (Table.States (1041), 193, 58);
-            Add_Goto (Table.States (1041), 199, 60);
-            Add_Goto (Table.States (1041), 220, 69);
-            Add_Goto (Table.States (1041), 221, 1145);
-            Add_Goto (Table.States (1041), 225, 71);
-            Add_Goto (Table.States (1041), 235, 73);
-            Add_Goto (Table.States (1041), 242, 74);
-            Add_Goto (Table.States (1041), 260, 84);
-            Add_Goto (Table.States (1041), 264, 87);
-            Add_Goto (Table.States (1041), 275, 93);
-            Add_Goto (Table.States (1041), 279, 94);
-            Add_Goto (Table.States (1041), 293, 97);
-            Add_Goto (Table.States (1041), 296, 98);
-            Add_Goto (Table.States (1041), 297, 99);
-            Add_Goto (Table.States (1041), 301, 100);
-            Add_Goto (Table.States (1041), 302, 364);
-            Add_Goto (Table.States (1041), 303, 393);
-            Add_Goto (Table.States (1041), 305, 101);
-            Add_Goto (Table.States (1041), 306, 102);
-            Add_Goto (Table.States (1041), 309, 366);
-            Add_Goto (Table.States (1041), 326, 115);
-            Table.States (1041).Kernel := To_Vector ((0 => ((319, 0),  13,  2, 
(2147483647, 0),  0)));
-            Table.States (1041).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (221, 1),  0)));
-            Table.States (1042).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (1042), 81, (242, 8), 31);
-            Add_Action (Table.States (1042), 107, (242, 5), 120);
-            Add_Action (Table.States (1042), 108, (242, 7), 34);
-            Add_Action (Table.States (1042), 109, (242, 6), 35);
-            Table.States (1042).Goto_List.Set_Capacity (5);
-            Add_Goto (Table.States (1042), 131, 42);
-            Add_Goto (Table.States (1042), 230, 1146);
-            Add_Goto (Table.States (1042), 242, 859);
-            Add_Goto (Table.States (1042), 275, 93);
-            Add_Goto (Table.States (1042), 296, 98);
-            Table.States (1042).Kernel := To_Vector ((0 => ((322, 0),  39,  4, 
(2147483647, 0),  0)));
-            Table.States (1042).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (1043).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1043), 24, (322, 1), 1147);
-            Table.States (1043).Kernel := To_Vector ((0 => ((322, 1),  321,  
2, (2147483647, 0),  0)));
-            Table.States (1043).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (322, 1),  24, 1147)));
-            Table.States (1044).Action_List.Set_Capacity (17);
-            Add_Action (Table.States (1044), 24, Reduce, (162, 1),  0, null, 
null);
-            Add_Action (Table.States (1044), 25, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (1044), 28, (124, 0), 185);
-            Add_Action (Table.States (1044), 29, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (1044), 30, (213, 0), 8);
-            Add_Action (Table.States (1044), 40, (249, 0), 12);
-            Add_Action (Table.States (1044), 46, (249, 1), 14);
-            Add_Action (Table.States (1044), 47, (216, 0), 15);
-            Add_Action (Table.States (1044), 48, (260, 0), 16);
-            Add_Action (Table.States (1044), 49, Reduce, (162, 1),  0, null, 
null);
-            Add_Action (Table.States (1044), 50, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (1044), 51, (267, 0), 19);
-            Add_Action (Table.States (1044), 63, (316, 0), 25);
-            Add_Action (Table.States (1044), 66, (308, 0), 26);
-            Add_Action (Table.States (1044), 69, (209, 0), 27);
-            Add_Action (Table.States (1044), 71, (334, 0), 28);
-            Add_Action (Table.States (1044), 107, (222, 1), 187);
-            Table.States (1044).Goto_List.Set_Capacity (54);
-            Add_Goto (Table.States (1044), 115, 36);
-            Add_Goto (Table.States (1044), 124, 38);
-            Add_Goto (Table.States (1044), 130, 41);
-            Add_Goto (Table.States (1044), 137, 46);
-            Add_Goto (Table.States (1044), 138, 47);
-            Add_Goto (Table.States (1044), 160, 394);
-            Add_Goto (Table.States (1044), 161, 395);
-            Add_Goto (Table.States (1044), 162, 706);
-            Add_Goto (Table.States (1044), 182, 55);
-            Add_Goto (Table.States (1044), 185, 56);
-            Add_Goto (Table.States (1044), 189, 57);
-            Add_Goto (Table.States (1044), 196, 59);
-            Add_Goto (Table.States (1044), 209, 61);
-            Add_Goto (Table.States (1044), 210, 62);
-            Add_Goto (Table.States (1044), 212, 63);
-            Add_Goto (Table.States (1044), 213, 64);
-            Add_Goto (Table.States (1044), 216, 65);
-            Add_Goto (Table.States (1044), 217, 66);
-            Add_Goto (Table.States (1044), 218, 67);
-            Add_Goto (Table.States (1044), 219, 68);
-            Add_Goto (Table.States (1044), 222, 70);
-            Add_Goto (Table.States (1044), 226, 72);
-            Add_Goto (Table.States (1044), 246, 75);
-            Add_Goto (Table.States (1044), 247, 76);
-            Add_Goto (Table.States (1044), 248, 77);
-            Add_Goto (Table.States (1044), 249, 78);
-            Add_Goto (Table.States (1044), 250, 79);
-            Add_Goto (Table.States (1044), 251, 80);
-            Add_Goto (Table.States (1044), 252, 81);
-            Add_Goto (Table.States (1044), 253, 82);
-            Add_Goto (Table.States (1044), 254, 83);
-            Add_Goto (Table.States (1044), 260, 397);
-            Add_Goto (Table.States (1044), 262, 85);
-            Add_Goto (Table.States (1044), 263, 86);
-            Add_Goto (Table.States (1044), 265, 88);
-            Add_Goto (Table.States (1044), 266, 89);
-            Add_Goto (Table.States (1044), 267, 90);
-            Add_Goto (Table.States (1044), 268, 91);
-            Add_Goto (Table.States (1044), 274, 92);
-            Add_Goto (Table.States (1044), 284, 95);
-            Add_Goto (Table.States (1044), 292, 96);
-            Add_Goto (Table.States (1044), 307, 103);
-            Add_Goto (Table.States (1044), 308, 104);
-            Add_Goto (Table.States (1044), 310, 106);
-            Add_Goto (Table.States (1044), 311, 107);
-            Add_Goto (Table.States (1044), 312, 108);
-            Add_Goto (Table.States (1044), 314, 109);
-            Add_Goto (Table.States (1044), 316, 110);
-            Add_Goto (Table.States (1044), 319, 112);
-            Add_Goto (Table.States (1044), 320, 113);
-            Add_Goto (Table.States (1044), 321, 1148);
-            Add_Goto (Table.States (1044), 322, 114);
-            Add_Goto (Table.States (1044), 328, 116);
-            Add_Goto (Table.States (1044), 334, 117);
-            Table.States (1044).Kernel := To_Vector ((0 => ((308, 0),  74,  2, 
(2147483647, 0),  0)));
-            Table.States (1044).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (321, 1),  0)));
-            Table.States (1045).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1045), (1 =>  24), (321, 0),  3, 
task_definition_0'Access, null);
-            Table.States (1045).Kernel := To_Vector ((0 => ((321, 0),  162,  
0, (321, 0),  3)));
-            Table.States (1045).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (321, 0),  3)));
-            Table.States (1046).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1046), 99, (308, 1), 1149);
-            Table.States (1046).Kernel := To_Vector ((0 => ((308, 1),  223,  
1, (2147483647, 0),  0)));
-            Table.States (1046).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (308, 1),  99, 1149)));
-            Table.States (1047).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (1047), 7, Reduce, (244, 0),  2, null, 
null);
-            Add_Action (Table.States (1047), 81, (242, 8), 31);
-            Add_Action (Table.States (1047), 107, (242, 5), 1150);
-            Add_Action (Table.States (1047), 108, (242, 7), 34);
-            Add_Action (Table.States (1047), 109, (242, 6), 35);
-            Table.States (1047).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (1047), 131, 42);
-            Add_Goto (Table.States (1047), 242, 889);
-            Add_Goto (Table.States (1047), 275, 93);
-            Add_Goto (Table.States (1047), 296, 1151);
-            Table.States (1047).Kernel := To_Vector ((((244, 0),  41,  0, 
(244, 0),  2), ((245, 2),  41,  1,
-            (2147483647, 0),  0), ((245, 3),  41,  3, (2147483647, 0),  0)));
-            Table.States (1047).Minimal_Complete_Actions := To_Vector 
(((Reduce, (244, 0),  2), (Shift, (242, 5),  107,
-            1150)));
-            Table.States (1048).Action_List.Set_Capacity (16);
-            Add_Action (Table.States (1048), 3, (200, 2), 122);
-            Add_Action (Table.States (1048), 39, (261, 4), 123);
-            Add_Action (Table.States (1048), 40, (200, 3), 124);
-            Add_Action (Table.States (1048), 41, (261, 1), 125);
-            Add_Action (Table.States (1048), 52, (278, 0), 126);
-            Add_Action (Table.States (1048), 76, (120, 0), 127);
-            Add_Action (Table.States (1048), 77, (120, 5), 128);
-            Add_Action (Table.States (1048), 78, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (1048), 81, (242, 8), 31);
-            Add_Action (Table.States (1048), 97, (333, 1), 129);
-            Add_Action (Table.States (1048), 98, (333, 0), 130);
-            Add_Action (Table.States (1048), 99, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (1048), 106, (261, 0), 131);
-            Add_Action (Table.States (1048), 107, (242, 5), 120);
-            Add_Action (Table.States (1048), 108, (242, 7), 34);
-            Add_Action (Table.States (1048), 109, (242, 6), 35);
-            Table.States (1048).Goto_List.Set_Capacity (20);
-            Add_Goto (Table.States (1048), 120, 132);
-            Add_Goto (Table.States (1048), 131, 42);
-            Add_Goto (Table.States (1048), 194, 133);
-            Add_Goto (Table.States (1048), 195, 1152);
-            Add_Goto (Table.States (1048), 200, 135);
-            Add_Goto (Table.States (1048), 242, 136);
-            Add_Goto (Table.States (1048), 261, 137);
-            Add_Goto (Table.States (1048), 275, 93);
-            Add_Goto (Table.States (1048), 278, 138);
-            Add_Goto (Table.States (1048), 285, 139);
-            Add_Goto (Table.States (1048), 286, 140);
-            Add_Goto (Table.States (1048), 287, 141);
-            Add_Goto (Table.States (1048), 288, 142);
-            Add_Goto (Table.States (1048), 289, 143);
-            Add_Goto (Table.States (1048), 290, 144);
-            Add_Goto (Table.States (1048), 296, 98);
-            Add_Goto (Table.States (1048), 304, 145);
-            Add_Goto (Table.States (1048), 323, 146);
-            Add_Goto (Table.States (1048), 324, 147);
-            Add_Goto (Table.States (1048), 333, 148);
-            Table.States (1048).Kernel := To_Vector ((0 => ((173, 1),  85,  0, 
(195, 1),  0)));
-            Table.States (1048).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (195, 1),  0)));
-            Table.States (1049).Action_List.Set_Capacity (16);
-            Add_Action (Table.States (1049), 3, (200, 2), 122);
-            Add_Action (Table.States (1049), 39, (261, 4), 123);
-            Add_Action (Table.States (1049), 40, (200, 3), 124);
-            Add_Action (Table.States (1049), 41, (261, 1), 125);
-            Add_Action (Table.States (1049), 52, (278, 0), 126);
-            Add_Action (Table.States (1049), 76, (120, 0), 127);
-            Add_Action (Table.States (1049), 77, (120, 5), 128);
-            Add_Action (Table.States (1049), 78, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (1049), 81, (242, 8), 31);
-            Add_Action (Table.States (1049), 97, (333, 1), 129);
-            Add_Action (Table.States (1049), 98, (333, 0), 130);
-            Add_Action (Table.States (1049), 99, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (1049), 106, (261, 0), 131);
-            Add_Action (Table.States (1049), 107, (242, 5), 120);
-            Add_Action (Table.States (1049), 108, (242, 7), 34);
-            Add_Action (Table.States (1049), 109, (242, 6), 35);
-            Table.States (1049).Goto_List.Set_Capacity (20);
-            Add_Goto (Table.States (1049), 120, 132);
-            Add_Goto (Table.States (1049), 131, 42);
-            Add_Goto (Table.States (1049), 194, 133);
-            Add_Goto (Table.States (1049), 195, 1153);
-            Add_Goto (Table.States (1049), 200, 135);
-            Add_Goto (Table.States (1049), 242, 136);
-            Add_Goto (Table.States (1049), 261, 137);
-            Add_Goto (Table.States (1049), 275, 93);
-            Add_Goto (Table.States (1049), 278, 138);
-            Add_Goto (Table.States (1049), 285, 139);
-            Add_Goto (Table.States (1049), 286, 140);
-            Add_Goto (Table.States (1049), 287, 141);
-            Add_Goto (Table.States (1049), 288, 142);
-            Add_Goto (Table.States (1049), 289, 143);
-            Add_Goto (Table.States (1049), 290, 144);
-            Add_Goto (Table.States (1049), 296, 98);
-            Add_Goto (Table.States (1049), 304, 145);
-            Add_Goto (Table.States (1049), 323, 146);
-            Add_Goto (Table.States (1049), 324, 147);
-            Add_Goto (Table.States (1049), 333, 148);
-            Table.States (1049).Kernel := To_Vector ((0 => ((173, 0),  85,  0, 
(195, 1),  0)));
-            Table.States (1049).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (195, 1),  0)));
-            Table.States (1050).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (1050), (41, 49, 54), (114, 0),  3, null, 
null);
-            Table.States (1050).Kernel := To_Vector ((0 => ((114, 0),  36,  0, 
(114, 0),  3)));
-            Table.States (1050).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (114, 0),  3)));
-            Table.States (1051).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1051), 78, (123, 1), 1154);
-            Add_Action (Table.States (1051), 86, (171, 0), 979);
-            Table.States (1051).Kernel := To_Vector ((((123, 1),  171,  3, 
(2147483647, 0),  0), ((171, 0),  171,  2,
-            (2147483647, 0),  0)));
-            Table.States (1051).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (123, 1),  78, 1154)));
-            Table.States (1052).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1052), (78, 86), (229, 1),  1, null, 
null);
-            Table.States (1052).Kernel := To_Vector ((0 => ((229, 1),  228,  
0, (229, 1),  1)));
-            Table.States (1052).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (229, 1),  1)));
-            Table.States (1053).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1053), 78, (123, 0), 1155);
-            Add_Action (Table.States (1053), 86, (229, 0), 1156);
-            Table.States (1053).Kernel := To_Vector ((((123, 0),  229,  3, 
(2147483647, 0),  0), ((229, 0),  229,  4,
-            (2147483647, 0),  0)));
-            Table.States (1053).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (123, 0),  78, 1155)));
-            Table.States (1054).Action_List.Set_Capacity (16);
-            Add_Action (Table.States (1054), 38, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (1054), 53, (158, 0), 1157);
-            Add_Action (Table.States (1054), 55, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (1054), 76, (118, 0), 633);
-            Add_Action (Table.States (1054), 78, Reduce, (317, 3),  1, 
subtype_indication_3'Access, null);
-            Add_Action (Table.States (1054), 80, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (1054), 86, Reduce, (317, 3),  1, 
subtype_indication_3'Access, null);
-            Add_Action (Table.States (1054), 87, (296, 0), 239);
-            Add_Action (Table.States (1054), 88, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (1054), 97, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (1054), 98, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (1054), 100, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (1054), 102, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (1054), 103, Reduce, (261, 3),  1, null, 
null);
-            Add_Action (Table.States (1054), 104, (325, 0), 241);
-            Add_Action (Table.States (1054), 105, (325, 1), 242);
-            Table.States (1054).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (1054), 118, 243);
-            Add_Goto (Table.States (1054), 158, 634);
-            Add_Goto (Table.States (1054), 227, 635);
-            Add_Goto (Table.States (1054), 325, 454);
-            Table.States (1054).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((228, 0),  242,  2,
-            (2147483647, 0),  0), ((242, 0),  242,  5, (2147483647, 0),  0), 
((242, 1),  242,  2, (2147483647, 0),  0),
-            ((261, 3),  242,  0, (261, 3),  1), ((275, 0),  242,  3, 
(2147483647, 0),  0), ((280, 0),  242,  4,
-            (2147483647, 0),  0), ((280, 1),  242,  2, (2147483647, 0),  0), 
((296, 0),  242,  2, (2147483647, 0),  0),
-            ((296, 1),  242,  2, (2147483647, 0),  0), ((296, 2),  242,  2, 
(2147483647, 0),  0), ((296, 3),  242,  2,
-            (2147483647, 0),  0), ((317, 2),  242,  4, (2147483647, 0),  0), 
((317, 3),  242,  0, (317, 3),  1)));
-            Table.States (1054).Minimal_Complete_Actions := To_Vector 
(((Shift, (158, 0),  53, 1157), (Reduce, (261,
-            3),  1), (Reduce, (317, 3),  1)));
-            Table.States (1055).Action_List.Set_Capacity (17);
-            Add_Action (Table.States (1055), 3, (200, 2), 122);
-            Add_Action (Table.States (1055), 39, (261, 4), 123);
-            Add_Action (Table.States (1055), 40, (200, 3), 124);
-            Add_Action (Table.States (1055), 41, (261, 1), 125);
-            Add_Action (Table.States (1055), 52, (278, 0), 126);
-            Add_Action (Table.States (1055), 53, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (1055), 74, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (1055), 76, (120, 0), 127);
-            Add_Action (Table.States (1055), 77, (120, 5), 128);
-            Add_Action (Table.States (1055), 81, (242, 8), 31);
-            Add_Action (Table.States (1055), 97, (333, 1), 129);
-            Add_Action (Table.States (1055), 98, (333, 0), 130);
-            Add_Action (Table.States (1055), 99, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (1055), 106, (261, 0), 131);
-            Add_Action (Table.States (1055), 107, (242, 5), 120);
-            Add_Action (Table.States (1055), 108, (242, 7), 34);
-            Add_Action (Table.States (1055), 109, (242, 6), 35);
-            Table.States (1055).Goto_List.Set_Capacity (20);
-            Add_Goto (Table.States (1055), 120, 132);
-            Add_Goto (Table.States (1055), 131, 42);
-            Add_Goto (Table.States (1055), 194, 133);
-            Add_Goto (Table.States (1055), 195, 1158);
-            Add_Goto (Table.States (1055), 200, 135);
-            Add_Goto (Table.States (1055), 242, 136);
-            Add_Goto (Table.States (1055), 261, 137);
-            Add_Goto (Table.States (1055), 275, 93);
-            Add_Goto (Table.States (1055), 278, 138);
-            Add_Goto (Table.States (1055), 285, 139);
-            Add_Goto (Table.States (1055), 286, 140);
-            Add_Goto (Table.States (1055), 287, 141);
-            Add_Goto (Table.States (1055), 288, 142);
-            Add_Goto (Table.States (1055), 289, 143);
-            Add_Goto (Table.States (1055), 290, 144);
-            Add_Goto (Table.States (1055), 296, 98);
-            Add_Goto (Table.States (1055), 304, 145);
-            Add_Goto (Table.States (1055), 323, 146);
-            Add_Goto (Table.States (1055), 324, 147);
-            Add_Goto (Table.States (1055), 333, 148);
-            Table.States (1055).Kernel := To_Vector ((0 => ((329, 4),  20,  0, 
(195, 1),  0)));
-            Table.States (1055).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (195, 1),  0)));
-            Table.States (1056).Action_List.Set_Capacity (13);
-            Add_Action (Table.States (1056), 3, (200, 2), 122);
-            Add_Action (Table.States (1056), 39, (261, 4), 123);
-            Add_Action (Table.States (1056), 40, (200, 3), 124);
-            Add_Action (Table.States (1056), 41, (261, 1), 125);
-            Add_Action (Table.States (1056), 76, (120, 0), 127);
-            Add_Action (Table.States (1056), 77, (120, 5), 128);
-            Add_Action (Table.States (1056), 81, (242, 8), 31);
-            Add_Action (Table.States (1056), 97, (333, 1), 129);
-            Add_Action (Table.States (1056), 98, (333, 0), 130);
-            Add_Action (Table.States (1056), 106, (261, 0), 131);
-            Add_Action (Table.States (1056), 107, (242, 5), 120);
-            Add_Action (Table.States (1056), 108, (242, 7), 34);
-            Add_Action (Table.States (1056), 109, (242, 6), 35);
-            Table.States (1056).Goto_List.Set_Capacity (11);
-            Add_Goto (Table.States (1056), 120, 132);
-            Add_Goto (Table.States (1056), 131, 42);
-            Add_Goto (Table.States (1056), 200, 135);
-            Add_Goto (Table.States (1056), 242, 136);
-            Add_Goto (Table.States (1056), 261, 137);
-            Add_Goto (Table.States (1056), 275, 93);
-            Add_Goto (Table.States (1056), 296, 98);
-            Add_Goto (Table.States (1056), 304, 1159);
-            Add_Goto (Table.States (1056), 323, 146);
-            Add_Goto (Table.States (1056), 324, 147);
-            Add_Goto (Table.States (1056), 333, 148);
-            Table.States (1056).Kernel := To_Vector ((0 => ((282, 0),  53,  3, 
(2147483647, 0),  0)));
-            Table.States (1056).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (261, 0),  106, 131)));
-            Table.States (1057).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1057), (74, 99), (329, 5),  3, null, 
null);
-            Table.States (1057).Kernel := To_Vector ((0 => ((329, 5),  282,  
0, (329, 5),  3)));
-            Table.States (1057).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (329, 5),  3)));
-            Table.States (1058).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1058), (74, 99), (329, 3),  3, null, 
null);
-            Table.States (1058).Kernel := To_Vector ((0 => ((329, 3),  282,  
0, (329, 3),  3)));
-            Table.States (1058).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (329, 3),  3)));
-            Table.States (1059).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (1059), 81, (242, 8), 31);
-            Add_Action (Table.States (1059), 107, (242, 5), 120);
-            Add_Action (Table.States (1059), 108, (242, 7), 34);
-            Add_Action (Table.States (1059), 109, (242, 6), 35);
-            Table.States (1059).Goto_List.Set_Capacity (5);
-            Add_Goto (Table.States (1059), 131, 42);
-            Add_Goto (Table.States (1059), 230, 1160);
-            Add_Goto (Table.States (1059), 242, 859);
-            Add_Goto (Table.States (1059), 275, 93);
-            Add_Goto (Table.States (1059), 296, 98);
-            Table.States (1059).Kernel := To_Vector ((0 => ((231, 0),  10,  1, 
(2147483647, 0),  0)));
-            Table.States (1059).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (1060).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (1060), 81, (242, 8), 31);
-            Add_Action (Table.States (1060), 107, (242, 5), 120);
-            Add_Action (Table.States (1060), 108, (242, 7), 34);
-            Add_Action (Table.States (1060), 109, (242, 6), 35);
-            Table.States (1060).Goto_List.Set_Capacity (5);
-            Add_Goto (Table.States (1060), 131, 42);
-            Add_Goto (Table.States (1060), 230, 1161);
-            Add_Goto (Table.States (1060), 242, 859);
-            Add_Goto (Table.States (1060), 275, 93);
-            Add_Goto (Table.States (1060), 296, 98);
-            Table.States (1060).Kernel := To_Vector ((0 => ((231, 2),  10,  1, 
(2147483647, 0),  0)));
-            Table.States (1060).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (1061).Action_List.Set_Capacity (13);
-            Add_Action (Table.States (1061), 3, (200, 2), 122);
-            Add_Action (Table.States (1061), 39, (261, 4), 123);
-            Add_Action (Table.States (1061), 40, (200, 3), 124);
-            Add_Action (Table.States (1061), 41, (261, 1), 125);
-            Add_Action (Table.States (1061), 76, (120, 0), 127);
-            Add_Action (Table.States (1061), 77, (120, 5), 128);
-            Add_Action (Table.States (1061), 81, (242, 8), 31);
-            Add_Action (Table.States (1061), 97, (333, 1), 129);
-            Add_Action (Table.States (1061), 98, (333, 0), 130);
-            Add_Action (Table.States (1061), 106, (261, 0), 131);
-            Add_Action (Table.States (1061), 107, (242, 5), 120);
-            Add_Action (Table.States (1061), 108, (242, 7), 34);
-            Add_Action (Table.States (1061), 109, (242, 6), 35);
-            Table.States (1061).Goto_List.Set_Capacity (11);
-            Add_Goto (Table.States (1061), 120, 132);
-            Add_Goto (Table.States (1061), 131, 42);
-            Add_Goto (Table.States (1061), 200, 135);
-            Add_Goto (Table.States (1061), 242, 136);
-            Add_Goto (Table.States (1061), 261, 137);
-            Add_Goto (Table.States (1061), 275, 93);
-            Add_Goto (Table.States (1061), 296, 98);
-            Add_Goto (Table.States (1061), 304, 1162);
-            Add_Goto (Table.States (1061), 323, 146);
-            Add_Goto (Table.States (1061), 324, 147);
-            Add_Goto (Table.States (1061), 333, 148);
-            Table.States (1061).Kernel := To_Vector ((0 => ((329, 1),  88,  1, 
(2147483647, 0),  0)));
-            Table.States (1061).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (261, 0),  106, 131)));
-            Table.States (1062).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1062), (1 =>  35), (166, 0),  1, null, 
null);
-            Table.States (1062).Kernel := To_Vector ((0 => ((166, 0),  107,  
0, (166, 0),  1)));
-            Table.States (1062).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (166, 0),  1)));
-            Table.States (1063).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1063), (1 =>  35), (166, 1),  1, null, 
null);
-            Table.States (1063).Kernel := To_Vector ((0 => ((166, 1),  108,  
0, (166, 1),  1)));
-            Table.States (1063).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (166, 1),  1)));
-            Table.States (1064).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1064), (1 =>  35), (167, 0),  1, null, 
null);
-            Table.States (1064).Kernel := To_Vector ((0 => ((167, 0),  166,  
0, (167, 0),  1)));
-            Table.States (1064).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (167, 0),  1)));
-            Table.States (1065).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1065), 35, (330, 0), 1163);
-            Table.States (1065).Kernel := To_Vector ((0 => ((330, 0),  167,  
6, (2147483647, 0),  0)));
-            Table.States (1065).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (330, 0),  35, 1163)));
-            Table.States (1066).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (1066), (15, 24, 28, 72, 107), (152, 4),  
2, component_list_4'Access, null);
-            Table.States (1066).Kernel := To_Vector ((0 => ((152, 4),  99,  0, 
(152, 4),  2)));
-            Table.States (1066).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (152, 4),  2)));
-            Table.States (1067).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (1067), (15, 24, 28, 72, 107), (152, 0),  
2, null, null);
-            Table.States (1067).Kernel := To_Vector ((0 => ((152, 0),  151,  
0, (152, 0),  2)));
-            Table.States (1067).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (152, 0),  2)));
-            Table.States (1068).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (1068), (15, 24, 28, 72, 107), (152, 1),  
2, null, null);
-            Table.States (1068).Kernel := To_Vector ((0 => ((152, 1),  330,  
0, (152, 1),  2)));
-            Table.States (1068).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (152, 1),  2)));
-            Table.States (1069).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1069), 54, (283, 0), 1164);
-            Table.States (1069).Kernel := To_Vector ((0 => ((283, 0),  24,  1, 
(2147483647, 0),  0)));
-            Table.States (1069).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (283, 0),  54, 1164)));
-            Table.States (1070).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (1070), 7, Reduce, (244, 1),  0, null, 
null);
-            Add_Action (Table.States (1070), 8, (150, 0), 1165);
-            Add_Action (Table.States (1070), 40, (244, 0), 756);
-            Add_Action (Table.States (1070), 81, (242, 8), 31);
-            Add_Action (Table.States (1070), 107, (242, 5), 120);
-            Add_Action (Table.States (1070), 108, (242, 7), 34);
-            Add_Action (Table.States (1070), 109, (242, 6), 35);
-            Table.States (1070).Goto_List.Set_Capacity (8);
-            Add_Goto (Table.States (1070), 117, 1166);
-            Add_Goto (Table.States (1070), 131, 42);
-            Add_Goto (Table.States (1070), 150, 1167);
-            Add_Goto (Table.States (1070), 242, 491);
-            Add_Goto (Table.States (1070), 244, 735);
-            Add_Goto (Table.States (1070), 275, 93);
-            Add_Goto (Table.States (1070), 296, 98);
-            Add_Goto (Table.States (1070), 317, 1168);
-            Table.States (1070).Kernel := To_Vector ((((149, 0),  84,  3, 
(2147483647, 0),  0), ((149, 1),  84,  2,
-            (2147483647, 0),  0)));
-            Table.States (1070).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-         end Subr_19;
-         procedure Subr_20
-         is begin
-            Table.States (1071).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (1071), 81, (242, 8), 31);
-            Add_Action (Table.States (1071), 107, (242, 5), 120);
-            Add_Action (Table.States (1071), 108, (242, 7), 34);
-            Add_Action (Table.States (1071), 109, (242, 6), 35);
-            Table.States (1071).Goto_List.Set_Capacity (5);
-            Add_Goto (Table.States (1071), 131, 42);
-            Add_Goto (Table.States (1071), 230, 1169);
-            Add_Goto (Table.States (1071), 242, 859);
-            Add_Goto (Table.States (1071), 275, 93);
-            Add_Goto (Table.States (1071), 296, 98);
-            Table.States (1071).Kernel := To_Vector ((0 => ((231, 3),  10,  1, 
(2147483647, 0),  0)));
-            Table.States (1071).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (1072).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (1072), 81, (242, 8), 31);
-            Add_Action (Table.States (1072), 107, (242, 5), 120);
-            Add_Action (Table.States (1072), 108, (242, 7), 34);
-            Add_Action (Table.States (1072), 109, (242, 6), 35);
-            Table.States (1072).Goto_List.Set_Capacity (5);
-            Add_Goto (Table.States (1072), 131, 42);
-            Add_Goto (Table.States (1072), 230, 1170);
-            Add_Goto (Table.States (1072), 242, 859);
-            Add_Goto (Table.States (1072), 275, 93);
-            Add_Goto (Table.States (1072), 296, 98);
-            Table.States (1072).Kernel := To_Vector ((0 => ((231, 1),  10,  1, 
(2147483647, 0),  0)));
-            Table.States (1072).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (1073).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1073), (74, 99), (186, 0),  3, 
enumeration_type_definition_0'Access, null);
-            Table.States (1073).Kernel := To_Vector ((0 => ((186, 0),  78,  0, 
(186, 0),  3)));
-            Table.States (1073).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (186, 0),  3)));
-            Table.States (1074).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1074), 107, (183, 0), 916);
-            Add_Action (Table.States (1074), 109, (183, 1), 917);
-            Table.States (1074).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (1074), 183, 1171);
-            Table.States (1074).Kernel := To_Vector ((0 => ((184, 0),  86,  1, 
(2147483647, 0),  0)));
-            Table.States (1074).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (183, 0),  107, 916)));
-            Table.States (1075).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1075), 10, (122, 0), 1172);
-            Add_Action (Table.States (1075), 74, Reduce, (122, 1),  0, null, 
null);
-            Table.States (1075).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (1075), 122, 1173);
-            Table.States (1075).Kernel := To_Vector ((0 => ((262, 0),  317,  
3, (2147483647, 0),  0)));
-            Table.States (1075).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (122, 1),  0)));
-            Table.States (1076).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (1076), 10, (122, 0), 1172);
-            Add_Action (Table.States (1076), 53, (158, 0), 632);
-            Add_Action (Table.States (1076), 74, Reduce, (122, 1),  0, null, 
null);
-            Add_Conflict (Table.States (1076), 74, (159, 1),  0, null, null);
-            Add_Action (Table.States (1076), 76, (118, 0), 633);
-            Add_Action (Table.States (1076), 87, (296, 0), 239);
-            Add_Action (Table.States (1076), 99, Reduce, (159, 1),  0, null, 
null);
-            Add_Action (Table.States (1076), 104, (325, 0), 241);
-            Add_Action (Table.States (1076), 105, (325, 1), 242);
-            Table.States (1076).Goto_List.Set_Capacity (6);
-            Add_Goto (Table.States (1076), 118, 243);
-            Add_Goto (Table.States (1076), 122, 1174);
-            Add_Goto (Table.States (1076), 158, 1175);
-            Add_Goto (Table.States (1076), 159, 1176);
-            Add_Goto (Table.States (1076), 227, 635);
-            Add_Goto (Table.States (1076), 325, 244);
-            Table.States (1076).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((165, 0),  242,  3,
-            (2147483647, 0),  0), ((165, 1),  242,  0, (159, 1),  0), ((242, 
0),  242,  5, (2147483647, 0),  0), ((242,
-            1),  242,  2, (2147483647, 0),  0), ((275, 0),  242,  3, 
(2147483647, 0),  0), ((296, 0),  242,  2,
-            (2147483647, 0),  0), ((296, 1),  242,  2, (2147483647, 0),  0), 
((296, 2),  242,  2, (2147483647, 0),  0),
-            ((296, 3),  242,  2, (2147483647, 0),  0)));
-            Table.States (1076).Minimal_Complete_Actions := To_Vector 
(((Reduce, (122, 1),  0), (Reduce, (159, 1),
-            0)));
-            Table.States (1077).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1077), 99, (263, 0), 1177);
-            Table.States (1077).Kernel := To_Vector ((0 => ((263, 0),  125,  
1, (2147483647, 0),  0)));
-            Table.States (1077).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (263, 0),  99, 1177)));
-            Table.States (1078).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (1078), (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, 
81, 96, 107, 108, 109, 110), (209, 0),  7,
-            full_type_declaration_0'Access, null);
-            Table.States (1078).Kernel := To_Vector ((0 => ((209, 0),  99,  0, 
(209, 0),  7)));
-            Table.States (1078).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (209, 0),  7)));
-            Table.States (1079).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (1079), (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, 
81, 96, 107, 108, 109, 110), (248, 2),  7,
-            object_renaming_declaration_2'Access, null);
-            Table.States (1079).Kernel := To_Vector ((0 => ((248, 2),  99,  0, 
(248, 2),  7)));
-            Table.States (1079).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (248, 2),  7)));
-            Table.States (1080).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (1080), (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, 
81, 96, 107, 108, 109, 110), (248, 1),  7,
-            object_renaming_declaration_1'Access, null);
-            Table.States (1080).Kernel := To_Vector ((0 => ((248, 1),  99,  0, 
(248, 1),  7)));
-            Table.States (1080).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (248, 1),  7)));
-            Table.States (1081).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (1081), (21, 35, 56, 74, 78, 85, 99), 
(117, 1),  5, access_definition_1'Access,
-            null);
-            Table.States (1081).Kernel := To_Vector ((0 => ((117, 1),  255,  
0, (117, 1),  5)));
-            Table.States (1081).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (117, 1),  5)));
-            Table.States (1082).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (1082), (21, 35, 56, 74, 78, 85, 99), 
(117, 0),  5, access_definition_0'Access,
-            null);
-            Table.States (1082).Kernel := To_Vector ((0 => ((117, 0),  256,  
0, (117, 0),  5)));
-            Table.States (1082).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (117, 0),  5)));
-            Table.States (1083).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1083), 99, (248, 0), 1178);
-            Table.States (1083).Kernel := To_Vector ((0 => ((248, 0),  125,  
1, (2147483647, 0),  0)));
-            Table.States (1083).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (248, 0),  99, 1178)));
-            Table.States (1084).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (1084), 44, (187, 1), 932);
-            Add_Action (Table.States (1084), 81, (242, 8), 31);
-            Add_Action (Table.States (1084), 107, (242, 5), 120);
-            Add_Action (Table.States (1084), 108, (242, 7), 34);
-            Add_Action (Table.States (1084), 109, (242, 6), 35);
-            Table.States (1084).Goto_List.Set_Capacity (6);
-            Add_Goto (Table.States (1084), 131, 42);
-            Add_Goto (Table.States (1084), 187, 934);
-            Add_Goto (Table.States (1084), 188, 1179);
-            Add_Goto (Table.States (1084), 242, 936);
-            Add_Goto (Table.States (1084), 275, 93);
-            Add_Goto (Table.States (1084), 296, 98);
-            Table.States (1084).Kernel := To_Vector ((0 => ((190, 0),  84,  2, 
(2147483647, 0),  0)));
-            Table.States (1084).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (1085).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (1085), 44, (187, 1), 932);
-            Add_Action (Table.States (1085), 81, (242, 8), 31);
-            Add_Action (Table.States (1085), 107, (242, 5), 120);
-            Add_Action (Table.States (1085), 108, (242, 7), 34);
-            Add_Action (Table.States (1085), 109, (242, 6), 35);
-            Table.States (1085).Goto_List.Set_Capacity (5);
-            Add_Goto (Table.States (1085), 131, 42);
-            Add_Goto (Table.States (1085), 187, 1180);
-            Add_Goto (Table.States (1085), 242, 936);
-            Add_Goto (Table.States (1085), 275, 93);
-            Add_Goto (Table.States (1085), 296, 98);
-            Table.States (1085).Kernel := To_Vector ((0 => ((188, 0),  82,  1, 
(2147483647, 0),  0)));
-            Table.States (1085).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (1086).Action_List.Set_Capacity (25);
-            Add_Action (Table.States (1086), 4, (116, 0), 1);
-            Add_Action (Table.States (1086), 5, (306, 8), 2);
-            Add_Action (Table.States (1086), 13, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (1086), 15, (142, 0), 3);
-            Add_Action (Table.States (1086), 17, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (1086), 18, (164, 0), 4);
-            Add_Action (Table.States (1086), 24, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (1086), 27, (193, 0), 5);
-            Add_Action (Table.States (1086), 28, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (1086), 31, (306, 3), 9);
-            Add_Action (Table.States (1086), 32, (225, 0), 10);
-            Add_Action (Table.States (1086), 37, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (1086), 41, (306, 0), 13);
-            Add_Action (Table.States (1086), 48, (260, 0), 16);
-            Add_Action (Table.States (1086), 52, (279, 0), 20);
-            Add_Action (Table.States (1086), 57, (293, 0), 21);
-            Add_Action (Table.States (1086), 58, (199, 0), 22);
-            Add_Action (Table.States (1086), 61, (129, 0), 24);
-            Add_Action (Table.States (1086), 72, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (1086), 73, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (1086), 81, (242, 8), 31);
-            Add_Action (Table.States (1086), 96, (220, 0), 32);
-            Add_Action (Table.States (1086), 107, (134, 0), 363);
-            Add_Action (Table.States (1086), 108, (242, 7), 34);
-            Add_Action (Table.States (1086), 109, (242, 6), 35);
-            Table.States (1086).Goto_List.Set_Capacity (31);
-            Add_Goto (Table.States (1086), 116, 37);
-            Add_Goto (Table.States (1086), 126, 39);
-            Add_Goto (Table.States (1086), 129, 40);
-            Add_Goto (Table.States (1086), 131, 42);
-            Add_Goto (Table.States (1086), 134, 43);
-            Add_Goto (Table.States (1086), 135, 44);
-            Add_Goto (Table.States (1086), 136, 45);
-            Add_Goto (Table.States (1086), 142, 48);
-            Add_Goto (Table.States (1086), 154, 51);
-            Add_Goto (Table.States (1086), 155, 52);
-            Add_Goto (Table.States (1086), 164, 54);
-            Add_Goto (Table.States (1086), 193, 58);
-            Add_Goto (Table.States (1086), 199, 60);
-            Add_Goto (Table.States (1086), 220, 69);
-            Add_Goto (Table.States (1086), 225, 71);
-            Add_Goto (Table.States (1086), 235, 73);
-            Add_Goto (Table.States (1086), 242, 74);
-            Add_Goto (Table.States (1086), 260, 84);
-            Add_Goto (Table.States (1086), 264, 87);
-            Add_Goto (Table.States (1086), 275, 93);
-            Add_Goto (Table.States (1086), 279, 94);
-            Add_Goto (Table.States (1086), 293, 97);
-            Add_Goto (Table.States (1086), 296, 98);
-            Add_Goto (Table.States (1086), 297, 99);
-            Add_Goto (Table.States (1086), 301, 100);
-            Add_Goto (Table.States (1086), 302, 364);
-            Add_Goto (Table.States (1086), 303, 1181);
-            Add_Goto (Table.States (1086), 305, 101);
-            Add_Goto (Table.States (1086), 306, 102);
-            Add_Goto (Table.States (1086), 309, 366);
-            Add_Goto (Table.States (1086), 326, 115);
-            Table.States (1086).Kernel := To_Vector ((0 => ((190, 1),  90,  0, 
(303, 1),  0)));
-            Table.States (1086).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (303, 1),  0)));
-            Table.States (1087).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1087), 99, (136, 0), 1182);
-            Table.States (1087).Kernel := To_Vector ((0 => ((136, 0),  223,  
1, (2147483647, 0),  0)));
-            Table.States (1087).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (136, 0),  99, 1182)));
-            Table.States (1088).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (1088), (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, 81, 96, 107, 108,
-            109, 110), (235, 1),  7, loop_statement_1'Access, 
loop_statement_1_check'Access);
-            Table.States (1088).Kernel := To_Vector ((0 => ((235, 1),  99,  0, 
(235, 1),  7)));
-            Table.States (1088).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (235, 1),  7)));
-            Table.States (1089).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1089), 99, (235, 0), 1183);
-            Table.States (1089).Kernel := To_Vector ((0 => ((235, 0),  223,  
1, (2147483647, 0),  0)));
-            Table.States (1089).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (235, 0),  99, 1183)));
-            Table.States (1090).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1090), 74, (125, 0), 340);
-            Add_Action (Table.States (1090), 99, Reduce, (125, 1),  0, null, 
null);
-            Table.States (1090).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (1090), 125, 1184);
-            Table.States (1090).Kernel := To_Vector ((0 => ((247, 1),  195,  
1, (2147483647, 0),  0)));
-            Table.States (1090).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (1091).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (1091), (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, 
81, 96, 107, 108, 109, 110), (247, 4),  7,
-            object_declaration_4'Access, null);
-            Table.States (1091).Kernel := To_Vector ((0 => ((247, 4),  99,  0, 
(247, 4),  7)));
-            Table.States (1091).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (247, 4),  7)));
-            Table.States (1092).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1092), 74, (125, 0), 340);
-            Add_Action (Table.States (1092), 99, Reduce, (125, 1),  0, null, 
null);
-            Table.States (1092).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (1092), 125, 1185);
-            Table.States (1092).Kernel := To_Vector ((0 => ((247, 2),  195,  
1, (2147483647, 0),  0)));
-            Table.States (1092).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (1093).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (1093), (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, 
81, 96, 107, 108, 109, 110), (247, 5),  7,
-            object_declaration_5'Access, null);
-            Table.States (1093).Kernel := To_Vector ((0 => ((247, 5),  99,  0, 
(247, 5),  7)));
-            Table.States (1093).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (247, 5),  7)));
-            Table.States (1094).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1094), 74, (125, 0), 340);
-            Add_Action (Table.States (1094), 99, Reduce, (125, 1),  0, null, 
null);
-            Table.States (1094).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (1094), 125, 1186);
-            Table.States (1094).Kernel := To_Vector ((0 => ((247, 0),  195,  
1, (2147483647, 0),  0)));
-            Table.States (1094).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (1095).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (1095), (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, 
81, 96, 107, 108, 109, 110), (247, 3),  7,
-            object_declaration_3'Access, null);
-            Table.States (1095).Kernel := To_Vector ((0 => ((247, 3),  99,  0, 
(247, 3),  7)));
-            Table.States (1095).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (247, 3),  7)));
-            Table.States (1096).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1096), 74, (125, 0), 340);
-            Add_Action (Table.States (1096), 99, Reduce, (125, 1),  0, null, 
null);
-            Table.States (1096).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (1096), 125, 1187);
-            Table.States (1096).Kernel := To_Vector ((0 => ((182, 0),  256,  
1, (2147483647, 0),  0)));
-            Table.States (1096).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (1097).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1097), 99, (216, 2), 1188);
-            Table.States (1097).Kernel := To_Vector ((0 => ((216, 2),  125,  
1, (2147483647, 0),  0)));
-            Table.States (1097).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (216, 2),  99, 1188)));
-            Table.States (1098).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1098), 99, (216, 1), 1189);
-            Table.States (1098).Kernel := To_Vector ((0 => ((216, 1),  125,  
1, (2147483647, 0),  0)));
-            Table.States (1098).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (216, 1),  99, 1189)));
-            Table.States (1099).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1099), 24, (310, 0), 1190);
-            Table.States (1099).Kernel := To_Vector ((0 => ((310, 0),  221,  
2, (2147483647, 0),  0)));
-            Table.States (1099).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (310, 0),  24, 1190)));
-            Table.States (1100).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1100), 99, (116, 0), 1191);
-            Table.States (1100).Kernel := To_Vector ((0 => ((116, 0),  223,  
1, (2147483647, 0),  0)));
-            Table.States (1100).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (116, 0),  99, 1191)));
-            Table.States (1101).Action_List.Set_Capacity (16);
-            Add_Action (Table.States (1101), 3, (200, 2), 122);
-            Add_Action (Table.States (1101), 39, (261, 4), 123);
-            Add_Action (Table.States (1101), 40, (200, 3), 124);
-            Add_Action (Table.States (1101), 41, (261, 1), 125);
-            Add_Action (Table.States (1101), 52, (278, 0), 126);
-            Add_Action (Table.States (1101), 76, (120, 0), 127);
-            Add_Action (Table.States (1101), 77, (120, 5), 128);
-            Add_Action (Table.States (1101), 78, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (1101), 81, (242, 8), 31);
-            Add_Action (Table.States (1101), 86, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (1101), 97, (333, 1), 129);
-            Add_Action (Table.States (1101), 98, (333, 0), 130);
-            Add_Action (Table.States (1101), 106, (261, 0), 131);
-            Add_Action (Table.States (1101), 107, (242, 5), 120);
-            Add_Action (Table.States (1101), 108, (242, 7), 34);
-            Add_Action (Table.States (1101), 109, (242, 6), 35);
-            Table.States (1101).Goto_List.Set_Capacity (20);
-            Add_Goto (Table.States (1101), 120, 132);
-            Add_Goto (Table.States (1101), 131, 42);
-            Add_Goto (Table.States (1101), 194, 133);
-            Add_Goto (Table.States (1101), 195, 1192);
-            Add_Goto (Table.States (1101), 200, 135);
-            Add_Goto (Table.States (1101), 242, 136);
-            Add_Goto (Table.States (1101), 261, 137);
-            Add_Goto (Table.States (1101), 275, 93);
-            Add_Goto (Table.States (1101), 278, 138);
-            Add_Goto (Table.States (1101), 285, 139);
-            Add_Goto (Table.States (1101), 286, 140);
-            Add_Goto (Table.States (1101), 287, 141);
-            Add_Goto (Table.States (1101), 288, 142);
-            Add_Goto (Table.States (1101), 289, 143);
-            Add_Goto (Table.States (1101), 290, 144);
-            Add_Goto (Table.States (1101), 296, 98);
-            Add_Goto (Table.States (1101), 304, 145);
-            Add_Goto (Table.States (1101), 323, 146);
-            Add_Goto (Table.States (1101), 324, 147);
-            Add_Goto (Table.States (1101), 333, 148);
-            Table.States (1101).Kernel := To_Vector ((0 => ((140, 0),  90,  0, 
(195, 1),  0)));
-            Table.States (1101).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (195, 1),  0)));
-            Table.States (1102).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1102), (78, 86), (141, 0),  3, 
case_expression_alternative_list_0'Access, null);
-            Table.States (1102).Kernel := To_Vector ((0 => ((141, 0),  140,  
0, (141, 0),  3)));
-            Table.States (1102).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (141, 0),  3)));
-            Table.States (1103).Action_List.Set_Capacity (9);
-            Add_Action (Table.States (1103), 53, (158, 0), 632);
-            Add_Action (Table.States (1103), 76, (118, 0), 633);
-            Add_Action (Table.States (1103), 78, Reduce, (317, 1),  3, 
subtype_indication_1'Access, null);
-            Add_Action (Table.States (1103), 82, Reduce, (168, 1),  3, null, 
null);
-            Add_Action (Table.States (1103), 86, Reduce, (317, 1),  3, 
subtype_indication_1'Access, null);
-            Add_Action (Table.States (1103), 87, (296, 0), 239);
-            Add_Action (Table.States (1103), 90, Reduce, (168, 1),  3, null, 
null);
-            Add_Conflict (Table.States (1103), 90, (317, 1),  3, 
subtype_indication_1'Access, null);
-            Add_Action (Table.States (1103), 104, (325, 0), 241);
-            Add_Action (Table.States (1103), 105, (325, 1), 242);
-            Table.States (1103).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (1103), 118, 243);
-            Add_Goto (Table.States (1103), 158, 977);
-            Add_Goto (Table.States (1103), 227, 635);
-            Add_Goto (Table.States (1103), 325, 244);
-            Table.States (1103).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((168, 1),  242,  0,
-            (168, 1),  3), ((242, 0),  242,  5, (2147483647, 0),  0), ((242, 
1),  242,  2, (2147483647, 0),  0), ((275,
-            0),  242,  3, (2147483647, 0),  0), ((296, 0),  242,  2, 
(2147483647, 0),  0), ((296, 1),  242,  2,
-            (2147483647, 0),  0), ((296, 2),  242,  2, (2147483647, 0),  0), 
((296, 3),  242,  2, (2147483647, 0),  0),
-            ((317, 0),  242,  4, (2147483647, 0),  0), ((317, 1),  242,  0, 
(317, 1),  3)));
-            Table.States (1103).Minimal_Complete_Actions := To_Vector 
(((Reduce, (168, 1),  3), (Shift, (158, 0),  53,
-            632), (Reduce, (317, 1),  3)));
-            Table.States (1104).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (1104), (35, 78, 79, 86, 99), (127, 6),  
6, association_opt_6'Access, null);
-            Table.States (1104).Kernel := To_Vector ((0 => ((127, 6),  194,  
0, (127, 6),  6)));
-            Table.States (1104).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (127, 6),  6)));
-            Table.States (1105).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1105), (1 =>  78), (224, 1),  6, 
if_expression_1'Access, null);
-            Table.States (1105).Kernel := To_Vector ((0 => ((224, 1),  195,  
0, (224, 1),  6)));
-            Table.States (1105).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (224, 1),  6)));
-            Table.States (1106).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1106), 68, (175, 0), 1193);
-            Table.States (1106).Kernel := To_Vector ((0 => ((175, 0),  195,  
1, (2147483647, 0),  0)));
-            Table.States (1106).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (175, 0),  68, 1193)));
-            Table.States (1107).Action_List.Set_Capacity (15);
-            Add_Action (Table.States (1107), 3, (200, 2), 122);
-            Add_Action (Table.States (1107), 39, (261, 4), 123);
-            Add_Action (Table.States (1107), 40, (200, 3), 124);
-            Add_Action (Table.States (1107), 41, (261, 1), 125);
-            Add_Action (Table.States (1107), 52, (278, 0), 126);
-            Add_Action (Table.States (1107), 76, (120, 0), 127);
-            Add_Action (Table.States (1107), 77, (120, 5), 128);
-            Add_Action (Table.States (1107), 78, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (1107), 81, (242, 8), 31);
-            Add_Action (Table.States (1107), 97, (333, 1), 129);
-            Add_Action (Table.States (1107), 98, (333, 0), 130);
-            Add_Action (Table.States (1107), 106, (261, 0), 131);
-            Add_Action (Table.States (1107), 107, (242, 5), 120);
-            Add_Action (Table.States (1107), 108, (242, 7), 34);
-            Add_Action (Table.States (1107), 109, (242, 6), 35);
-            Table.States (1107).Goto_List.Set_Capacity (20);
-            Add_Goto (Table.States (1107), 120, 132);
-            Add_Goto (Table.States (1107), 131, 42);
-            Add_Goto (Table.States (1107), 194, 133);
-            Add_Goto (Table.States (1107), 195, 1194);
-            Add_Goto (Table.States (1107), 200, 135);
-            Add_Goto (Table.States (1107), 242, 136);
-            Add_Goto (Table.States (1107), 261, 137);
-            Add_Goto (Table.States (1107), 275, 93);
-            Add_Goto (Table.States (1107), 278, 138);
-            Add_Goto (Table.States (1107), 285, 139);
-            Add_Goto (Table.States (1107), 286, 140);
-            Add_Goto (Table.States (1107), 287, 141);
-            Add_Goto (Table.States (1107), 288, 142);
-            Add_Goto (Table.States (1107), 289, 143);
-            Add_Goto (Table.States (1107), 290, 144);
-            Add_Goto (Table.States (1107), 296, 98);
-            Add_Goto (Table.States (1107), 304, 145);
-            Add_Goto (Table.States (1107), 323, 146);
-            Add_Goto (Table.States (1107), 324, 147);
-            Add_Goto (Table.States (1107), 333, 148);
-            Table.States (1107).Kernel := To_Vector ((0 => ((224, 0),  22,  0, 
(195, 1),  0)));
-            Table.States (1107).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (195, 1),  0)));
-            Table.States (1108).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (1108), (22, 23, 78), (176, 0),  2, 
elsif_expression_list_0'Access, null);
-            Table.States (1108).Kernel := To_Vector ((0 => ((176, 0),  175,  
0, (176, 0),  2)));
-            Table.States (1108).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (176, 0),  2)));
-            Table.States (1109).Action_List.Set_Capacity (20);
-            Add_Action (Table.States (1109), (10, 20, 21, 22, 23, 35, 37, 42, 
43, 53, 68, 74, 75, 78, 79, 82, 85, 86,
-            90, 99), (280, 0),  6, range_g_0'Access, null);
-            Table.States (1109).Kernel := To_Vector ((0 => ((280, 0),  78,  0, 
(280, 0),  6)));
-            Table.States (1109).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (280, 0),  6)));
-            Table.States (1110).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1110), (78, 86), (171, 0),  3, null, 
null);
-            Table.States (1110).Kernel := To_Vector ((0 => ((171, 0),  170,  
0, (171, 0),  3)));
-            Table.States (1110).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (171, 0),  3)));
-            Table.States (1111).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1111), (1 =>  107), (238, 0),  4, null, 
null);
-            Table.States (1111).Kernel := To_Vector ((0 => ((238, 0),  99,  0, 
(238, 0),  4)));
-            Table.States (1111).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (238, 0),  4)));
-            Table.States (1112).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1112), 53, (147, 0), 1195);
-            Table.States (1112).Kernel := To_Vector ((0 => ((147, 0),  304,  
5, (2147483647, 0),  0)));
-            Table.States (1112).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (147, 0),  53, 1195)));
-            Table.States (1113).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1113), 99, (284, 0), 1196);
-            Table.States (1113).Kernel := To_Vector ((0 => ((284, 0),  54,  1, 
(2147483647, 0),  0)));
-            Table.States (1113).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (284, 0),  99, 1196)));
-            Table.States (1114).Action_List.Set_Capacity (16);
-            Add_Action (Table.States (1114), 3, (200, 2), 122);
-            Add_Action (Table.States (1114), 39, (261, 4), 123);
-            Add_Action (Table.States (1114), 40, (200, 3), 124);
-            Add_Action (Table.States (1114), 41, (261, 1), 125);
-            Add_Action (Table.States (1114), 52, (278, 0), 126);
-            Add_Action (Table.States (1114), 76, (120, 0), 127);
-            Add_Action (Table.States (1114), 77, (120, 5), 128);
-            Add_Action (Table.States (1114), 78, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (1114), 81, (242, 8), 31);
-            Add_Action (Table.States (1114), 97, (333, 1), 129);
-            Add_Action (Table.States (1114), 98, (333, 0), 130);
-            Add_Action (Table.States (1114), 99, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (1114), 106, (261, 0), 131);
-            Add_Action (Table.States (1114), 107, (242, 5), 120);
-            Add_Action (Table.States (1114), 108, (242, 7), 34);
-            Add_Action (Table.States (1114), 109, (242, 6), 35);
-            Table.States (1114).Goto_List.Set_Capacity (20);
-            Add_Goto (Table.States (1114), 120, 132);
-            Add_Goto (Table.States (1114), 131, 42);
-            Add_Goto (Table.States (1114), 194, 133);
-            Add_Goto (Table.States (1114), 195, 1197);
-            Add_Goto (Table.States (1114), 200, 135);
-            Add_Goto (Table.States (1114), 242, 136);
-            Add_Goto (Table.States (1114), 261, 137);
-            Add_Goto (Table.States (1114), 275, 93);
-            Add_Goto (Table.States (1114), 278, 138);
-            Add_Goto (Table.States (1114), 285, 139);
-            Add_Goto (Table.States (1114), 286, 140);
-            Add_Goto (Table.States (1114), 287, 141);
-            Add_Goto (Table.States (1114), 288, 142);
-            Add_Goto (Table.States (1114), 289, 143);
-            Add_Goto (Table.States (1114), 290, 144);
-            Add_Goto (Table.States (1114), 296, 98);
-            Add_Goto (Table.States (1114), 304, 145);
-            Add_Goto (Table.States (1114), 323, 146);
-            Add_Goto (Table.States (1114), 324, 147);
-            Add_Goto (Table.States (1114), 333, 148);
-            Table.States (1114).Kernel := To_Vector ((0 => ((257, 2),  85,  0, 
(195, 1),  0)));
-            Table.States (1114).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (195, 1),  0)));
-            Table.States (1115).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (1115), 81, (242, 8), 31);
-            Add_Action (Table.States (1115), 107, (242, 5), 120);
-            Add_Action (Table.States (1115), 108, (242, 7), 34);
-            Add_Action (Table.States (1115), 109, (242, 6), 35);
-            Table.States (1115).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (1115), 131, 42);
-            Add_Goto (Table.States (1115), 242, 1198);
-            Add_Goto (Table.States (1115), 275, 93);
-            Add_Goto (Table.States (1115), 296, 98);
-            Table.States (1115).Kernel := To_Vector ((((257, 0),  244,  2, 
(2147483647, 0),  0), ((257, 1),  244,  1,
-            (2147483647, 0),  0)));
-            Table.States (1115).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (1116).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1116), 83, (205, 6), 1199);
-            Table.States (1116).Kernel := To_Vector ((0 => ((205, 6),  20,  1, 
(2147483647, 0),  0)));
-            Table.States (1116).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (205, 6),  83, 1199)));
-            Table.States (1117).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (1117), (29, 47, 48, 50, 69, 71, 74, 
107), (204, 1),  7,
-            formal_type_declaration_1'Access, null);
-            Table.States (1117).Kernel := To_Vector ((0 => ((204, 1),  99,  0, 
(204, 1),  7)));
-            Table.States (1117).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (204, 1),  7)));
-            Table.States (1118).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1118), (74, 99), (205, 2),  3, null, 
null);
-            Table.States (1118).Kernel := To_Vector ((0 => ((205, 2),  78,  0, 
(205, 2),  3)));
-            Table.States (1118).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (205, 2),  3)));
-            Table.States (1119).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (1119), 10, (122, 0), 1172);
-            Add_Action (Table.States (1119), 74, Reduce, (122, 1),  0, null, 
null);
-            Add_Action (Table.States (1119), 76, (118, 0), 237);
-            Add_Action (Table.States (1119), 87, (296, 0), 239);
-            Add_Action (Table.States (1119), 99, Reduce, (122, 1),  0, null, 
null);
-            Add_Action (Table.States (1119), 104, (325, 0), 241);
-            Add_Action (Table.States (1119), 105, (325, 1), 242);
-            Table.States (1119).Goto_List.Set_Capacity (3);
-            Add_Goto (Table.States (1119), 118, 243);
-            Add_Goto (Table.States (1119), 122, 1200);
-            Add_Goto (Table.States (1119), 325, 244);
-            Table.States (1119).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((206, 0),  242,  2,
-            (2147483647, 0),  0), ((206, 1),  242,  0, (122, 1),  0), ((242, 
0),  242,  5, (2147483647, 0),  0), ((242,
-            1),  242,  2, (2147483647, 0),  0), ((275, 0),  242,  3, 
(2147483647, 0),  0), ((296, 0),  242,  2,
-            (2147483647, 0),  0), ((296, 1),  242,  2, (2147483647, 0),  0), 
((296, 2),  242,  2, (2147483647, 0),  0),
-            ((296, 3),  242,  2, (2147483647, 0),  0)));
-            Table.States (1119).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (122, 1),  0)));
-            Table.States (1120).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (1120), (29, 47, 48, 50, 69, 71, 74, 
107), (204, 0),  7,
-            formal_type_declaration_0'Access, null);
-            Table.States (1120).Kernel := To_Vector ((0 => ((204, 0),  99,  0, 
(204, 0),  7)));
-            Table.States (1120).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (204, 0),  7)));
-            Table.States (1121).Action_List.Set_Capacity (23);
-            Add_Action (Table.States (1121), 3, (200, 2), 122);
-            Add_Action (Table.States (1121), 15, (139, 0), 260);
-            Add_Action (Table.States (1121), 28, (127, 6), 261);
-            Add_Action (Table.States (1121), 32, (224, 0), 262);
-            Add_Action (Table.States (1121), 39, (261, 4), 123);
-            Add_Action (Table.States (1121), 40, (168, 1), 263);
-            Add_Action (Table.States (1121), 41, (261, 1), 125);
-            Add_Action (Table.States (1121), 44, (168, 3), 265);
-            Add_Action (Table.States (1121), 52, (278, 0), 126);
-            Add_Action (Table.States (1121), 76, (120, 0), 127);
-            Add_Action (Table.States (1121), 77, (120, 5), 128);
-            Add_Action (Table.States (1121), 78, Reduce, (127, 5),  0, null, 
null);
-            Add_Action (Table.States (1121), 81, (242, 8), 31);
-            Add_Action (Table.States (1121), 82, Reduce, (169, 2),  0, null, 
null);
-            Add_Action (Table.States (1121), 83, (208, 0), 1201);
-            Add_Action (Table.States (1121), 86, Reduce, (127, 5),  0, null, 
null);
-            Add_Action (Table.States (1121), 90, Reduce, (169, 2),  0, null, 
null);
-            Add_Action (Table.States (1121), 97, (333, 1), 129);
-            Add_Action (Table.States (1121), 98, (333, 0), 130);
-            Add_Action (Table.States (1121), 106, (261, 0), 131);
-            Add_Action (Table.States (1121), 107, (242, 5), 120);
-            Add_Action (Table.States (1121), 108, (242, 7), 34);
-            Add_Action (Table.States (1121), 109, (127, 0), 266);
-            Table.States (1121).Goto_List.Set_Capacity (29);
-            Add_Goto (Table.States (1121), 120, 132);
-            Add_Goto (Table.States (1121), 127, 267);
-            Add_Goto (Table.States (1121), 128, 409);
-            Add_Goto (Table.States (1121), 131, 42);
-            Add_Goto (Table.States (1121), 139, 269);
-            Add_Goto (Table.States (1121), 156, 410);
-            Add_Goto (Table.States (1121), 168, 271);
-            Add_Goto (Table.States (1121), 169, 272);
-            Add_Goto (Table.States (1121), 194, 411);
-            Add_Goto (Table.States (1121), 200, 135);
-            Add_Goto (Table.States (1121), 224, 275);
-            Add_Goto (Table.States (1121), 242, 276);
-            Add_Goto (Table.States (1121), 261, 137);
-            Add_Goto (Table.States (1121), 275, 93);
-            Add_Goto (Table.States (1121), 276, 277);
-            Add_Goto (Table.States (1121), 278, 138);
-            Add_Goto (Table.States (1121), 280, 412);
-            Add_Goto (Table.States (1121), 281, 413);
-            Add_Goto (Table.States (1121), 285, 139);
-            Add_Goto (Table.States (1121), 286, 140);
-            Add_Goto (Table.States (1121), 287, 141);
-            Add_Goto (Table.States (1121), 288, 142);
-            Add_Goto (Table.States (1121), 289, 143);
-            Add_Goto (Table.States (1121), 290, 144);
-            Add_Goto (Table.States (1121), 296, 98);
-            Add_Goto (Table.States (1121), 304, 279);
-            Add_Goto (Table.States (1121), 323, 146);
-            Add_Goto (Table.States (1121), 324, 147);
-            Add_Goto (Table.States (1121), 333, 148);
-            Table.States (1121).Kernel := To_Vector ((((118, 0),  76,  1, 
(2147483647, 0),  0), ((118, 1),  76,  3,
-            (2147483647, 0),  0), ((208, 0),  76,  2, (2147483647, 0),  0), 
((242, 0),  76,  4, (2147483647, 0),  0)));
-            Table.States (1121).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (128, 1),  0)));
-            Table.States (1122).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1122), 74, (125, 0), 340);
-            Add_Action (Table.States (1122), 99, Reduce, (125, 1),  0, null, 
null);
-            Table.States (1122).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (1122), 125, 1202);
-            Table.States (1122).Kernel := To_Vector ((0 => ((207, 0),  208,  
1, (2147483647, 0),  0)));
-            Table.States (1122).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (1123).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (1123), (29, 47, 48, 50, 69, 71, 74, 
107), (203, 0),  7,
-            formal_subprogram_declaration_0'Access, null);
-            Table.States (1123).Kernel := To_Vector ((0 => ((203, 0),  99,  0, 
(203, 0),  7)));
-            Table.States (1123).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (203, 0),  7)));
-            Table.States (1124).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1124), 99, (201, 1), 1203);
-            Table.States (1124).Kernel := To_Vector ((0 => ((201, 1),  125,  
1, (2147483647, 0),  0)));
-            Table.States (1124).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (201, 1),  99, 1203)));
-            Table.States (1125).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1125), 74, (125, 0), 340);
-            Add_Action (Table.States (1125), 99, Reduce, (125, 1),  0, null, 
null);
-            Table.States (1125).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (1125), 125, 1204);
-            Table.States (1125).Kernel := To_Vector ((0 => ((201, 0),  195,  
1, (2147483647, 0),  0)));
-            Table.States (1125).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (1126).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (1126), (29, 47, 48, 50, 69, 71, 74, 
107), (201, 2),  7,
-            formal_object_declaration_2'Access, null);
-            Table.States (1126).Kernel := To_Vector ((0 => ((201, 2),  99,  0, 
(201, 2),  7)));
-            Table.States (1126).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (201, 2),  7)));
-            Table.States (1127).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1127), 99, (225, 1), 1205);
-            Table.States (1127).Kernel := To_Vector ((0 => ((225, 1),  32,  1, 
(2147483647, 0),  0)));
-            Table.States (1127).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (225, 1),  99, 1205)));
-            Table.States (1128).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (1128), (22, 23, 24), (177, 0),  4, 
elsif_statement_item_0'Access, null);
-            Table.States (1128).Kernel := To_Vector ((0 => ((177, 0),  303,  
0, (177, 0),  4)));
-            Table.States (1128).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (177, 0),  4)));
-            Table.States (1129).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1129), 32, (225, 0), 1206);
-            Table.States (1129).Kernel := To_Vector ((0 => ((225, 0),  24,  2, 
(2147483647, 0),  0)));
-            Table.States (1129).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (225, 0),  32, 1206)));
-            Table.States (1130).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (1130), (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, 81, 96, 107, 108,
-            109, 110), (225, 2),  8, if_statement_2'Access, null);
-            Table.States (1130).Kernel := To_Vector ((0 => ((225, 2),  99,  0, 
(225, 2),  8)));
-            Table.States (1130).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (225, 2),  8)));
-            Table.States (1131).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1131), 24, (250, 0), 1207);
-            Table.States (1131).Kernel := To_Vector ((0 => ((250, 0),  221,  
2, (2147483647, 0),  0)));
-            Table.States (1131).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (250, 0),  24, 1207)));
-            Table.States (1132).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1132), 99, (250, 1), 1208);
-            Table.States (1132).Kernel := To_Vector ((0 => ((250, 1),  243,  
1, (2147483647, 0),  0)));
-            Table.States (1132).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (250, 1),  99, 1208)));
-            Table.States (1133).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (1133), 81, (242, 8), 31);
-            Add_Action (Table.States (1133), 99, Reduce, (243, 1),  0, null, 
null);
-            Add_Action (Table.States (1133), 107, (242, 5), 120);
-            Add_Action (Table.States (1133), 108, (242, 7), 34);
-            Add_Action (Table.States (1133), 109, (242, 6), 35);
-            Table.States (1133).Goto_List.Set_Capacity (5);
-            Add_Goto (Table.States (1133), 131, 42);
-            Add_Goto (Table.States (1133), 242, 644);
-            Add_Goto (Table.States (1133), 243, 1209);
-            Add_Goto (Table.States (1133), 275, 93);
-            Add_Goto (Table.States (1133), 296, 98);
-            Table.States (1133).Kernel := To_Vector ((0 => ((254, 0),  24,  0, 
(243, 1),  0)));
-            Table.States (1133).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (243, 1),  0)));
-            Table.States (1134).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (1134), 28, (180, 0), 1210);
-            Add_Action (Table.States (1134), 78, Reduce, (257, 4),  0, null, 
null);
-            Add_Action (Table.States (1134), 99, Reduce, (257, 4),  0, null, 
null);
-            Add_Action (Table.States (1134), 107, (222, 1), 166);
-            Table.States (1134).Goto_List.Set_Capacity (3);
-            Add_Goto (Table.States (1134), 222, 500);
-            Add_Goto (Table.States (1134), 257, 501);
-            Add_Goto (Table.States (1134), 258, 502);
-            Table.States (1134).Kernel := To_Vector ((((180, 0),  76,  5, 
(2147483647, 0),  0), ((202, 0),  76,  1,
-            (2147483647, 0),  0)));
-            Table.States (1134).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (258, 1),  0)));
-            Table.States (1135).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1135), 72, (179, 0), 1211);
-            Table.States (1135).Kernel := To_Vector ((0 => ((179, 0),  180,  
5, (2147483647, 0),  0)));
-            Table.States (1135).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (179, 0),  72, 1211)));
-            Table.States (1136).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1136), (1 =>  72), (180, 1),  1, null, 
null);
-            Table.States (1136).Kernel := To_Vector ((0 => ((180, 1),  256,  
0, (180, 1),  1)));
-            Table.States (1136).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (180, 1),  1)));
-            Table.States (1137).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1137), 99, (267, 0), 1212);
-            Table.States (1137).Kernel := To_Vector ((0 => ((267, 0),  223,  
1, (2147483647, 0),  0)));
-            Table.States (1137).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (267, 0),  99, 1212)));
-            Table.States (1138).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1138), 10, (230, 0), 1026);
-            Add_Action (Table.States (1138), 74, (274, 0), 1213);
-            Table.States (1138).Kernel := To_Vector ((((230, 0),  230,  2, 
(2147483647, 0),  0), ((274, 0),  230,  3,
-            (2147483647, 0),  0)));
-            Table.States (1138).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (274, 0),  74, 1213)));
-            Table.States (1139).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (1139), (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, 
81, 96, 107, 108, 109, 110), (274, 1),  8,
-            protected_type_declaration_1'Access, 
protected_type_declaration_1_check'Access);
-            Table.States (1139).Kernel := To_Vector ((0 => ((274, 1),  99,  0, 
(274, 1),  8)));
-            Table.States (1139).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (274, 1),  8)));
-            Table.States (1140).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (1140), 10, Reduce, (230, 0),  3, 
interface_list_0'Access, null);
-            Add_Action (Table.States (1140), 74, Reduce, (230, 0),  3, 
interface_list_0'Access, null);
-            Add_Action (Table.States (1140), 76, (118, 0), 237);
-            Add_Action (Table.States (1140), 87, (296, 0), 239);
-            Add_Action (Table.States (1140), 99, Reduce, (230, 0),  3, 
interface_list_0'Access, null);
-            Add_Action (Table.States (1140), 104, (325, 0), 241);
-            Add_Action (Table.States (1140), 105, (325, 1), 242);
-            Table.States (1140).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (1140), 118, 243);
-            Add_Goto (Table.States (1140), 325, 244);
-            Table.States (1140).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((230, 0),  242,  0,
-            (230, 0),  3), ((242, 0),  242,  5, (2147483647, 0),  0), ((242, 
1),  242,  2, (2147483647, 0),  0), ((275,
-            0),  242,  3, (2147483647, 0),  0), ((296, 0),  242,  2, 
(2147483647, 0),  0), ((296, 1),  242,  2,
-            (2147483647, 0),  0), ((296, 2),  242,  2, (2147483647, 0),  0), 
((296, 3),  242,  2, (2147483647, 0),
-            0)));
-            Table.States (1140).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (230, 0),  3)));
-            Table.States (1141).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1141), 99, (307, 0), 1214);
-            Table.States (1141).Kernel := To_Vector ((0 => ((307, 0),  269,  
1, (2147483647, 0),  0)));
-            Table.States (1141).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (307, 0),  99, 1214)));
-            Table.States (1142).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1142), 99, Reduce, (223, 1),  0, null, 
null);
-            Add_Action (Table.States (1142), 107, (223, 0), 151);
-            Table.States (1142).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (1142), 223, 1215);
-            Table.States (1142).Kernel := To_Vector ((0 => ((269, 0),  24,  0, 
(223, 1),  0)));
-            Table.States (1142).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (223, 1),  0)));
-            Table.States (1143).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1143), (21, 99), (197, 0),  7, 
extended_return_object_declaration_0'Access,
-            null);
-            Table.States (1143).Kernel := To_Vector ((0 => ((197, 0),  195,  
0, (197, 0),  7)));
-            Table.States (1143).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (197, 0),  7)));
-            Table.States (1144).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (1144), (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, 81, 96, 107, 108,
-            109, 110), (129, 0),  8, asynchronous_select_0'Access, null);
-            Table.States (1144).Kernel := To_Vector ((0 => ((129, 0),  99,  0, 
(129, 0),  8)));
-            Table.States (1144).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (129, 0),  8)));
-            Table.States (1145).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1145), 24, (319, 0), 1216);
-            Table.States (1145).Kernel := To_Vector ((0 => ((319, 0),  221,  
2, (2147483647, 0),  0)));
-            Table.States (1145).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (319, 0),  24, 1216)));
-            Table.States (1146).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1146), 10, (230, 0), 1026);
-            Add_Action (Table.States (1146), 74, (322, 0), 1217);
-            Table.States (1146).Kernel := To_Vector ((((230, 0),  230,  2, 
(2147483647, 0),  0), ((322, 0),  230,  3,
-            (2147483647, 0),  0)));
-            Table.States (1146).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (322, 0),  74, 1217)));
-            Table.States (1147).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1147), 99, Reduce, (223, 1),  0, null, 
null);
-            Add_Action (Table.States (1147), 107, (223, 0), 151);
-            Table.States (1147).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (1147), 223, 1218);
-            Table.States (1147).Kernel := To_Vector ((0 => ((322, 1),  24,  1, 
(2147483647, 0),  0)));
-            Table.States (1147).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (223, 1),  0)));
-            Table.States (1148).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1148), 24, (308, 0), 1219);
-            Table.States (1148).Kernel := To_Vector ((0 => ((308, 0),  321,  
2, (2147483647, 0),  0)));
-            Table.States (1148).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (308, 0),  24, 1219)));
-            Table.States (1149).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (1149), (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, 
81, 96, 107, 108, 109, 110), (308, 1),  8,
-            single_task_declaration_1'Access, 
single_task_declaration_1_check'Access);
-            Table.States (1149).Kernel := To_Vector ((0 => ((308, 1),  99,  0, 
(308, 1),  8)));
-            Table.States (1149).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (308, 1),  8)));
-            Table.States (1150).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (1150), 76, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (1150), 78, Reduce, (245, 2),  3, 
null_exclusion_opt_name_type_2'Access, null);
-            Add_Action (Table.States (1150), 85, Reduce, (245, 2),  3, 
null_exclusion_opt_name_type_2'Access, null);
-            Add_Action (Table.States (1150), 87, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (1150), 99, Reduce, (245, 2),  3, 
null_exclusion_opt_name_type_2'Access, null);
-            Add_Action (Table.States (1150), 104, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Add_Action (Table.States (1150), 105, Reduce, (242, 5),  1, 
name_5'Access, name_5_check'Access);
-            Table.States (1150).Kernel := To_Vector ((((242, 5),  107,  0, 
(242, 5),  1), ((245, 2),  107,  0, (245,
-            2),  3)));
-            Table.States (1150).Minimal_Complete_Actions := To_Vector 
(((Reduce, (242, 5),  1), (Reduce, (245, 2),
-            3)));
-            Table.States (1151).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (1151), 76, Reduce, (242, 2),  1, null, 
name_2_check'Access);
-            Add_Action (Table.States (1151), 78, Reduce, (245, 3),  3, 
null_exclusion_opt_name_type_3'Access, null);
-            Add_Action (Table.States (1151), 85, Reduce, (245, 3),  3, 
null_exclusion_opt_name_type_3'Access, null);
-            Add_Action (Table.States (1151), 87, Reduce, (242, 2),  1, null, 
name_2_check'Access);
-            Add_Action (Table.States (1151), 99, Reduce, (245, 3),  3, 
null_exclusion_opt_name_type_3'Access, null);
-            Add_Action (Table.States (1151), 104, Reduce, (242, 2),  1, null, 
name_2_check'Access);
-            Add_Action (Table.States (1151), 105, Reduce, (242, 2),  1, null, 
name_2_check'Access);
-            Table.States (1151).Kernel := To_Vector ((((242, 2),  296,  0, 
(242, 2),  1), ((245, 3),  296,  0, (245,
-            3),  3)));
-            Table.States (1151).Minimal_Complete_Actions := To_Vector 
(((Reduce, (242, 2),  1), (Reduce, (245, 3),
-            3)));
-         end Subr_20;
-         procedure Subr_21
-         is begin
-            Table.States (1152).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1152), (78, 99), (173, 1),  5, null, 
null);
-            Table.States (1152).Kernel := To_Vector ((0 => ((173, 1),  195,  
0, (173, 1),  5)));
-            Table.States (1152).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (173, 1),  5)));
-            Table.States (1153).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1153), (78, 99), (173, 0),  5, null, 
null);
-            Table.States (1153).Kernel := To_Vector ((0 => ((173, 0),  195,  
0, (173, 0),  5)));
-            Table.States (1153).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (173, 0),  5)));
-            Table.States (1154).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1154), 42, (123, 1), 1220);
-            Table.States (1154).Kernel := To_Vector ((0 => ((123, 1),  78,  2, 
(2147483647, 0),  0)));
-            Table.States (1154).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (123, 1),  42, 1220)));
-            Table.States (1155).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1155), 42, (123, 0), 1221);
-            Table.States (1155).Kernel := To_Vector ((0 => ((123, 0),  78,  2, 
(2147483647, 0),  0)));
-            Table.States (1155).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (123, 0),  42, 1221)));
-            Table.States (1156).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (1156), 81, (242, 8), 31);
-            Add_Action (Table.States (1156), 107, (242, 5), 120);
-            Add_Action (Table.States (1156), 108, (242, 7), 34);
-            Add_Action (Table.States (1156), 109, (242, 6), 35);
-            Table.States (1156).Goto_List.Set_Capacity (5);
-            Add_Goto (Table.States (1156), 131, 42);
-            Add_Goto (Table.States (1156), 228, 1222);
-            Add_Goto (Table.States (1156), 242, 1223);
-            Add_Goto (Table.States (1156), 275, 93);
-            Add_Goto (Table.States (1156), 296, 98);
-            Table.States (1156).Kernel := To_Vector ((0 => ((229, 0),  86,  3, 
(2147483647, 0),  0)));
-            Table.States (1156).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (1157).Action_List.Set_Capacity (14);
-            Add_Action (Table.States (1157), 3, (200, 2), 122);
-            Add_Action (Table.States (1157), 39, (261, 4), 123);
-            Add_Action (Table.States (1157), 40, (200, 3), 124);
-            Add_Action (Table.States (1157), 41, (261, 1), 125);
-            Add_Action (Table.States (1157), 76, (120, 0), 127);
-            Add_Action (Table.States (1157), 77, (120, 5), 128);
-            Add_Action (Table.States (1157), 81, (242, 8), 31);
-            Add_Action (Table.States (1157), 83, (228, 0), 1224);
-            Add_Action (Table.States (1157), 97, (333, 1), 129);
-            Add_Action (Table.States (1157), 98, (333, 0), 130);
-            Add_Action (Table.States (1157), 106, (261, 0), 131);
-            Add_Action (Table.States (1157), 107, (242, 5), 120);
-            Add_Action (Table.States (1157), 108, (242, 7), 34);
-            Add_Action (Table.States (1157), 109, (242, 6), 35);
-            Table.States (1157).Goto_List.Set_Capacity (12);
-            Add_Goto (Table.States (1157), 120, 132);
-            Add_Goto (Table.States (1157), 131, 42);
-            Add_Goto (Table.States (1157), 200, 135);
-            Add_Goto (Table.States (1157), 242, 276);
-            Add_Goto (Table.States (1157), 261, 137);
-            Add_Goto (Table.States (1157), 275, 93);
-            Add_Goto (Table.States (1157), 280, 792);
-            Add_Goto (Table.States (1157), 296, 98);
-            Add_Goto (Table.States (1157), 304, 486);
-            Add_Goto (Table.States (1157), 323, 146);
-            Add_Goto (Table.States (1157), 324, 147);
-            Add_Goto (Table.States (1157), 333, 148);
-            Table.States (1157).Kernel := To_Vector ((((158, 0),  53,  3, 
(2147483647, 0),  0), ((228, 0),  53,  1,
-            (2147483647, 0),  0)));
-            Table.States (1157).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (228, 0),  83, 1224)));
-            Table.States (1158).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (1158), 53, (282, 0), 1056);
-            Add_Action (Table.States (1158), 74, Reduce, (282, 1),  0, null, 
null);
-            Add_Action (Table.States (1158), 99, Reduce, (282, 1),  0, null, 
null);
-            Table.States (1158).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (1158), 282, 1225);
-            Table.States (1158).Kernel := To_Vector ((0 => ((329, 4),  195,  
0, (282, 1),  0)));
-            Table.States (1158).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (282, 1),  0)));
-            Table.States (1159).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1159), 88, (282, 0), 1226);
-            Table.States (1159).Kernel := To_Vector ((0 => ((282, 0),  304,  
2, (2147483647, 0),  0)));
-            Table.States (1159).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (282, 0),  88, 1226)));
-            Table.States (1160).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (1160), 10, (230, 0), 1026);
-            Add_Action (Table.States (1160), 74, Reduce, (231, 0),  4, null, 
null);
-            Add_Action (Table.States (1160), 99, Reduce, (231, 0),  4, null, 
null);
-            Table.States (1160).Kernel := To_Vector ((((230, 0),  230,  2, 
(2147483647, 0),  0), ((231, 0),  230,  0,
-            (231, 0),  4)));
-            Table.States (1160).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (231, 0),  4)));
-            Table.States (1161).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (1161), 10, (230, 0), 1026);
-            Add_Action (Table.States (1161), 74, Reduce, (231, 2),  4, null, 
null);
-            Add_Action (Table.States (1161), 99, Reduce, (231, 2),  4, null, 
null);
-            Table.States (1161).Kernel := To_Vector ((((230, 0),  230,  2, 
(2147483647, 0),  0), ((231, 2),  230,  0,
-            (231, 2),  4)));
-            Table.States (1161).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (231, 2),  4)));
-            Table.States (1162).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1162), (74, 99), (329, 1),  4, null, 
null);
-            Table.States (1162).Kernel := To_Vector ((0 => ((329, 1),  304,  
0, (329, 1),  4)));
-            Table.States (1162).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (329, 1),  4)));
-            Table.States (1163).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1163), 72, (332, 0), 1227);
-            Table.States (1163).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (1163), 331, 1228);
-            Add_Goto (Table.States (1163), 332, 1229);
-            Table.States (1163).Kernel := To_Vector ((0 => ((330, 0),  35,  5, 
(2147483647, 0),  0)));
-            Table.States (1163).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (332, 0),  72, 1227)));
-            Table.States (1164).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1164), (74, 99), (283, 0),  4, 
record_definition_0'Access, null);
-            Table.States (1164).Kernel := To_Vector ((0 => ((283, 0),  54,  0, 
(283, 0),  4)));
-            Table.States (1164).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (283, 0),  4)));
-            Table.States (1165).Action_List.Set_Capacity (6);
-            Add_Action (Table.States (1165), 7, Reduce, (244, 1),  0, null, 
null);
-            Add_Action (Table.States (1165), 40, (244, 0), 756);
-            Add_Action (Table.States (1165), 81, (242, 8), 31);
-            Add_Action (Table.States (1165), 107, (242, 5), 120);
-            Add_Action (Table.States (1165), 108, (242, 7), 34);
-            Add_Action (Table.States (1165), 109, (242, 6), 35);
-            Table.States (1165).Goto_List.Set_Capacity (7);
-            Add_Goto (Table.States (1165), 117, 1230);
-            Add_Goto (Table.States (1165), 131, 42);
-            Add_Goto (Table.States (1165), 242, 491);
-            Add_Goto (Table.States (1165), 244, 735);
-            Add_Goto (Table.States (1165), 275, 93);
-            Add_Goto (Table.States (1165), 296, 98);
-            Add_Goto (Table.States (1165), 317, 1231);
-            Table.States (1165).Kernel := To_Vector ((((150, 0),  8,  1, 
(2147483647, 0),  0), ((150, 2),  8,  2,
-            (2147483647, 0),  0)));
-            Table.States (1165).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (1166).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (1166), (74, 85, 99), (150, 3),  1, null, 
null);
-            Table.States (1166).Kernel := To_Vector ((0 => ((150, 3),  117,  
0, (150, 3),  1)));
-            Table.States (1166).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (150, 3),  1)));
-            Table.States (1167).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (1167), 74, (125, 0), 340);
-            Add_Action (Table.States (1167), 85, (149, 0), 1232);
-            Add_Action (Table.States (1167), 99, Reduce, (125, 1),  0, null, 
null);
-            Table.States (1167).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (1167), 125, 1233);
-            Table.States (1167).Kernel := To_Vector ((((149, 0),  150,  2, 
(2147483647, 0),  0), ((149, 1),  150,  1,
-            (2147483647, 0),  0)));
-            Table.States (1167).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (1168).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (1168), (74, 85, 99), (150, 1),  1, null, 
null);
-            Table.States (1168).Kernel := To_Vector ((0 => ((150, 1),  317,  
0, (150, 1),  1)));
-            Table.States (1168).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (150, 1),  1)));
-            Table.States (1169).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (1169), 10, (230, 0), 1026);
-            Add_Action (Table.States (1169), 74, Reduce, (231, 3),  4, null, 
null);
-            Add_Action (Table.States (1169), 99, Reduce, (231, 3),  4, null, 
null);
-            Table.States (1169).Kernel := To_Vector ((((230, 0),  230,  2, 
(2147483647, 0),  0), ((231, 3),  230,  0,
-            (231, 3),  4)));
-            Table.States (1169).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (231, 3),  4)));
-            Table.States (1170).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (1170), 10, (230, 0), 1026);
-            Add_Action (Table.States (1170), 74, Reduce, (231, 1),  4, null, 
null);
-            Add_Action (Table.States (1170), 99, Reduce, (231, 1),  4, null, 
null);
-            Table.States (1170).Kernel := To_Vector ((((230, 0),  230,  2, 
(2147483647, 0),  0), ((231, 1),  230,  0,
-            (231, 1),  4)));
-            Table.States (1170).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (231, 1),  4)));
-            Table.States (1171).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1171), (78, 86), (184, 0),  3, null, 
null);
-            Table.States (1171).Kernel := To_Vector ((0 => ((184, 0),  183,  
0, (184, 0),  3)));
-            Table.States (1171).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (184, 0),  3)));
-            Table.States (1172).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (1172), 81, (242, 8), 31);
-            Add_Action (Table.States (1172), 107, (242, 5), 120);
-            Add_Action (Table.States (1172), 108, (242, 7), 34);
-            Add_Action (Table.States (1172), 109, (242, 6), 35);
-            Table.States (1172).Goto_List.Set_Capacity (5);
-            Add_Goto (Table.States (1172), 131, 42);
-            Add_Goto (Table.States (1172), 230, 1234);
-            Add_Goto (Table.States (1172), 242, 859);
-            Add_Goto (Table.States (1172), 275, 93);
-            Add_Goto (Table.States (1172), 296, 98);
-            Table.States (1172).Kernel := To_Vector ((0 => ((122, 0),  10,  1, 
(2147483647, 0),  0)));
-            Table.States (1172).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (1173).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1173), 74, (262, 0), 1235);
-            Table.States (1173).Kernel := To_Vector ((0 => ((262, 0),  122,  
3, (2147483647, 0),  0)));
-            Table.States (1173).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (262, 0),  74, 1235)));
-            Table.States (1174).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1174), 74, (165, 0), 1236);
-            Table.States (1174).Kernel := To_Vector ((0 => ((165, 0),  122,  
3, (2147483647, 0),  0)));
-            Table.States (1174).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (165, 0),  74, 1236)));
-            Table.States (1175).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1175), (74, 99), (159, 0),  1, null, 
null);
-            Table.States (1175).Kernel := To_Vector ((0 => ((159, 0),  158,  
0, (159, 0),  1)));
-            Table.States (1175).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (159, 0),  1)));
-            Table.States (1176).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1176), (74, 99), (165, 1),  4, 
derived_type_definition_1'Access, null);
-            Table.States (1176).Kernel := To_Vector ((0 => ((165, 1),  159,  
0, (165, 1),  4)));
-            Table.States (1176).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (165, 1),  4)));
-            Table.States (1177).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (1177), (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, 
81, 96, 107, 108, 109, 110), (263, 0),  8,
-            private_type_declaration_0'Access, null);
-            Table.States (1177).Kernel := To_Vector ((0 => ((263, 0),  99,  0, 
(263, 0),  8)));
-            Table.States (1177).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (263, 0),  8)));
-            Table.States (1178).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (1178), (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, 
81, 96, 107, 108, 109, 110), (248, 0),  8,
-            object_renaming_declaration_0'Access, null);
-            Table.States (1178).Kernel := To_Vector ((0 => ((248, 0),  99,  0, 
(248, 0),  8)));
-            Table.States (1178).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (248, 0),  8)));
-            Table.States (1179).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1179), 82, (188, 0), 1085);
-            Add_Action (Table.States (1179), 90, (190, 0), 1237);
-            Table.States (1179).Kernel := To_Vector ((((188, 0),  188,  2, 
(2147483647, 0),  0), ((190, 0),  188,  1,
-            (2147483647, 0),  0)));
-            Table.States (1179).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (190, 0),  90, 1237)));
-            Table.States (1180).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1180), (82, 90), (188, 0),  3, null, 
null);
-            Table.States (1180).Kernel := To_Vector ((0 => ((188, 0),  187,  
0, (188, 0),  3)));
-            Table.States (1180).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (188, 0),  3)));
-            Table.States (1181).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1181), (24, 72), (190, 1),  4, 
exception_handler_1'Access, null);
-            Table.States (1181).Kernel := To_Vector ((0 => ((190, 1),  303,  
0, (190, 1),  4)));
-            Table.States (1181).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (190, 1),  4)));
-            Table.States (1182).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (1182), (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, 81, 96, 107, 108,
-            109, 110), (136, 0),  8, block_statement_0'Access, 
block_statement_0_check'Access);
-            Table.States (1182).Kernel := To_Vector ((0 => ((136, 0),  99,  0, 
(136, 0),  8)));
-            Table.States (1182).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (136, 0),  8)));
-            Table.States (1183).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (1183), (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, 81, 96, 107, 108,
-            109, 110), (235, 0),  8, loop_statement_0'Access, 
loop_statement_0_check'Access);
-            Table.States (1183).Kernel := To_Vector ((0 => ((235, 0),  99,  0, 
(235, 0),  8)));
-            Table.States (1183).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (235, 0),  8)));
-            Table.States (1184).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1184), 99, (247, 1), 1238);
-            Table.States (1184).Kernel := To_Vector ((0 => ((247, 1),  125,  
1, (2147483647, 0),  0)));
-            Table.States (1184).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (247, 1),  99, 1238)));
-            Table.States (1185).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1185), 99, (247, 2), 1239);
-            Table.States (1185).Kernel := To_Vector ((0 => ((247, 2),  125,  
1, (2147483647, 0),  0)));
-            Table.States (1185).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (247, 2),  99, 1239)));
-            Table.States (1186).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1186), 99, (247, 0), 1240);
-            Table.States (1186).Kernel := To_Vector ((0 => ((247, 0),  125,  
1, (2147483647, 0),  0)));
-            Table.States (1186).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (247, 0),  99, 1240)));
-            Table.States (1187).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1187), 99, (182, 0), 1241);
-            Table.States (1187).Kernel := To_Vector ((0 => ((182, 0),  125,  
1, (2147483647, 0),  0)));
-            Table.States (1187).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (182, 0),  99, 1241)));
-            Table.States (1188).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (1188), (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, 
81, 96, 107, 108, 109, 110), (216, 2),  8,
-            generic_instantiation_2'Access, null);
-            Table.States (1188).Kernel := To_Vector ((0 => ((216, 2),  99,  0, 
(216, 2),  8)));
-            Table.States (1188).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (216, 2),  8)));
-            Table.States (1189).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (1189), (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, 
81, 96, 107, 108, 109, 110), (216, 1),  8,
-            generic_instantiation_1'Access, null);
-            Table.States (1189).Kernel := To_Vector ((0 => ((216, 1),  99,  0, 
(216, 1),  8)));
-            Table.States (1189).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (216, 1),  8)));
-            Table.States (1190).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (1190), 81, (242, 8), 31);
-            Add_Action (Table.States (1190), 99, Reduce, (243, 1),  0, null, 
null);
-            Add_Action (Table.States (1190), 107, (242, 5), 120);
-            Add_Action (Table.States (1190), 108, (242, 7), 34);
-            Add_Action (Table.States (1190), 109, (242, 6), 35);
-            Table.States (1190).Goto_List.Set_Capacity (5);
-            Add_Goto (Table.States (1190), 131, 42);
-            Add_Goto (Table.States (1190), 242, 644);
-            Add_Goto (Table.States (1190), 243, 1242);
-            Add_Goto (Table.States (1190), 275, 93);
-            Add_Goto (Table.States (1190), 296, 98);
-            Table.States (1190).Kernel := To_Vector ((0 => ((310, 0),  24,  1, 
(2147483647, 0),  0)));
-            Table.States (1190).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (243, 1),  0)));
-            Table.States (1191).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (1191), (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, 81, 96, 107, 108,
-            109, 110), (116, 0),  9, accept_statement_0'Access, 
accept_statement_0_check'Access);
-            Table.States (1191).Kernel := To_Vector ((0 => ((116, 0),  99,  0, 
(116, 0),  9)));
-            Table.States (1191).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (116, 0),  9)));
-            Table.States (1192).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1192), (78, 86), (140, 0),  4, 
case_expression_alternative_0'Access, null);
-            Table.States (1192).Kernel := To_Vector ((0 => ((140, 0),  195,  
0, (140, 0),  4)));
-            Table.States (1192).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (140, 0),  4)));
-            Table.States (1193).Action_List.Set_Capacity (17);
-            Add_Action (Table.States (1193), 3, (200, 2), 122);
-            Add_Action (Table.States (1193), 22, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (1193), 23, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (1193), 39, (261, 4), 123);
-            Add_Action (Table.States (1193), 40, (200, 3), 124);
-            Add_Action (Table.States (1193), 41, (261, 1), 125);
-            Add_Action (Table.States (1193), 52, (278, 0), 126);
-            Add_Action (Table.States (1193), 76, (120, 0), 127);
-            Add_Action (Table.States (1193), 77, (120, 5), 128);
-            Add_Action (Table.States (1193), 78, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (1193), 81, (242, 8), 31);
-            Add_Action (Table.States (1193), 97, (333, 1), 129);
-            Add_Action (Table.States (1193), 98, (333, 0), 130);
-            Add_Action (Table.States (1193), 106, (261, 0), 131);
-            Add_Action (Table.States (1193), 107, (242, 5), 120);
-            Add_Action (Table.States (1193), 108, (242, 7), 34);
-            Add_Action (Table.States (1193), 109, (242, 6), 35);
-            Table.States (1193).Goto_List.Set_Capacity (20);
-            Add_Goto (Table.States (1193), 120, 132);
-            Add_Goto (Table.States (1193), 131, 42);
-            Add_Goto (Table.States (1193), 194, 133);
-            Add_Goto (Table.States (1193), 195, 1243);
-            Add_Goto (Table.States (1193), 200, 135);
-            Add_Goto (Table.States (1193), 242, 136);
-            Add_Goto (Table.States (1193), 261, 137);
-            Add_Goto (Table.States (1193), 275, 93);
-            Add_Goto (Table.States (1193), 278, 138);
-            Add_Goto (Table.States (1193), 285, 139);
-            Add_Goto (Table.States (1193), 286, 140);
-            Add_Goto (Table.States (1193), 287, 141);
-            Add_Goto (Table.States (1193), 288, 142);
-            Add_Goto (Table.States (1193), 289, 143);
-            Add_Goto (Table.States (1193), 290, 144);
-            Add_Goto (Table.States (1193), 296, 98);
-            Add_Goto (Table.States (1193), 304, 145);
-            Add_Goto (Table.States (1193), 323, 146);
-            Add_Goto (Table.States (1193), 324, 147);
-            Add_Goto (Table.States (1193), 333, 148);
-            Table.States (1193).Kernel := To_Vector ((0 => ((175, 0),  68,  0, 
(195, 1),  0)));
-            Table.States (1193).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (195, 1),  0)));
-            Table.States (1194).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1194), (1 =>  78), (224, 0),  7, 
if_expression_0'Access, null);
-            Table.States (1194).Kernel := To_Vector ((0 => ((224, 0),  195,  
0, (224, 0),  7)));
-            Table.States (1194).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (224, 0),  7)));
-            Table.States (1195).Action_List.Set_Capacity (13);
-            Add_Action (Table.States (1195), 3, (200, 2), 122);
-            Add_Action (Table.States (1195), 39, (261, 4), 123);
-            Add_Action (Table.States (1195), 40, (200, 3), 124);
-            Add_Action (Table.States (1195), 41, (261, 1), 125);
-            Add_Action (Table.States (1195), 76, (120, 0), 127);
-            Add_Action (Table.States (1195), 77, (120, 5), 128);
-            Add_Action (Table.States (1195), 81, (242, 8), 31);
-            Add_Action (Table.States (1195), 97, (333, 1), 129);
-            Add_Action (Table.States (1195), 98, (333, 0), 130);
-            Add_Action (Table.States (1195), 106, (261, 0), 131);
-            Add_Action (Table.States (1195), 107, (242, 5), 120);
-            Add_Action (Table.States (1195), 108, (242, 7), 34);
-            Add_Action (Table.States (1195), 109, (242, 6), 35);
-            Table.States (1195).Goto_List.Set_Capacity (11);
-            Add_Goto (Table.States (1195), 120, 132);
-            Add_Goto (Table.States (1195), 131, 42);
-            Add_Goto (Table.States (1195), 200, 135);
-            Add_Goto (Table.States (1195), 242, 136);
-            Add_Goto (Table.States (1195), 261, 137);
-            Add_Goto (Table.States (1195), 275, 93);
-            Add_Goto (Table.States (1195), 296, 98);
-            Add_Goto (Table.States (1195), 304, 1244);
-            Add_Goto (Table.States (1195), 323, 146);
-            Add_Goto (Table.States (1195), 324, 147);
-            Add_Goto (Table.States (1195), 333, 148);
-            Table.States (1195).Kernel := To_Vector ((0 => ((147, 0),  53,  4, 
(2147483647, 0),  0)));
-            Table.States (1195).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (261, 0),  106, 131)));
-            Table.States (1196).Action_List.Set_Capacity (42);
-            Add_Action (Table.States (1196), (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, 81, 96, 107, 108, 109, 110), (284, 0),
-            9, record_representation_clause_0'Access, null);
-            Table.States (1196).Kernel := To_Vector ((0 => ((284, 0),  99,  0, 
(284, 0),  9)));
-            Table.States (1196).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (284, 0),  9)));
-            Table.States (1197).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1197), (78, 99), (257, 2),  6, 
parameter_specification_2'Access, null);
-            Table.States (1197).Kernel := To_Vector ((0 => ((257, 2),  195,  
0, (257, 2),  6)));
-            Table.States (1197).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (257, 2),  6)));
-            Table.States (1198).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (1198), 76, (118, 0), 237);
-            Add_Action (Table.States (1198), 78, Reduce, (257, 1),  6, 
parameter_specification_1'Access, null);
-            Add_Action (Table.States (1198), 85, (257, 0), 1245);
-            Add_Action (Table.States (1198), 87, (296, 0), 239);
-            Add_Action (Table.States (1198), 99, Reduce, (257, 1),  6, 
parameter_specification_1'Access, null);
-            Add_Action (Table.States (1198), 104, (325, 0), 241);
-            Add_Action (Table.States (1198), 105, (325, 1), 242);
-            Table.States (1198).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (1198), 118, 243);
-            Add_Goto (Table.States (1198), 325, 244);
-            Table.States (1198).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((242, 0),  242,  5,
-            (2147483647, 0),  0), ((242, 1),  242,  2, (2147483647, 0),  0), 
((257, 0),  242,  1, (2147483647, 0),  0),
-            ((257, 1),  242,  0, (257, 1),  6), ((275, 0),  242,  3, 
(2147483647, 0),  0), ((296, 0),  242,  2,
-            (2147483647, 0),  0), ((296, 1),  242,  2, (2147483647, 0),  0), 
((296, 2),  242,  2, (2147483647, 0),  0),
-            ((296, 3),  242,  2, (2147483647, 0),  0)));
-            Table.States (1198).Minimal_Complete_Actions := To_Vector 
(((Shift, (257, 0),  85, 1245), (Reduce, (257,
-            1),  6)));
-            Table.States (1199).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1199), (74, 99), (205, 6),  4, null, 
null);
-            Table.States (1199).Kernel := To_Vector ((0 => ((205, 6),  83,  0, 
(205, 6),  4)));
-            Table.States (1199).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (205, 6),  4)));
-            Table.States (1200).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1200), 74, (206, 0), 1246);
-            Add_Conflict (Table.States (1200), 74, (206, 1),  4, 
formal_derived_type_definition_1'Access, null);
-            Add_Action (Table.States (1200), 99, Reduce, (206, 1),  4, 
formal_derived_type_definition_1'Access, null);
-            Table.States (1200).Kernel := To_Vector ((((206, 0),  122,  2, 
(2147483647, 0),  0), ((206, 1),  122,  0,
-            (206, 1),  4)));
-            Table.States (1200).Minimal_Complete_Actions := To_Vector 
(((Shift, (206, 0),  74, 1246), (Reduce, (206,
-            1),  4)));
-            Table.States (1201).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1201), 78, (208, 0), 1247);
-            Table.States (1201).Kernel := To_Vector ((0 => ((208, 0),  83,  1, 
(2147483647, 0),  0)));
-            Table.States (1201).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (208, 0),  78, 1247)));
-            Table.States (1202).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1202), 99, (207, 0), 1248);
-            Table.States (1202).Kernel := To_Vector ((0 => ((207, 0),  125,  
1, (2147483647, 0),  0)));
-            Table.States (1202).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (207, 0),  99, 1248)));
-            Table.States (1203).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (1203), (29, 47, 48, 50, 69, 71, 74, 
107), (201, 1),  8,
-            formal_object_declaration_1'Access, null);
-            Table.States (1203).Kernel := To_Vector ((0 => ((201, 1),  99,  0, 
(201, 1),  8)));
-            Table.States (1203).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (201, 1),  8)));
-            Table.States (1204).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1204), 99, (201, 0), 1249);
-            Table.States (1204).Kernel := To_Vector ((0 => ((201, 0),  125,  
1, (2147483647, 0),  0)));
-            Table.States (1204).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (201, 0),  99, 1249)));
-            Table.States (1205).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (1205), (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, 81, 96, 107, 108,
-            109, 110), (225, 1),  9, if_statement_1'Access, null);
-            Table.States (1205).Kernel := To_Vector ((0 => ((225, 1),  99,  0, 
(225, 1),  9)));
-            Table.States (1205).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (225, 1),  9)));
-            Table.States (1206).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1206), 99, (225, 0), 1250);
-            Table.States (1206).Kernel := To_Vector ((0 => ((225, 0),  32,  1, 
(2147483647, 0),  0)));
-            Table.States (1206).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (225, 0),  99, 1250)));
-            Table.States (1207).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (1207), 81, (242, 8), 31);
-            Add_Action (Table.States (1207), 99, Reduce, (243, 1),  0, null, 
null);
-            Add_Action (Table.States (1207), 107, (242, 5), 120);
-            Add_Action (Table.States (1207), 108, (242, 7), 34);
-            Add_Action (Table.States (1207), 109, (242, 6), 35);
-            Table.States (1207).Goto_List.Set_Capacity (5);
-            Add_Goto (Table.States (1207), 131, 42);
-            Add_Goto (Table.States (1207), 242, 644);
-            Add_Goto (Table.States (1207), 243, 1251);
-            Add_Goto (Table.States (1207), 275, 93);
-            Add_Goto (Table.States (1207), 296, 98);
-            Table.States (1207).Kernel := To_Vector ((0 => ((250, 0),  24,  1, 
(2147483647, 0),  0)));
-            Table.States (1207).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (243, 1),  0)));
-            Table.States (1208).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (1208), (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, 
81, 96, 107, 108, 109, 110), (250, 1),  9,
-            package_body_1'Access, package_body_1_check'Access);
-            Table.States (1208).Kernel := To_Vector ((0 => ((250, 1),  99,  0, 
(250, 1),  9)));
-            Table.States (1208).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (250, 1),  9)));
-            Table.States (1209).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1209), (1 =>  99), (254, 0),  9, 
package_specification_0'Access,
-            package_specification_0_check'Access);
-            Table.States (1209).Kernel := To_Vector ((0 => ((254, 0),  243,  
0, (254, 0),  9)));
-            Table.States (1209).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (254, 0),  9)));
-            Table.States (1210).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1210), 107, (180, 0), 1252);
-            Table.States (1210).Kernel := To_Vector ((0 => ((180, 0),  28,  4, 
(2147483647, 0),  0)));
-            Table.States (1210).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (180, 0),  107, 1252)));
-            Table.States (1211).Action_List.Set_Capacity (15);
-            Add_Action (Table.States (1211), 3, (200, 2), 122);
-            Add_Action (Table.States (1211), 35, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (1211), 39, (261, 4), 123);
-            Add_Action (Table.States (1211), 40, (200, 3), 124);
-            Add_Action (Table.States (1211), 41, (261, 1), 125);
-            Add_Action (Table.States (1211), 52, (278, 0), 126);
-            Add_Action (Table.States (1211), 76, (120, 0), 127);
-            Add_Action (Table.States (1211), 77, (120, 5), 128);
-            Add_Action (Table.States (1211), 81, (242, 8), 31);
-            Add_Action (Table.States (1211), 97, (333, 1), 129);
-            Add_Action (Table.States (1211), 98, (333, 0), 130);
-            Add_Action (Table.States (1211), 106, (261, 0), 131);
-            Add_Action (Table.States (1211), 107, (242, 5), 120);
-            Add_Action (Table.States (1211), 108, (242, 7), 34);
-            Add_Action (Table.States (1211), 109, (242, 6), 35);
-            Table.States (1211).Goto_List.Set_Capacity (20);
-            Add_Goto (Table.States (1211), 120, 132);
-            Add_Goto (Table.States (1211), 131, 42);
-            Add_Goto (Table.States (1211), 194, 133);
-            Add_Goto (Table.States (1211), 195, 1253);
-            Add_Goto (Table.States (1211), 200, 135);
-            Add_Goto (Table.States (1211), 242, 136);
-            Add_Goto (Table.States (1211), 261, 137);
-            Add_Goto (Table.States (1211), 275, 93);
-            Add_Goto (Table.States (1211), 278, 138);
-            Add_Goto (Table.States (1211), 285, 139);
-            Add_Goto (Table.States (1211), 286, 140);
-            Add_Goto (Table.States (1211), 287, 141);
-            Add_Goto (Table.States (1211), 288, 142);
-            Add_Goto (Table.States (1211), 289, 143);
-            Add_Goto (Table.States (1211), 290, 144);
-            Add_Goto (Table.States (1211), 296, 98);
-            Add_Goto (Table.States (1211), 304, 145);
-            Add_Goto (Table.States (1211), 323, 146);
-            Add_Goto (Table.States (1211), 324, 147);
-            Add_Goto (Table.States (1211), 333, 148);
-            Table.States (1211).Kernel := To_Vector ((0 => ((179, 0),  72,  4, 
(2147483647, 0),  0)));
-            Table.States (1211).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (195, 1),  0)));
-            Table.States (1212).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (1212), (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, 
81, 96, 107, 108, 109, 110), (267, 0),  9,
-            protected_body_0'Access, protected_body_0_check'Access);
-            Table.States (1212).Kernel := To_Vector ((0 => ((267, 0),  99,  0, 
(267, 0),  9)));
-            Table.States (1212).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (267, 0),  9)));
-            Table.States (1213).Action_List.Set_Capacity (17);
-            Add_Action (Table.States (1213), 24, Reduce, (162, 1),  0, null, 
null);
-            Add_Action (Table.States (1213), 25, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (1213), 28, (124, 0), 185);
-            Add_Action (Table.States (1213), 29, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (1213), 30, (213, 0), 8);
-            Add_Action (Table.States (1213), 40, (249, 0), 12);
-            Add_Action (Table.States (1213), 46, (249, 1), 14);
-            Add_Action (Table.States (1213), 47, (216, 0), 15);
-            Add_Action (Table.States (1213), 48, (260, 0), 16);
-            Add_Action (Table.States (1213), 49, Reduce, (162, 1),  0, null, 
null);
-            Add_Action (Table.States (1213), 50, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (1213), 51, (267, 0), 19);
-            Add_Action (Table.States (1213), 63, (316, 0), 25);
-            Add_Action (Table.States (1213), 66, (308, 0), 26);
-            Add_Action (Table.States (1213), 69, (209, 0), 27);
-            Add_Action (Table.States (1213), 71, (334, 0), 28);
-            Add_Action (Table.States (1213), 107, (222, 1), 187);
-            Table.States (1213).Goto_List.Set_Capacity (54);
-            Add_Goto (Table.States (1213), 115, 36);
-            Add_Goto (Table.States (1213), 124, 38);
-            Add_Goto (Table.States (1213), 130, 41);
-            Add_Goto (Table.States (1213), 137, 46);
-            Add_Goto (Table.States (1213), 138, 47);
-            Add_Goto (Table.States (1213), 160, 394);
-            Add_Goto (Table.States (1213), 161, 395);
-            Add_Goto (Table.States (1213), 162, 681);
-            Add_Goto (Table.States (1213), 182, 55);
-            Add_Goto (Table.States (1213), 185, 56);
-            Add_Goto (Table.States (1213), 189, 57);
-            Add_Goto (Table.States (1213), 196, 59);
-            Add_Goto (Table.States (1213), 209, 61);
-            Add_Goto (Table.States (1213), 210, 62);
-            Add_Goto (Table.States (1213), 212, 63);
-            Add_Goto (Table.States (1213), 213, 64);
-            Add_Goto (Table.States (1213), 216, 65);
-            Add_Goto (Table.States (1213), 217, 66);
-            Add_Goto (Table.States (1213), 218, 67);
-            Add_Goto (Table.States (1213), 219, 68);
-            Add_Goto (Table.States (1213), 222, 70);
-            Add_Goto (Table.States (1213), 226, 72);
-            Add_Goto (Table.States (1213), 246, 75);
-            Add_Goto (Table.States (1213), 247, 76);
-            Add_Goto (Table.States (1213), 248, 77);
-            Add_Goto (Table.States (1213), 249, 78);
-            Add_Goto (Table.States (1213), 250, 79);
-            Add_Goto (Table.States (1213), 251, 80);
-            Add_Goto (Table.States (1213), 252, 81);
-            Add_Goto (Table.States (1213), 253, 82);
-            Add_Goto (Table.States (1213), 254, 83);
-            Add_Goto (Table.States (1213), 260, 397);
-            Add_Goto (Table.States (1213), 262, 85);
-            Add_Goto (Table.States (1213), 263, 86);
-            Add_Goto (Table.States (1213), 265, 88);
-            Add_Goto (Table.States (1213), 266, 89);
-            Add_Goto (Table.States (1213), 267, 90);
-            Add_Goto (Table.States (1213), 268, 91);
-            Add_Goto (Table.States (1213), 269, 1254);
-            Add_Goto (Table.States (1213), 274, 92);
-            Add_Goto (Table.States (1213), 284, 95);
-            Add_Goto (Table.States (1213), 292, 96);
-            Add_Goto (Table.States (1213), 307, 103);
-            Add_Goto (Table.States (1213), 308, 104);
-            Add_Goto (Table.States (1213), 310, 106);
-            Add_Goto (Table.States (1213), 311, 107);
-            Add_Goto (Table.States (1213), 312, 108);
-            Add_Goto (Table.States (1213), 314, 109);
-            Add_Goto (Table.States (1213), 316, 110);
-            Add_Goto (Table.States (1213), 319, 112);
-            Add_Goto (Table.States (1213), 320, 113);
-            Add_Goto (Table.States (1213), 322, 114);
-            Add_Goto (Table.States (1213), 328, 116);
-            Add_Goto (Table.States (1213), 334, 117);
-            Table.States (1213).Kernel := To_Vector ((0 => ((274, 0),  74,  2, 
(2147483647, 0),  0)));
-            Table.States (1213).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (162, 1),  0)));
-            Table.States (1214).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (1214), (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, 
81, 96, 107, 108, 109, 110), (307, 0),  9,
-            single_protected_declaration_0'Access, 
single_protected_declaration_0_check'Access);
-            Table.States (1214).Kernel := To_Vector ((0 => ((307, 0),  99,  0, 
(307, 0),  9)));
-            Table.States (1214).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (307, 0),  9)));
-            Table.States (1215).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1215), (1 =>  99), (269, 0),  5, 
protected_definition_0'Access,
-            protected_definition_0_check'Access);
-            Table.States (1215).Kernel := To_Vector ((0 => ((269, 0),  223,  
0, (269, 0),  5)));
-            Table.States (1215).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (269, 0),  5)));
-            Table.States (1216).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1216), 99, Reduce, (223, 1),  0, null, 
null);
-            Add_Action (Table.States (1216), 107, (223, 0), 151);
-            Table.States (1216).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (1216), 223, 1255);
-            Table.States (1216).Kernel := To_Vector ((0 => ((319, 0),  24,  1, 
(2147483647, 0),  0)));
-            Table.States (1216).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (223, 1),  0)));
-            Table.States (1217).Action_List.Set_Capacity (17);
-            Add_Action (Table.States (1217), 24, Reduce, (162, 1),  0, null, 
null);
-            Add_Action (Table.States (1217), 25, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (1217), 28, (124, 0), 185);
-            Add_Action (Table.States (1217), 29, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (1217), 30, (213, 0), 8);
-            Add_Action (Table.States (1217), 40, (249, 0), 12);
-            Add_Action (Table.States (1217), 46, (249, 1), 14);
-            Add_Action (Table.States (1217), 47, (216, 0), 15);
-            Add_Action (Table.States (1217), 48, (260, 0), 16);
-            Add_Action (Table.States (1217), 49, Reduce, (162, 1),  0, null, 
null);
-            Add_Action (Table.States (1217), 50, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (1217), 51, (267, 0), 19);
-            Add_Action (Table.States (1217), 63, (316, 0), 25);
-            Add_Action (Table.States (1217), 66, (308, 0), 26);
-            Add_Action (Table.States (1217), 69, (209, 0), 27);
-            Add_Action (Table.States (1217), 71, (334, 0), 28);
-            Add_Action (Table.States (1217), 107, (222, 1), 187);
-            Table.States (1217).Goto_List.Set_Capacity (54);
-            Add_Goto (Table.States (1217), 115, 36);
-            Add_Goto (Table.States (1217), 124, 38);
-            Add_Goto (Table.States (1217), 130, 41);
-            Add_Goto (Table.States (1217), 137, 46);
-            Add_Goto (Table.States (1217), 138, 47);
-            Add_Goto (Table.States (1217), 160, 394);
-            Add_Goto (Table.States (1217), 161, 395);
-            Add_Goto (Table.States (1217), 162, 706);
-            Add_Goto (Table.States (1217), 182, 55);
-            Add_Goto (Table.States (1217), 185, 56);
-            Add_Goto (Table.States (1217), 189, 57);
-            Add_Goto (Table.States (1217), 196, 59);
-            Add_Goto (Table.States (1217), 209, 61);
-            Add_Goto (Table.States (1217), 210, 62);
-            Add_Goto (Table.States (1217), 212, 63);
-            Add_Goto (Table.States (1217), 213, 64);
-            Add_Goto (Table.States (1217), 216, 65);
-            Add_Goto (Table.States (1217), 217, 66);
-            Add_Goto (Table.States (1217), 218, 67);
-            Add_Goto (Table.States (1217), 219, 68);
-            Add_Goto (Table.States (1217), 222, 70);
-            Add_Goto (Table.States (1217), 226, 72);
-            Add_Goto (Table.States (1217), 246, 75);
-            Add_Goto (Table.States (1217), 247, 76);
-            Add_Goto (Table.States (1217), 248, 77);
-            Add_Goto (Table.States (1217), 249, 78);
-            Add_Goto (Table.States (1217), 250, 79);
-            Add_Goto (Table.States (1217), 251, 80);
-            Add_Goto (Table.States (1217), 252, 81);
-            Add_Goto (Table.States (1217), 253, 82);
-            Add_Goto (Table.States (1217), 254, 83);
-            Add_Goto (Table.States (1217), 260, 397);
-            Add_Goto (Table.States (1217), 262, 85);
-            Add_Goto (Table.States (1217), 263, 86);
-            Add_Goto (Table.States (1217), 265, 88);
-            Add_Goto (Table.States (1217), 266, 89);
-            Add_Goto (Table.States (1217), 267, 90);
-            Add_Goto (Table.States (1217), 268, 91);
-            Add_Goto (Table.States (1217), 274, 92);
-            Add_Goto (Table.States (1217), 284, 95);
-            Add_Goto (Table.States (1217), 292, 96);
-            Add_Goto (Table.States (1217), 307, 103);
-            Add_Goto (Table.States (1217), 308, 104);
-            Add_Goto (Table.States (1217), 310, 106);
-            Add_Goto (Table.States (1217), 311, 107);
-            Add_Goto (Table.States (1217), 312, 108);
-            Add_Goto (Table.States (1217), 314, 109);
-            Add_Goto (Table.States (1217), 316, 110);
-            Add_Goto (Table.States (1217), 319, 112);
-            Add_Goto (Table.States (1217), 320, 113);
-            Add_Goto (Table.States (1217), 321, 1256);
-            Add_Goto (Table.States (1217), 322, 114);
-            Add_Goto (Table.States (1217), 328, 116);
-            Add_Goto (Table.States (1217), 334, 117);
-            Table.States (1217).Kernel := To_Vector ((0 => ((322, 0),  74,  2, 
(2147483647, 0),  0)));
-            Table.States (1217).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (321, 1),  0)));
-            Table.States (1218).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1218), 99, (322, 1), 1257);
-            Table.States (1218).Kernel := To_Vector ((0 => ((322, 1),  223,  
1, (2147483647, 0),  0)));
-            Table.States (1218).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (322, 1),  99, 1257)));
-            Table.States (1219).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1219), 99, Reduce, (223, 1),  0, null, 
null);
-            Add_Action (Table.States (1219), 107, (223, 0), 151);
-            Table.States (1219).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (1219), 223, 1258);
-            Table.States (1219).Kernel := To_Vector ((0 => ((308, 0),  24,  1, 
(2147483647, 0),  0)));
-            Table.States (1219).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (223, 1),  0)));
-            Table.States (1220).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (1220), 7, Reduce, (244, 1),  0, null, 
null);
-            Add_Action (Table.States (1220), 8, (150, 0), 1165);
-            Add_Action (Table.States (1220), 40, (244, 0), 756);
-            Add_Action (Table.States (1220), 81, (242, 8), 31);
-            Add_Action (Table.States (1220), 107, (242, 5), 120);
-            Add_Action (Table.States (1220), 108, (242, 7), 34);
-            Add_Action (Table.States (1220), 109, (242, 6), 35);
-            Table.States (1220).Goto_List.Set_Capacity (8);
-            Add_Goto (Table.States (1220), 117, 1166);
-            Add_Goto (Table.States (1220), 131, 42);
-            Add_Goto (Table.States (1220), 150, 1259);
-            Add_Goto (Table.States (1220), 242, 491);
-            Add_Goto (Table.States (1220), 244, 735);
-            Add_Goto (Table.States (1220), 275, 93);
-            Add_Goto (Table.States (1220), 296, 98);
-            Add_Goto (Table.States (1220), 317, 1168);
-            Table.States (1220).Kernel := To_Vector ((0 => ((123, 1),  42,  1, 
(2147483647, 0),  0)));
-            Table.States (1220).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (1221).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (1221), 7, Reduce, (244, 1),  0, null, 
null);
-            Add_Action (Table.States (1221), 8, (150, 0), 1165);
-            Add_Action (Table.States (1221), 40, (244, 0), 756);
-            Add_Action (Table.States (1221), 81, (242, 8), 31);
-            Add_Action (Table.States (1221), 107, (242, 5), 120);
-            Add_Action (Table.States (1221), 108, (242, 7), 34);
-            Add_Action (Table.States (1221), 109, (242, 6), 35);
-            Table.States (1221).Goto_List.Set_Capacity (8);
-            Add_Goto (Table.States (1221), 117, 1166);
-            Add_Goto (Table.States (1221), 131, 42);
-            Add_Goto (Table.States (1221), 150, 1260);
-            Add_Goto (Table.States (1221), 242, 491);
-            Add_Goto (Table.States (1221), 244, 735);
-            Add_Goto (Table.States (1221), 275, 93);
-            Add_Goto (Table.States (1221), 296, 98);
-            Add_Goto (Table.States (1221), 317, 1168);
-            Table.States (1221).Kernel := To_Vector ((0 => ((123, 0),  42,  1, 
(2147483647, 0),  0)));
-            Table.States (1221).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (1222).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1222), (78, 86), (229, 0),  3, null, 
null);
-            Table.States (1222).Kernel := To_Vector ((0 => ((229, 0),  228,  
0, (229, 0),  3)));
-            Table.States (1222).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (229, 0),  3)));
-            Table.States (1223).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (1223), 53, (228, 0), 1261);
-            Add_Action (Table.States (1223), 76, (118, 0), 237);
-            Add_Action (Table.States (1223), 87, (296, 0), 239);
-            Add_Action (Table.States (1223), 104, (325, 0), 241);
-            Add_Action (Table.States (1223), 105, (325, 1), 242);
-            Table.States (1223).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (1223), 118, 243);
-            Add_Goto (Table.States (1223), 325, 244);
-            Table.States (1223).Kernel := To_Vector ((((131, 0),  242,  2, 
(2147483647, 0),  0), ((228, 0),  242,  2,
-            (2147483647, 0),  0), ((242, 0),  242,  5, (2147483647, 0),  0), 
((242, 1),  242,  2, (2147483647, 0),  0),
-            ((275, 0),  242,  3, (2147483647, 0),  0), ((296, 0),  242,  2, 
(2147483647, 0),  0), ((296, 1),  242,  2,
-            (2147483647, 0),  0), ((296, 2),  242,  2, (2147483647, 0),  0), 
((296, 3),  242,  2, (2147483647, 0),
-            0)));
-            Table.States (1223).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (228, 0),  53, 1261)));
-            Table.States (1224).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1224), (78, 86), (228, 0),  3, null, 
null);
-            Table.States (1224).Kernel := To_Vector ((0 => ((228, 0),  83,  0, 
(228, 0),  3)));
-            Table.States (1224).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (228, 0),  3)));
-            Table.States (1225).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1225), (74, 99), (329, 4),  5, null, 
null);
-            Table.States (1225).Kernel := To_Vector ((0 => ((329, 4),  282,  
0, (329, 4),  5)));
-            Table.States (1225).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (329, 4),  5)));
-            Table.States (1226).Action_List.Set_Capacity (13);
-            Add_Action (Table.States (1226), 3, (200, 2), 122);
-            Add_Action (Table.States (1226), 39, (261, 4), 123);
-            Add_Action (Table.States (1226), 40, (200, 3), 124);
-            Add_Action (Table.States (1226), 41, (261, 1), 125);
-            Add_Action (Table.States (1226), 76, (120, 0), 127);
-            Add_Action (Table.States (1226), 77, (120, 5), 128);
-            Add_Action (Table.States (1226), 81, (242, 8), 31);
-            Add_Action (Table.States (1226), 97, (333, 1), 129);
-            Add_Action (Table.States (1226), 98, (333, 0), 130);
-            Add_Action (Table.States (1226), 106, (261, 0), 131);
-            Add_Action (Table.States (1226), 107, (242, 5), 120);
-            Add_Action (Table.States (1226), 108, (242, 7), 34);
-            Add_Action (Table.States (1226), 109, (242, 6), 35);
-            Table.States (1226).Goto_List.Set_Capacity (11);
-            Add_Goto (Table.States (1226), 120, 132);
-            Add_Goto (Table.States (1226), 131, 42);
-            Add_Goto (Table.States (1226), 200, 135);
-            Add_Goto (Table.States (1226), 242, 136);
-            Add_Goto (Table.States (1226), 261, 137);
-            Add_Goto (Table.States (1226), 275, 93);
-            Add_Goto (Table.States (1226), 296, 98);
-            Add_Goto (Table.States (1226), 304, 1262);
-            Add_Goto (Table.States (1226), 323, 146);
-            Add_Goto (Table.States (1226), 324, 147);
-            Add_Goto (Table.States (1226), 333, 148);
-            Table.States (1226).Kernel := To_Vector ((0 => ((282, 0),  88,  1, 
(2147483647, 0),  0)));
-            Table.States (1226).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (261, 0),  106, 131)));
-            Table.States (1227).Action_List.Set_Capacity (17);
-            Add_Action (Table.States (1227), 3, (200, 2), 122);
-            Add_Action (Table.States (1227), 39, (261, 4), 123);
-            Add_Action (Table.States (1227), 40, (168, 1), 263);
-            Add_Action (Table.States (1227), 41, (261, 1), 125);
-            Add_Action (Table.States (1227), 44, (168, 3), 265);
-            Add_Action (Table.States (1227), 52, (278, 0), 126);
-            Add_Action (Table.States (1227), 76, (120, 0), 127);
-            Add_Action (Table.States (1227), 77, (120, 5), 128);
-            Add_Action (Table.States (1227), 81, (242, 8), 31);
-            Add_Action (Table.States (1227), 82, Reduce, (169, 2),  0, null, 
null);
-            Add_Action (Table.States (1227), 90, Reduce, (169, 2),  0, null, 
null);
-            Add_Action (Table.States (1227), 97, (333, 1), 129);
-            Add_Action (Table.States (1227), 98, (333, 0), 130);
-            Add_Action (Table.States (1227), 106, (261, 0), 131);
-            Add_Action (Table.States (1227), 107, (242, 5), 120);
-            Add_Action (Table.States (1227), 108, (242, 7), 34);
-            Add_Action (Table.States (1227), 109, (242, 6), 35);
-            Table.States (1227).Goto_List.Set_Capacity (22);
-            Add_Goto (Table.States (1227), 120, 132);
-            Add_Goto (Table.States (1227), 131, 42);
-            Add_Goto (Table.States (1227), 168, 271);
-            Add_Goto (Table.States (1227), 169, 1263);
-            Add_Goto (Table.States (1227), 194, 611);
-            Add_Goto (Table.States (1227), 200, 135);
-            Add_Goto (Table.States (1227), 242, 276);
-            Add_Goto (Table.States (1227), 261, 137);
-            Add_Goto (Table.States (1227), 275, 93);
-            Add_Goto (Table.States (1227), 278, 138);
-            Add_Goto (Table.States (1227), 280, 278);
-            Add_Goto (Table.States (1227), 285, 139);
-            Add_Goto (Table.States (1227), 286, 140);
-            Add_Goto (Table.States (1227), 287, 141);
-            Add_Goto (Table.States (1227), 288, 142);
-            Add_Goto (Table.States (1227), 289, 143);
-            Add_Goto (Table.States (1227), 290, 144);
-            Add_Goto (Table.States (1227), 296, 98);
-            Add_Goto (Table.States (1227), 304, 279);
-            Add_Goto (Table.States (1227), 323, 146);
-            Add_Goto (Table.States (1227), 324, 147);
-            Add_Goto (Table.States (1227), 333, 148);
-            Table.States (1227).Kernel := To_Vector ((0 => ((332, 0),  72,  1, 
(2147483647, 0),  0)));
-            Table.States (1227).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (169, 2),  0)));
-         end Subr_21;
-         procedure Subr_22
-         is begin
-            Table.States (1228).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1228), 24, (330, 0), 1264);
-            Add_Action (Table.States (1228), 72, (332, 0), 1227);
-            Table.States (1228).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (1228), 332, 1265);
-            Table.States (1228).Kernel := To_Vector ((((330, 0),  331,  3, 
(2147483647, 0),  0), ((331, 0),  331,  2,
-            (2147483647, 0),  0)));
-            Table.States (1228).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (330, 0),  24, 1264)));
-            Table.States (1229).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1229), (24, 72), (331, 1),  1, null, 
null);
-            Table.States (1229).Kernel := To_Vector ((0 => ((331, 1),  332,  
0, (331, 1),  1)));
-            Table.States (1229).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (331, 1),  1)));
-            Table.States (1230).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (1230), (74, 85, 99), (150, 2),  2, null, 
null);
-            Table.States (1230).Kernel := To_Vector ((0 => ((150, 2),  117,  
0, (150, 2),  2)));
-            Table.States (1230).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (150, 2),  2)));
-            Table.States (1231).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (1231), (74, 85, 99), (150, 0),  2, null, 
null);
-            Table.States (1231).Kernel := To_Vector ((0 => ((150, 0),  317,  
0, (150, 0),  2)));
-            Table.States (1231).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (150, 0),  2)));
-            Table.States (1232).Action_List.Set_Capacity (16);
-            Add_Action (Table.States (1232), 3, (200, 2), 122);
-            Add_Action (Table.States (1232), 39, (261, 4), 123);
-            Add_Action (Table.States (1232), 40, (200, 3), 124);
-            Add_Action (Table.States (1232), 41, (261, 1), 125);
-            Add_Action (Table.States (1232), 52, (278, 0), 126);
-            Add_Action (Table.States (1232), 74, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (1232), 76, (120, 0), 127);
-            Add_Action (Table.States (1232), 77, (120, 5), 128);
-            Add_Action (Table.States (1232), 81, (242, 8), 31);
-            Add_Action (Table.States (1232), 97, (333, 1), 129);
-            Add_Action (Table.States (1232), 98, (333, 0), 130);
-            Add_Action (Table.States (1232), 99, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (1232), 106, (261, 0), 131);
-            Add_Action (Table.States (1232), 107, (242, 5), 120);
-            Add_Action (Table.States (1232), 108, (242, 7), 34);
-            Add_Action (Table.States (1232), 109, (242, 6), 35);
-            Table.States (1232).Goto_List.Set_Capacity (20);
-            Add_Goto (Table.States (1232), 120, 132);
-            Add_Goto (Table.States (1232), 131, 42);
-            Add_Goto (Table.States (1232), 194, 133);
-            Add_Goto (Table.States (1232), 195, 1266);
-            Add_Goto (Table.States (1232), 200, 135);
-            Add_Goto (Table.States (1232), 242, 136);
-            Add_Goto (Table.States (1232), 261, 137);
-            Add_Goto (Table.States (1232), 275, 93);
-            Add_Goto (Table.States (1232), 278, 138);
-            Add_Goto (Table.States (1232), 285, 139);
-            Add_Goto (Table.States (1232), 286, 140);
-            Add_Goto (Table.States (1232), 287, 141);
-            Add_Goto (Table.States (1232), 288, 142);
-            Add_Goto (Table.States (1232), 289, 143);
-            Add_Goto (Table.States (1232), 290, 144);
-            Add_Goto (Table.States (1232), 296, 98);
-            Add_Goto (Table.States (1232), 304, 145);
-            Add_Goto (Table.States (1232), 323, 146);
-            Add_Goto (Table.States (1232), 324, 147);
-            Add_Goto (Table.States (1232), 333, 148);
-            Table.States (1232).Kernel := To_Vector ((0 => ((149, 0),  85,  1, 
(2147483647, 0),  0)));
-            Table.States (1232).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (195, 1),  0)));
-            Table.States (1233).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1233), 99, (149, 1), 1267);
-            Table.States (1233).Kernel := To_Vector ((0 => ((149, 1),  125,  
1, (2147483647, 0),  0)));
-            Table.States (1233).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (149, 1),  99, 1267)));
-            Table.States (1234).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (1234), 10, (230, 0), 1026);
-            Add_Action (Table.States (1234), 74, Reduce, (122, 0),  2, null, 
null);
-            Add_Action (Table.States (1234), 99, Reduce, (122, 0),  2, null, 
null);
-            Table.States (1234).Kernel := To_Vector ((((122, 0),  230,  0, 
(122, 0),  2), ((230, 0),  230,  2,
-            (2147483647, 0),  0)));
-            Table.States (1234).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (122, 0),  2)));
-            Table.States (1235).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1235), 49, (262, 0), 1268);
-            Table.States (1235).Kernel := To_Vector ((0 => ((262, 0),  74,  2, 
(2147483647, 0),  0)));
-            Table.States (1235).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (262, 0),  49, 1268)));
-            Table.States (1236).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1236), 41, (283, 1), 719);
-            Add_Action (Table.States (1236), 54, (283, 0), 722);
-            Table.States (1236).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (1236), 283, 1269);
-            Table.States (1236).Kernel := To_Vector ((0 => ((165, 0),  74,  2, 
(2147483647, 0),  0)));
-            Table.States (1236).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (283, 1),  41, 719)));
-            Table.States (1237).Action_List.Set_Capacity (25);
-            Add_Action (Table.States (1237), 4, (116, 0), 1);
-            Add_Action (Table.States (1237), 5, (306, 8), 2);
-            Add_Action (Table.States (1237), 13, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (1237), 15, (142, 0), 3);
-            Add_Action (Table.States (1237), 17, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (1237), 18, (164, 0), 4);
-            Add_Action (Table.States (1237), 24, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (1237), 27, (193, 0), 5);
-            Add_Action (Table.States (1237), 28, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (1237), 31, (306, 3), 9);
-            Add_Action (Table.States (1237), 32, (225, 0), 10);
-            Add_Action (Table.States (1237), 37, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (1237), 41, (306, 0), 13);
-            Add_Action (Table.States (1237), 48, (260, 0), 16);
-            Add_Action (Table.States (1237), 52, (279, 0), 20);
-            Add_Action (Table.States (1237), 57, (293, 0), 21);
-            Add_Action (Table.States (1237), 58, (199, 0), 22);
-            Add_Action (Table.States (1237), 61, (129, 0), 24);
-            Add_Action (Table.States (1237), 72, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (1237), 73, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (1237), 81, (242, 8), 31);
-            Add_Action (Table.States (1237), 96, (220, 0), 32);
-            Add_Action (Table.States (1237), 107, (134, 0), 363);
-            Add_Action (Table.States (1237), 108, (242, 7), 34);
-            Add_Action (Table.States (1237), 109, (242, 6), 35);
-            Table.States (1237).Goto_List.Set_Capacity (31);
-            Add_Goto (Table.States (1237), 116, 37);
-            Add_Goto (Table.States (1237), 126, 39);
-            Add_Goto (Table.States (1237), 129, 40);
-            Add_Goto (Table.States (1237), 131, 42);
-            Add_Goto (Table.States (1237), 134, 43);
-            Add_Goto (Table.States (1237), 135, 44);
-            Add_Goto (Table.States (1237), 136, 45);
-            Add_Goto (Table.States (1237), 142, 48);
-            Add_Goto (Table.States (1237), 154, 51);
-            Add_Goto (Table.States (1237), 155, 52);
-            Add_Goto (Table.States (1237), 164, 54);
-            Add_Goto (Table.States (1237), 193, 58);
-            Add_Goto (Table.States (1237), 199, 60);
-            Add_Goto (Table.States (1237), 220, 69);
-            Add_Goto (Table.States (1237), 225, 71);
-            Add_Goto (Table.States (1237), 235, 73);
-            Add_Goto (Table.States (1237), 242, 74);
-            Add_Goto (Table.States (1237), 260, 84);
-            Add_Goto (Table.States (1237), 264, 87);
-            Add_Goto (Table.States (1237), 275, 93);
-            Add_Goto (Table.States (1237), 279, 94);
-            Add_Goto (Table.States (1237), 293, 97);
-            Add_Goto (Table.States (1237), 296, 98);
-            Add_Goto (Table.States (1237), 297, 99);
-            Add_Goto (Table.States (1237), 301, 100);
-            Add_Goto (Table.States (1237), 302, 364);
-            Add_Goto (Table.States (1237), 303, 1270);
-            Add_Goto (Table.States (1237), 305, 101);
-            Add_Goto (Table.States (1237), 306, 102);
-            Add_Goto (Table.States (1237), 309, 366);
-            Add_Goto (Table.States (1237), 326, 115);
-            Table.States (1237).Kernel := To_Vector ((0 => ((190, 0),  90,  0, 
(303, 1),  0)));
-            Table.States (1237).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (303, 1),  0)));
-            Table.States (1238).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (1238), (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, 
81, 96, 107, 108, 109, 110), (247, 1),  9,
-            object_declaration_1'Access, null);
-            Table.States (1238).Kernel := To_Vector ((0 => ((247, 1),  99,  0, 
(247, 1),  9)));
-            Table.States (1238).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (247, 1),  9)));
-            Table.States (1239).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (1239), (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, 
81, 96, 107, 108, 109, 110), (247, 2),  9,
-            object_declaration_2'Access, null);
-            Table.States (1239).Kernel := To_Vector ((0 => ((247, 2),  99,  0, 
(247, 2),  9)));
-            Table.States (1239).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (247, 2),  9)));
-            Table.States (1240).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (1240), (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, 
81, 96, 107, 108, 109, 110), (247, 0),  9,
-            object_declaration_0'Access, null);
-            Table.States (1240).Kernel := To_Vector ((0 => ((247, 0),  99,  0, 
(247, 0),  9)));
-            Table.States (1240).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (247, 0),  9)));
-            Table.States (1241).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (1241), (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, 
81, 96, 107, 108, 109, 110), (182, 0),  9,
-            entry_declaration_0'Access, null);
-            Table.States (1241).Kernel := To_Vector ((0 => ((182, 0),  99,  0, 
(182, 0),  9)));
-            Table.States (1241).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (182, 0),  9)));
-            Table.States (1242).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1242), 99, (310, 0), 1271);
-            Table.States (1242).Kernel := To_Vector ((0 => ((310, 0),  243,  
1, (2147483647, 0),  0)));
-            Table.States (1242).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (310, 0),  99, 1271)));
-            Table.States (1243).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (1243), (22, 23, 78), (175, 0),  4, 
elsif_expression_item_0'Access, null);
-            Table.States (1243).Kernel := To_Vector ((0 => ((175, 0),  195,  
0, (175, 0),  4)));
-            Table.States (1243).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (175, 0),  4)));
-            Table.States (1244).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1244), 88, (147, 0), 1272);
-            Table.States (1244).Kernel := To_Vector ((0 => ((147, 0),  304,  
3, (2147483647, 0),  0)));
-            Table.States (1244).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (147, 0),  88, 1272)));
-            Table.States (1245).Action_List.Set_Capacity (16);
-            Add_Action (Table.States (1245), 3, (200, 2), 122);
-            Add_Action (Table.States (1245), 39, (261, 4), 123);
-            Add_Action (Table.States (1245), 40, (200, 3), 124);
-            Add_Action (Table.States (1245), 41, (261, 1), 125);
-            Add_Action (Table.States (1245), 52, (278, 0), 126);
-            Add_Action (Table.States (1245), 76, (120, 0), 127);
-            Add_Action (Table.States (1245), 77, (120, 5), 128);
-            Add_Action (Table.States (1245), 78, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (1245), 81, (242, 8), 31);
-            Add_Action (Table.States (1245), 97, (333, 1), 129);
-            Add_Action (Table.States (1245), 98, (333, 0), 130);
-            Add_Action (Table.States (1245), 99, Reduce, (195, 1),  0, null, 
null);
-            Add_Action (Table.States (1245), 106, (261, 0), 131);
-            Add_Action (Table.States (1245), 107, (242, 5), 120);
-            Add_Action (Table.States (1245), 108, (242, 7), 34);
-            Add_Action (Table.States (1245), 109, (242, 6), 35);
-            Table.States (1245).Goto_List.Set_Capacity (20);
-            Add_Goto (Table.States (1245), 120, 132);
-            Add_Goto (Table.States (1245), 131, 42);
-            Add_Goto (Table.States (1245), 194, 133);
-            Add_Goto (Table.States (1245), 195, 1273);
-            Add_Goto (Table.States (1245), 200, 135);
-            Add_Goto (Table.States (1245), 242, 136);
-            Add_Goto (Table.States (1245), 261, 137);
-            Add_Goto (Table.States (1245), 275, 93);
-            Add_Goto (Table.States (1245), 278, 138);
-            Add_Goto (Table.States (1245), 285, 139);
-            Add_Goto (Table.States (1245), 286, 140);
-            Add_Goto (Table.States (1245), 287, 141);
-            Add_Goto (Table.States (1245), 288, 142);
-            Add_Goto (Table.States (1245), 289, 143);
-            Add_Goto (Table.States (1245), 290, 144);
-            Add_Goto (Table.States (1245), 296, 98);
-            Add_Goto (Table.States (1245), 304, 145);
-            Add_Goto (Table.States (1245), 323, 146);
-            Add_Goto (Table.States (1245), 324, 147);
-            Add_Goto (Table.States (1245), 333, 148);
-            Table.States (1245).Kernel := To_Vector ((0 => ((257, 0),  85,  0, 
(195, 1),  0)));
-            Table.States (1245).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (195, 1),  0)));
-            Table.States (1246).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1246), 49, (206, 0), 1274);
-            Table.States (1246).Kernel := To_Vector ((0 => ((206, 0),  74,  1, 
(2147483647, 0),  0)));
-            Table.States (1246).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (206, 0),  49, 1274)));
-            Table.States (1247).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1247), (74, 99), (208, 0),  3, null, 
null);
-            Table.States (1247).Kernel := To_Vector ((0 => ((208, 0),  78,  0, 
(208, 0),  3)));
-            Table.States (1247).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (208, 0),  3)));
-            Table.States (1248).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (1248), (29, 47, 48, 50, 69, 71, 74, 
107), (207, 0),  9,
-            formal_package_declaration_0'Access, null);
-            Table.States (1248).Kernel := To_Vector ((0 => ((207, 0),  99,  0, 
(207, 0),  9)));
-            Table.States (1248).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (207, 0),  9)));
-            Table.States (1249).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (1249), (29, 47, 48, 50, 69, 71, 74, 
107), (201, 0),  9,
-            formal_object_declaration_0'Access, null);
-            Table.States (1249).Kernel := To_Vector ((0 => ((201, 0),  99,  0, 
(201, 0),  9)));
-            Table.States (1249).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (201, 0),  9)));
-            Table.States (1250).Action_List.Set_Capacity (47);
-            Add_Action (Table.States (1250), (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, 81, 96, 107, 108,
-            109, 110), (225, 0),  10, if_statement_0'Access, null);
-            Table.States (1250).Kernel := To_Vector ((0 => ((225, 0),  99,  0, 
(225, 0),  10)));
-            Table.States (1250).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (225, 0),  10)));
-            Table.States (1251).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1251), 99, (250, 0), 1275);
-            Table.States (1251).Kernel := To_Vector ((0 => ((250, 0),  243,  
1, (2147483647, 0),  0)));
-            Table.States (1251).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (250, 0),  99, 1275)));
-            Table.States (1252).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1252), 33, (180, 0), 1276);
-            Table.States (1252).Kernel := To_Vector ((0 => ((180, 0),  107,  
3, (2147483647, 0),  0)));
-            Table.States (1252).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (180, 0),  33, 1276)));
-            Table.States (1253).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1253), 35, (179, 0), 1277);
-            Table.States (1253).Kernel := To_Vector ((0 => ((179, 0),  195,  
4, (2147483647, 0),  0)));
-            Table.States (1253).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (179, 0),  35, 1277)));
-            Table.States (1254).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1254), 99, (274, 0), 1278);
-            Table.States (1254).Kernel := To_Vector ((0 => ((274, 0),  269,  
1, (2147483647, 0),  0)));
-            Table.States (1254).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (274, 0),  99, 1278)));
-            Table.States (1255).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1255), 99, (319, 0), 1279);
-            Table.States (1255).Kernel := To_Vector ((0 => ((319, 0),  223,  
1, (2147483647, 0),  0)));
-            Table.States (1255).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (319, 0),  99, 1279)));
-            Table.States (1256).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1256), 24, (322, 0), 1280);
-            Table.States (1256).Kernel := To_Vector ((0 => ((322, 0),  321,  
2, (2147483647, 0),  0)));
-            Table.States (1256).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (322, 0),  24, 1280)));
-            Table.States (1257).Action_List.Set_Capacity (41);
-            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, 
81, 96, 107, 108, 109, 110), (322, 1),  10,
-            task_type_declaration_1'Access, 
task_type_declaration_1_check'Access);
-            Table.States (1257).Kernel := To_Vector ((0 => ((322, 1),  99,  0, 
(322, 1),  10)));
-            Table.States (1257).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (322, 1),  10)));
-            Table.States (1258).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1258), 99, (308, 0), 1281);
-            Table.States (1258).Kernel := To_Vector ((0 => ((308, 0),  223,  
1, (2147483647, 0),  0)));
-            Table.States (1258).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (308, 0),  99, 1281)));
-            Table.States (1259).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (1259), (74, 85, 99), (123, 1),  6, 
array_type_definition_1'Access, null);
-            Table.States (1259).Kernel := To_Vector ((0 => ((123, 1),  150,  
0, (123, 1),  6)));
-            Table.States (1259).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (123, 1),  6)));
-            Table.States (1260).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (1260), (74, 85, 99), (123, 0),  6, 
array_type_definition_0'Access, null);
-            Table.States (1260).Kernel := To_Vector ((0 => ((123, 0),  150,  
0, (123, 0),  6)));
-            Table.States (1260).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (123, 0),  6)));
-            Table.States (1261).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1261), 83, (228, 0), 1224);
-            Table.States (1261).Kernel := To_Vector ((0 => ((228, 0),  53,  1, 
(2147483647, 0),  0)));
-            Table.States (1261).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (228, 0),  83, 1224)));
-            Table.States (1262).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1262), (74, 99), (282, 0),  4, null, 
null);
-            Table.States (1262).Kernel := To_Vector ((0 => ((282, 0),  304,  
0, (282, 0),  4)));
-            Table.States (1262).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (282, 0),  4)));
-            Table.States (1263).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1263), 82, (169, 0), 450);
-            Add_Action (Table.States (1263), 90, (332, 0), 1282);
-            Table.States (1263).Kernel := To_Vector ((((169, 0),  169,  2, 
(2147483647, 0),  0), ((332, 0),  169,  1,
-            (2147483647, 0),  0)));
-            Table.States (1263).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (332, 0),  90, 1282)));
-            Table.States (1264).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1264), 15, (330, 0), 1283);
-            Table.States (1264).Kernel := To_Vector ((0 => ((330, 0),  24,  2, 
(2147483647, 0),  0)));
-            Table.States (1264).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (330, 0),  15, 1283)));
-            Table.States (1265).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1265), (24, 72), (331, 0),  2, 
variant_list_0'Access, null);
-            Table.States (1265).Kernel := To_Vector ((0 => ((331, 0),  332,  
0, (331, 0),  2)));
-            Table.States (1265).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (331, 0),  2)));
-            Table.States (1266).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1266), 74, (125, 0), 340);
-            Add_Action (Table.States (1266), 99, Reduce, (125, 1),  0, null, 
null);
-            Table.States (1266).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (1266), 125, 1284);
-            Table.States (1266).Kernel := To_Vector ((0 => ((149, 0),  195,  
1, (2147483647, 0),  0)));
-            Table.States (1266).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (1267).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (1267), (15, 24, 28, 72, 107), (149, 1),  
5, component_declaration_1'Access,
-            null);
-            Table.States (1267).Kernel := To_Vector ((0 => ((149, 1),  99,  0, 
(149, 1),  5)));
-            Table.States (1267).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (149, 1),  5)));
-            Table.States (1268).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1268), 74, (125, 0), 340);
-            Add_Action (Table.States (1268), 99, Reduce, (125, 1),  0, null, 
null);
-            Table.States (1268).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (1268), 125, 1285);
-            Table.States (1268).Kernel := To_Vector ((0 => ((262, 0),  49,  1, 
(2147483647, 0),  0)));
-            Table.States (1268).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (125, 1),  0)));
-            Table.States (1269).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1269), (74, 99), (165, 0),  6, 
derived_type_definition_0'Access, null);
-            Table.States (1269).Kernel := To_Vector ((0 => ((165, 0),  283,  
0, (165, 0),  6)));
-            Table.States (1269).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (165, 0),  6)));
-            Table.States (1270).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1270), (24, 72), (190, 0),  6, 
exception_handler_0'Access, null);
-            Table.States (1270).Kernel := To_Vector ((0 => ((190, 0),  303,  
0, (190, 0),  6)));
-            Table.States (1270).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (190, 0),  6)));
-            Table.States (1271).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (1271), (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, 
81, 96, 107, 108, 109, 110), (310, 0),  10,
-            subprogram_body_0'Access, subprogram_body_0_check'Access);
-            Table.States (1271).Kernel := To_Vector ((0 => ((310, 0),  99,  0, 
(310, 0),  10)));
-            Table.States (1271).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (310, 0),  10)));
-            Table.States (1272).Action_List.Set_Capacity (13);
-            Add_Action (Table.States (1272), 3, (200, 2), 122);
-            Add_Action (Table.States (1272), 39, (261, 4), 123);
-            Add_Action (Table.States (1272), 40, (200, 3), 124);
-            Add_Action (Table.States (1272), 41, (261, 1), 125);
-            Add_Action (Table.States (1272), 76, (120, 0), 127);
-            Add_Action (Table.States (1272), 77, (120, 5), 128);
-            Add_Action (Table.States (1272), 81, (242, 8), 31);
-            Add_Action (Table.States (1272), 97, (333, 1), 129);
-            Add_Action (Table.States (1272), 98, (333, 0), 130);
-            Add_Action (Table.States (1272), 106, (261, 0), 131);
-            Add_Action (Table.States (1272), 107, (242, 5), 120);
-            Add_Action (Table.States (1272), 108, (242, 7), 34);
-            Add_Action (Table.States (1272), 109, (242, 6), 35);
-            Table.States (1272).Goto_List.Set_Capacity (11);
-            Add_Goto (Table.States (1272), 120, 132);
-            Add_Goto (Table.States (1272), 131, 42);
-            Add_Goto (Table.States (1272), 200, 135);
-            Add_Goto (Table.States (1272), 242, 136);
-            Add_Goto (Table.States (1272), 261, 137);
-            Add_Goto (Table.States (1272), 275, 93);
-            Add_Goto (Table.States (1272), 296, 98);
-            Add_Goto (Table.States (1272), 304, 1286);
-            Add_Goto (Table.States (1272), 323, 146);
-            Add_Goto (Table.States (1272), 324, 147);
-            Add_Goto (Table.States (1272), 333, 148);
-            Table.States (1272).Kernel := To_Vector ((0 => ((147, 0),  88,  2, 
(2147483647, 0),  0)));
-            Table.States (1272).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (261, 0),  106, 131)));
-            Table.States (1273).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1273), (78, 99), (257, 0),  8, 
parameter_specification_0'Access, null);
-            Table.States (1273).Kernel := To_Vector ((0 => ((257, 0),  195,  
0, (257, 0),  8)));
-            Table.States (1273).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (257, 0),  8)));
-            Table.States (1274).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1274), (74, 99), (206, 0),  6, 
formal_derived_type_definition_0'Access, null);
-            Table.States (1274).Kernel := To_Vector ((0 => ((206, 0),  49,  0, 
(206, 0),  6)));
-            Table.States (1274).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (206, 0),  6)));
-            Table.States (1275).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (1275), (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, 
81, 96, 107, 108, 109, 110), (250, 0),  11,
-            package_body_0'Access, package_body_0_check'Access);
-            Table.States (1275).Kernel := To_Vector ((0 => ((250, 0),  99,  0, 
(250, 0),  11)));
-            Table.States (1275).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (250, 0),  11)));
-            Table.States (1276).Action_List.Set_Capacity (13);
-            Add_Action (Table.States (1276), 3, (200, 2), 122);
-            Add_Action (Table.States (1276), 39, (261, 4), 123);
-            Add_Action (Table.States (1276), 40, (200, 3), 481);
-            Add_Action (Table.States (1276), 41, (261, 1), 125);
-            Add_Action (Table.States (1276), 76, (120, 0), 127);
-            Add_Action (Table.States (1276), 77, (120, 5), 128);
-            Add_Action (Table.States (1276), 81, (242, 8), 31);
-            Add_Action (Table.States (1276), 97, (333, 1), 129);
-            Add_Action (Table.States (1276), 98, (333, 0), 130);
-            Add_Action (Table.States (1276), 106, (261, 0), 131);
-            Add_Action (Table.States (1276), 107, (242, 5), 120);
-            Add_Action (Table.States (1276), 108, (242, 7), 34);
-            Add_Action (Table.States (1276), 109, (242, 6), 35);
-            Table.States (1276).Goto_List.Set_Capacity (14);
-            Add_Goto (Table.States (1276), 120, 132);
-            Add_Goto (Table.States (1276), 131, 42);
-            Add_Goto (Table.States (1276), 170, 1287);
-            Add_Goto (Table.States (1276), 200, 135);
-            Add_Goto (Table.States (1276), 242, 484);
-            Add_Goto (Table.States (1276), 261, 137);
-            Add_Goto (Table.States (1276), 275, 93);
-            Add_Goto (Table.States (1276), 280, 485);
-            Add_Goto (Table.States (1276), 296, 98);
-            Add_Goto (Table.States (1276), 304, 486);
-            Add_Goto (Table.States (1276), 317, 487);
-            Add_Goto (Table.States (1276), 323, 146);
-            Add_Goto (Table.States (1276), 324, 147);
-            Add_Goto (Table.States (1276), 333, 148);
-            Table.States (1276).Kernel := To_Vector ((0 => ((180, 0),  33,  2, 
(2147483647, 0),  0)));
-            Table.States (1276).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (242, 5),  107, 120)));
-            Table.States (1277).Action_List.Set_Capacity (16);
-            Add_Action (Table.States (1277), 13, Reduce, (162, 1),  0, null, 
null);
-            Add_Action (Table.States (1277), 25, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (1277), 28, (124, 0), 185);
-            Add_Action (Table.States (1277), 29, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (1277), 30, (213, 0), 8);
-            Add_Action (Table.States (1277), 40, (249, 0), 12);
-            Add_Action (Table.States (1277), 46, (249, 1), 14);
-            Add_Action (Table.States (1277), 47, (216, 0), 15);
-            Add_Action (Table.States (1277), 48, (260, 0), 16);
-            Add_Action (Table.States (1277), 50, Reduce, (249, 2),  0, null, 
null);
-            Add_Action (Table.States (1277), 51, (267, 0), 19);
-            Add_Action (Table.States (1277), 63, (316, 0), 25);
-            Add_Action (Table.States (1277), 66, (308, 0), 26);
-            Add_Action (Table.States (1277), 69, (209, 0), 27);
-            Add_Action (Table.States (1277), 71, (334, 0), 28);
-            Add_Action (Table.States (1277), 107, (222, 1), 187);
-            Table.States (1277).Goto_List.Set_Capacity (53);
-            Add_Goto (Table.States (1277), 115, 36);
-            Add_Goto (Table.States (1277), 124, 38);
-            Add_Goto (Table.States (1277), 130, 41);
-            Add_Goto (Table.States (1277), 137, 46);
-            Add_Goto (Table.States (1277), 138, 47);
-            Add_Goto (Table.States (1277), 160, 394);
-            Add_Goto (Table.States (1277), 161, 395);
-            Add_Goto (Table.States (1277), 162, 1288);
-            Add_Goto (Table.States (1277), 182, 55);
-            Add_Goto (Table.States (1277), 185, 56);
-            Add_Goto (Table.States (1277), 189, 57);
-            Add_Goto (Table.States (1277), 196, 59);
-            Add_Goto (Table.States (1277), 209, 61);
-            Add_Goto (Table.States (1277), 210, 62);
-            Add_Goto (Table.States (1277), 212, 63);
-            Add_Goto (Table.States (1277), 213, 64);
-            Add_Goto (Table.States (1277), 216, 65);
-            Add_Goto (Table.States (1277), 217, 66);
-            Add_Goto (Table.States (1277), 218, 67);
-            Add_Goto (Table.States (1277), 219, 68);
-            Add_Goto (Table.States (1277), 222, 70);
-            Add_Goto (Table.States (1277), 226, 72);
-            Add_Goto (Table.States (1277), 246, 75);
-            Add_Goto (Table.States (1277), 247, 76);
-            Add_Goto (Table.States (1277), 248, 77);
-            Add_Goto (Table.States (1277), 249, 78);
-            Add_Goto (Table.States (1277), 250, 79);
-            Add_Goto (Table.States (1277), 251, 80);
-            Add_Goto (Table.States (1277), 252, 81);
-            Add_Goto (Table.States (1277), 253, 82);
-            Add_Goto (Table.States (1277), 254, 83);
-            Add_Goto (Table.States (1277), 260, 397);
-            Add_Goto (Table.States (1277), 262, 85);
-            Add_Goto (Table.States (1277), 263, 86);
-            Add_Goto (Table.States (1277), 265, 88);
-            Add_Goto (Table.States (1277), 266, 89);
-            Add_Goto (Table.States (1277), 267, 90);
-            Add_Goto (Table.States (1277), 268, 91);
-            Add_Goto (Table.States (1277), 274, 92);
-            Add_Goto (Table.States (1277), 284, 95);
-            Add_Goto (Table.States (1277), 292, 96);
-            Add_Goto (Table.States (1277), 307, 103);
-            Add_Goto (Table.States (1277), 308, 104);
-            Add_Goto (Table.States (1277), 310, 106);
-            Add_Goto (Table.States (1277), 311, 107);
-            Add_Goto (Table.States (1277), 312, 108);
-            Add_Goto (Table.States (1277), 314, 109);
-            Add_Goto (Table.States (1277), 316, 110);
-            Add_Goto (Table.States (1277), 319, 112);
-            Add_Goto (Table.States (1277), 320, 113);
-            Add_Goto (Table.States (1277), 322, 114);
-            Add_Goto (Table.States (1277), 328, 116);
-            Add_Goto (Table.States (1277), 334, 117);
-            Table.States (1277).Kernel := To_Vector ((0 => ((179, 0),  35,  3, 
(2147483647, 0),  0)));
-            Table.States (1277).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (162, 1),  0)));
-            Table.States (1278).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (1278), (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, 
81, 96, 107, 108, 109, 110), (274, 0),  11,
-            protected_type_declaration_0'Access, 
protected_type_declaration_0_check'Access);
-            Table.States (1278).Kernel := To_Vector ((0 => ((274, 0),  99,  0, 
(274, 0),  11)));
-            Table.States (1278).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (274, 0),  11)));
-            Table.States (1279).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (1279), (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, 
81, 96, 107, 108, 109, 110), (319, 0),  11,
-            task_body_0'Access, task_body_0_check'Access);
-            Table.States (1279).Kernel := To_Vector ((0 => ((319, 0),  99,  0, 
(319, 0),  11)));
-            Table.States (1279).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (319, 0),  11)));
-            Table.States (1280).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1280), 99, Reduce, (223, 1),  0, null, 
null);
-            Add_Action (Table.States (1280), 107, (223, 0), 151);
-            Table.States (1280).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (1280), 223, 1289);
-            Table.States (1280).Kernel := To_Vector ((0 => ((322, 0),  24,  1, 
(2147483647, 0),  0)));
-            Table.States (1280).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (223, 1),  0)));
-            Table.States (1281).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (1281), (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, 
81, 96, 107, 108, 109, 110), (308, 0),  11,
-            single_task_declaration_0'Access, 
single_task_declaration_0_check'Access);
-            Table.States (1281).Kernel := To_Vector ((0 => ((308, 0),  99,  0, 
(308, 0),  11)));
-            Table.States (1281).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (308, 0),  11)));
-            Table.States (1282).Action_List.Set_Capacity (6);
-            Add_Action (Table.States (1282), 15, (330, 0), 903);
-            Add_Action (Table.States (1282), 24, Reduce, (153, 1),  0, null, 
null);
-            Add_Action (Table.States (1282), 28, (124, 0), 185);
-            Add_Action (Table.States (1282), 41, (152, 4), 904);
-            Add_Action (Table.States (1282), 72, Reduce, (153, 1),  0, null, 
null);
-            Add_Action (Table.States (1282), 107, (222, 1), 166);
-            Table.States (1282).Goto_List.Set_Capacity (10);
-            Add_Goto (Table.States (1282), 124, 905);
-            Add_Goto (Table.States (1282), 130, 41);
-            Add_Goto (Table.States (1282), 149, 906);
-            Add_Goto (Table.States (1282), 151, 907);
-            Add_Goto (Table.States (1282), 152, 908);
-            Add_Goto (Table.States (1282), 153, 1290);
-            Add_Goto (Table.States (1282), 185, 56);
-            Add_Goto (Table.States (1282), 222, 910);
-            Add_Goto (Table.States (1282), 284, 95);
-            Add_Goto (Table.States (1282), 330, 911);
-            Table.States (1282).Kernel := To_Vector ((0 => ((332, 0),  90,  0, 
(153, 1),  0)));
-            Table.States (1282).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (153, 1),  0)));
-            Table.States (1283).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1283), 99, (330, 0), 1291);
-            Table.States (1283).Kernel := To_Vector ((0 => ((330, 0),  15,  1, 
(2147483647, 0),  0)));
-            Table.States (1283).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (330, 0),  99, 1291)));
-            Table.States (1284).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1284), 99, (149, 0), 1292);
-            Table.States (1284).Kernel := To_Vector ((0 => ((149, 0),  125,  
1, (2147483647, 0),  0)));
-            Table.States (1284).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (149, 0),  99, 1292)));
-            Table.States (1285).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1285), 99, (262, 0), 1293);
-            Table.States (1285).Kernel := To_Vector ((0 => ((262, 0),  125,  
1, (2147483647, 0),  0)));
-            Table.States (1285).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (262, 0),  99, 1293)));
-            Table.States (1286).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1286), 99, (147, 0), 1294);
-            Table.States (1286).Kernel := To_Vector ((0 => ((147, 0),  304,  
1, (2147483647, 0),  0)));
-            Table.States (1286).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (147, 0),  99, 1294)));
-            Table.States (1287).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1287), 78, (180, 0), 1295);
-            Table.States (1287).Kernel := To_Vector ((0 => ((180, 0),  170,  
1, (2147483647, 0),  0)));
-            Table.States (1287).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (180, 0),  78, 1295)));
-            Table.States (1288).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1288), 13, (179, 0), 1296);
-            Table.States (1288).Kernel := To_Vector ((0 => ((179, 0),  162,  
3, (2147483647, 0),  0)));
-            Table.States (1288).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (179, 0),  13, 1296)));
-            Table.States (1289).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1289), 99, (322, 0), 1297);
-            Table.States (1289).Kernel := To_Vector ((0 => ((322, 0),  223,  
1, (2147483647, 0),  0)));
-            Table.States (1289).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (322, 0),  99, 1297)));
-            Table.States (1290).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1290), (24, 72), (332, 0),  4, 
variant_0'Access, null);
-            Table.States (1290).Kernel := To_Vector ((0 => ((332, 0),  153,  
0, (332, 0),  4)));
-            Table.States (1290).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (332, 0),  4)));
-            Table.States (1291).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (1291), (15, 24, 28, 72, 107), (330, 0),  
7, variant_part_0'Access, null);
-            Table.States (1291).Kernel := To_Vector ((0 => ((330, 0),  99,  0, 
(330, 0),  7)));
-            Table.States (1291).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (330, 0),  7)));
-            Table.States (1292).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (1292), (15, 24, 28, 72, 107), (149, 0),  
7, component_declaration_0'Access,
-            null);
-            Table.States (1292).Kernel := To_Vector ((0 => ((149, 0),  99,  0, 
(149, 0),  7)));
-            Table.States (1292).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (149, 0),  7)));
-            Table.States (1293).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (1293), (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, 
81, 96, 107, 108, 109, 110), (262, 0),  12,
-            private_extension_declaration_0'Access, null);
-            Table.States (1293).Kernel := To_Vector ((0 => ((262, 0),  99,  0, 
(262, 0),  12)));
-            Table.States (1293).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (262, 0),  12)));
-            Table.States (1294).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1294), (24, 107), (147, 0),  8, 
component_clause_0'Access, null);
-            Table.States (1294).Kernel := To_Vector ((0 => ((147, 0),  99,  0, 
(147, 0),  8)));
-            Table.States (1294).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (147, 0),  8)));
-            Table.States (1295).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1295), 72, Reduce, (256, 1),  0, null, 
null);
-            Add_Action (Table.States (1295), 76, (202, 0), 434);
-            Table.States (1295).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (1295), 202, 347);
-            Add_Goto (Table.States (1295), 256, 1298);
-            Table.States (1295).Kernel := To_Vector ((0 => ((180, 0),  78,  0, 
(256, 1),  0)));
-            Table.States (1295).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (256, 1),  0)));
-            Table.States (1296).Action_List.Set_Capacity (25);
-            Add_Action (Table.States (1296), 4, (116, 0), 1);
-            Add_Action (Table.States (1296), 5, (306, 8), 2);
-            Add_Action (Table.States (1296), 13, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (1296), 15, (142, 0), 3);
-            Add_Action (Table.States (1296), 17, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (1296), 18, (164, 0), 4);
-            Add_Action (Table.States (1296), 24, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (1296), 26, Reduce, (303, 1),  0, null, 
null);
-            Add_Action (Table.States (1296), 27, (193, 0), 5);
-            Add_Action (Table.States (1296), 28, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (1296), 31, (306, 3), 9);
-            Add_Action (Table.States (1296), 32, (225, 0), 10);
-            Add_Action (Table.States (1296), 37, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (1296), 41, (306, 0), 13);
-            Add_Action (Table.States (1296), 48, (260, 0), 16);
-            Add_Action (Table.States (1296), 52, (279, 0), 20);
-            Add_Action (Table.States (1296), 57, (293, 0), 21);
-            Add_Action (Table.States (1296), 58, (199, 0), 22);
-            Add_Action (Table.States (1296), 61, (129, 0), 24);
-            Add_Action (Table.States (1296), 73, Reduce, (135, 1),  0, null, 
null);
-            Add_Action (Table.States (1296), 81, (242, 8), 31);
-            Add_Action (Table.States (1296), 96, (220, 0), 32);
-            Add_Action (Table.States (1296), 107, (134, 0), 363);
-            Add_Action (Table.States (1296), 108, (242, 7), 34);
-            Add_Action (Table.States (1296), 109, (242, 6), 35);
-            Table.States (1296).Goto_List.Set_Capacity (32);
-            Add_Goto (Table.States (1296), 116, 37);
-            Add_Goto (Table.States (1296), 126, 39);
-            Add_Goto (Table.States (1296), 129, 40);
-            Add_Goto (Table.States (1296), 131, 42);
-            Add_Goto (Table.States (1296), 134, 43);
-            Add_Goto (Table.States (1296), 135, 44);
-            Add_Goto (Table.States (1296), 136, 45);
-            Add_Goto (Table.States (1296), 142, 48);
-            Add_Goto (Table.States (1296), 154, 51);
-            Add_Goto (Table.States (1296), 155, 52);
-            Add_Goto (Table.States (1296), 164, 54);
-            Add_Goto (Table.States (1296), 193, 58);
-            Add_Goto (Table.States (1296), 199, 60);
-            Add_Goto (Table.States (1296), 220, 69);
-            Add_Goto (Table.States (1296), 221, 1299);
-            Add_Goto (Table.States (1296), 225, 71);
-            Add_Goto (Table.States (1296), 235, 73);
-            Add_Goto (Table.States (1296), 242, 74);
-            Add_Goto (Table.States (1296), 260, 84);
-            Add_Goto (Table.States (1296), 264, 87);
-            Add_Goto (Table.States (1296), 275, 93);
-            Add_Goto (Table.States (1296), 279, 94);
-            Add_Goto (Table.States (1296), 293, 97);
-            Add_Goto (Table.States (1296), 296, 98);
-            Add_Goto (Table.States (1296), 297, 99);
-            Add_Goto (Table.States (1296), 301, 100);
-            Add_Goto (Table.States (1296), 302, 364);
-            Add_Goto (Table.States (1296), 303, 393);
-            Add_Goto (Table.States (1296), 305, 101);
-            Add_Goto (Table.States (1296), 306, 102);
-            Add_Goto (Table.States (1296), 309, 366);
-            Add_Goto (Table.States (1296), 326, 115);
-            Table.States (1296).Kernel := To_Vector ((0 => ((179, 0),  13,  2, 
(2147483647, 0),  0)));
-            Table.States (1296).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (221, 1),  0)));
-            Table.States (1297).Action_List.Set_Capacity (41);
-            Add_Action (Table.States (1297), (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, 
81, 96, 107, 108, 109, 110), (322, 0),  13,
-            task_type_declaration_0'Access, 
task_type_declaration_0_check'Access);
-            Table.States (1297).Kernel := To_Vector ((0 => ((322, 0),  99,  0, 
(322, 0),  13)));
-            Table.States (1297).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (322, 0),  13)));
-            Table.States (1298).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1298), (1 =>  72), (180, 0),  7, 
entry_body_formal_part_0'Access, null);
-            Table.States (1298).Kernel := To_Vector ((0 => ((180, 0),  256,  
0, (180, 0),  7)));
-            Table.States (1298).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (180, 0),  7)));
-            Table.States (1299).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1299), 24, (179, 0), 1300);
-            Table.States (1299).Kernel := To_Vector ((0 => ((179, 0),  221,  
2, (2147483647, 0),  0)));
-            Table.States (1299).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (179, 0),  24, 1300)));
-            Table.States (1300).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (1300), 99, Reduce, (223, 1),  0, null, 
null);
-            Add_Action (Table.States (1300), 107, (223, 0), 151);
-            Table.States (1300).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (1300), 223, 1301);
-            Table.States (1300).Kernel := To_Vector ((0 => ((179, 0),  24,  1, 
(2147483647, 0),  0)));
-            Table.States (1300).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (223, 1),  0)));
-            Table.States (1301).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (1301), 99, (179, 0), 1302);
-            Table.States (1301).Kernel := To_Vector ((0 => ((179, 0),  223,  
1, (2147483647, 0),  0)));
-            Table.States (1301).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (179, 0),  99, 1302)));
-            Table.States (1302).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (1302), (24, 25, 28, 29, 40, 46, 50), 
(179, 0),  12, entry_body_0'Access,
-            entry_body_0_check'Access);
-            Table.States (1302).Kernel := To_Vector ((0 => ((179, 0),  99,  0, 
(179, 0),  12)));
-            Table.States (1302).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (179, 0),  12)));
-         end Subr_22;
-      begin
-         Subr_1;
-         Subr_2;
-         Subr_3;
-         Subr_4;
-         Subr_5;
-         Subr_6;
-         Subr_7;
-         Subr_8;
-         Subr_9;
-         Subr_10;
-         Subr_11;
-         Subr_12;
-         Subr_13;
-         Subr_14;
-         Subr_15;
-         Subr_16;
-         Subr_17;
-         Subr_18;
-         Subr_19;
-         Subr_20;
-         Subr_21;
-         Subr_22;
-         Table.Error_Action := new Parse_Action_Node'((Verb => Error, others 
=> <>), null);
-      end;
-
-      WisiToken.Parse.LR.Parser.New_Parser
-        (Parser,
-         Trace,
-         Lexer.New_Lexer (Trace.Descriptor),
-         Table,
-         Language_Fixes,
-         Language_Matching_Begin_Tokens,
-         Language_String_ID_Set,
-         User_Data,
-         Max_Parallel         => 15,
-         Terminate_Same_State => True);
-   end Create_Parser;
-end Ada_Process_LALR_Main;
diff --git a/packages/ada-mode/ada_process_lalr_main.ads 
b/packages/ada-mode/ada_process_lalr_main.ads
deleted file mode 100644
index c32bb9b..0000000
--- a/packages/ada-mode/ada_process_lalr_main.ads
+++ /dev/null
@@ -1,32 +0,0 @@
---  generated parser support file.
---  command line: wisitoken-bnf-generate.exe  --generate LALR Ada_Emacs re2c 
PROCESS ada.wy
---
-
---  Copyright (C) 2013 - 2020 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
---  published by the Free Software Foundation; either version 3, or (at
---  your option) any later version.
---
---  This software 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/>.
-
-with WisiToken.Syntax_Trees;
-with WisiToken.Parse.LR.Parser;
-package Ada_Process_LALR_Main is
-
-   procedure Create_Parser
-     (Parser                         :    out WisiToken.Parse.LR.Parser.Parser;
-      Language_Fixes                 : in     
WisiToken.Parse.LR.Parser.Language_Fixes_Access;
-      Language_Matching_Begin_Tokens : in     
WisiToken.Parse.LR.Parser.Language_Matching_Begin_Tokens_Access;
-      Language_String_ID_Set         : in     
WisiToken.Parse.LR.Parser.Language_String_ID_Set_Access;
-      Trace                        : not null access WisiToken.Trace'Class;
-      User_Data                    : in     
WisiToken.Syntax_Trees.User_Data_Access);
-
-end Ada_Process_LALR_Main;
diff --git a/packages/ada-mode/ada_process_lr1_main.adb 
b/packages/ada-mode/ada_process_lr1_main.adb
deleted file mode 100644
index b57aa9e..0000000
--- a/packages/ada-mode/ada_process_lr1_main.adb
+++ /dev/null
@@ -1,483 +0,0 @@
---  generated parser support file.
---  command line: wisitoken-bnf-generate.exe  --generate LR1 Ada_Emacs re2c 
PROCESS text_rep ada.wy
---
-
---  Copyright (C) 2013 - 2020 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
---  published by the Free Software Foundation; either version 3, or (at
---  your option) any later version.
---
---  This software 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/>.
-
-with Ada_Process_Actions; use Ada_Process_Actions;
-with WisiToken.Lexer.re2c;
-with ada_re2c_c;
-package body Ada_Process_LR1_Main is
-
-   package Lexer is new WisiToken.Lexer.re2c
-     (ada_re2c_c.New_Lexer,
-      ada_re2c_c.Free_Lexer,
-      ada_re2c_c.Reset_Lexer,
-      ada_re2c_c.Next_Token);
-
-   procedure Create_Parser
-     (Parser                         :    out WisiToken.Parse.LR.Parser.Parser;
-      Language_Fixes                 : in     
WisiToken.Parse.LR.Parser.Language_Fixes_Access;
-      Language_Matching_Begin_Tokens : in     
WisiToken.Parse.LR.Parser.Language_Matching_Begin_Tokens_Access;
-      Language_String_ID_Set       : in     
WisiToken.Parse.LR.Parser.Language_String_ID_Set_Access;
-      Trace                        : not null access WisiToken.Trace'Class;
-      User_Data                    : in     
WisiToken.Syntax_Trees.User_Data_Access;
-      Text_Rep_File_Name : in String)
-   is
-      use WisiToken.Parse.LR;
-      McKenzie_Param : constant McKenzie_Param_Type :=
-        (First_Terminal    => 3,
-         Last_Terminal     => 110,
-         First_Nonterminal => 111,
-         Last_Nonterminal  => 335,
-         Insert =>
-           (4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 4, 4, 4, 4, 4, 4, 4, 4, 3, 
4, 4, 4, 4, 4, 4, 4, 2, 4, 4, 4, 4, 4, 4,
-            4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
-            4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4),
-         Delete =>
-           (4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
-            4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
-            4, 4, 4, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4),
-         Push_Back =>
-           (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, 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, 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, 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, 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, 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, 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),
-         Undo_Reduce =>
-           (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, 2, 0, 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, 2, 2, 2, 2, 2, 2,
-            2, 2, 0, 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, 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, 0, 0, 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),
-         Minimal_Complete_Cost_Delta => -3,
-         Fast_Forward =>  2,
-         Matching_Begin =>  3,
-         Ignore_Check_Fail  => 2,
-         Task_Count  => 0,
-         Check_Limit => 4,
-         Check_Delta_Limit => 100,
-         Enqueue_Limit => 58000);
-
-      function Actions return 
WisiToken.Parse.LR.Semantic_Action_Array_Arrays.Vector
-      is begin
-         return Acts : WisiToken.Parse.LR.Semantic_Action_Array_Arrays.Vector 
do
-            Acts.Set_First_Last (111, 335);
-            Acts (115).Set_First_Last (0, 0);
-            Acts (115)(0) := (abstract_subprogram_declaration_0'Access, null);
-            Acts (116).Set_First_Last (0, 1);
-            Acts (116)(0) := (accept_statement_0'Access, 
accept_statement_0_check'Access);
-            Acts (116)(1) := (accept_statement_1'Access, null);
-            Acts (117).Set_First_Last (0, 2);
-            Acts (117)(0) := (access_definition_0'Access, null);
-            Acts (117)(1) := (access_definition_1'Access, null);
-            Acts (117)(2) := (access_definition_2'Access, null);
-            Acts (118).Set_First_Last (0, 1);
-            Acts (118)(0) := (actual_parameter_part_0'Access, null);
-            Acts (118)(1) := (actual_parameter_part_1'Access, null);
-            Acts (120).Set_First_Last (0, 6);
-            Acts (120)(0) := (aggregate_0'Access, null);
-            Acts (120)(2) := (aggregate_2'Access, null);
-            Acts (120)(3) := (aggregate_3'Access, null);
-            Acts (120)(4) := (aggregate_4'Access, null);
-            Acts (120)(5) := (aggregate_5'Access, null);
-            Acts (120)(6) := (aggregate_6'Access, null);
-            Acts (123).Set_First_Last (0, 1);
-            Acts (123)(0) := (array_type_definition_0'Access, null);
-            Acts (123)(1) := (array_type_definition_1'Access, null);
-            Acts (124).Set_First_Last (0, 3);
-            Acts (124)(0) := (aspect_clause_0'Access, null);
-            Acts (125).Set_First_Last (0, 1);
-            Acts (125)(0) := (aspect_specification_opt_0'Access, null);
-            Acts (126).Set_First_Last (0, 0);
-            Acts (126)(0) := (assignment_statement_0'Access, null);
-            Acts (127).Set_First_Last (0, 7);
-            Acts (127)(0) := (association_opt_0'Access, null);
-            Acts (127)(2) := (association_opt_2'Access, null);
-            Acts (127)(3) := (association_opt_3'Access, null);
-            Acts (127)(4) := (association_opt_4'Access, null);
-            Acts (127)(6) := (association_opt_6'Access, null);
-            Acts (127)(7) := (association_opt_7'Access, null);
-            Acts (129).Set_First_Last (0, 0);
-            Acts (129)(0) := (asynchronous_select_0'Access, null);
-            Acts (130).Set_First_Last (0, 0);
-            Acts (130)(0) := (at_clause_0'Access, null);
-            Acts (134).Set_First_Last (0, 0);
-            Acts (134)(0) := (block_label_0'Access, 
block_label_0_check'Access);
-            Acts (135).Set_First_Last (0, 1);
-            Acts (135)(0) := (null, block_label_opt_0_check'Access);
-            Acts (135)(1) := (null, null);
-            Acts (136).Set_First_Last (0, 1);
-            Acts (136)(0) := (block_statement_0'Access, 
block_statement_0_check'Access);
-            Acts (136)(1) := (block_statement_1'Access, 
block_statement_1_check'Access);
-            Acts (139).Set_First_Last (0, 0);
-            Acts (139)(0) := (case_expression_0'Access, null);
-            Acts (140).Set_First_Last (0, 0);
-            Acts (140)(0) := (case_expression_alternative_0'Access, null);
-            Acts (141).Set_First_Last (0, 1);
-            Acts (141)(0) := (case_expression_alternative_list_0'Access, null);
-            Acts (142).Set_First_Last (0, 0);
-            Acts (142)(0) := (case_statement_0'Access, null);
-            Acts (143).Set_First_Last (0, 0);
-            Acts (143)(0) := (case_statement_alternative_0'Access, null);
-            Acts (144).Set_First_Last (0, 1);
-            Acts (144)(0) := (case_statement_alternative_list_0'Access, null);
-            Acts (145).Set_First_Last (0, 4);
-            Acts (145)(2) := (compilation_unit_2'Access, null);
-            Acts (146).Set_First_Last (0, 1);
-            Acts (146)(0) := (compilation_0'Access, null);
-            Acts (146)(1) := (compilation_1'Access, 
compilation_1_check'Access);
-            Acts (147).Set_First_Last (0, 0);
-            Acts (147)(0) := (component_clause_0'Access, null);
-            Acts (149).Set_First_Last (0, 1);
-            Acts (149)(0) := (component_declaration_0'Access, null);
-            Acts (149)(1) := (component_declaration_1'Access, null);
-            Acts (152).Set_First_Last (0, 4);
-            Acts (152)(4) := (component_list_4'Access, null);
-            Acts (155).Set_First_Last (0, 0);
-            Acts (155)(0) := (conditional_entry_call_0'Access, null);
-            Acts (160).Set_First_Last (0, 16);
-            Acts (160)(9) := (declaration_9'Access, null);
-            Acts (164).Set_First_Last (0, 1);
-            Acts (164)(0) := (delay_statement_0'Access, null);
-            Acts (164)(1) := (delay_statement_1'Access, null);
-            Acts (165).Set_First_Last (0, 1);
-            Acts (165)(0) := (derived_type_definition_0'Access, null);
-            Acts (165)(1) := (derived_type_definition_1'Access, null);
-            Acts (172).Set_First_Last (0, 2);
-            Acts (172)(1) := (discriminant_part_opt_1'Access, null);
-            Acts (175).Set_First_Last (0, 0);
-            Acts (175)(0) := (elsif_expression_item_0'Access, null);
-            Acts (176).Set_First_Last (0, 1);
-            Acts (176)(0) := (elsif_expression_list_0'Access, null);
-            Acts (177).Set_First_Last (0, 0);
-            Acts (177)(0) := (elsif_statement_item_0'Access, null);
-            Acts (178).Set_First_Last (0, 1);
-            Acts (178)(0) := (elsif_statement_list_0'Access, null);
-            Acts (179).Set_First_Last (0, 0);
-            Acts (179)(0) := (entry_body_0'Access, entry_body_0_check'Access);
-            Acts (180).Set_First_Last (0, 1);
-            Acts (180)(0) := (entry_body_formal_part_0'Access, null);
-            Acts (182).Set_First_Last (0, 1);
-            Acts (182)(0) := (entry_declaration_0'Access, null);
-            Acts (182)(1) := (entry_declaration_1'Access, null);
-            Acts (185).Set_First_Last (0, 0);
-            Acts (185)(0) := (enumeration_representation_clause_0'Access, 
null);
-            Acts (186).Set_First_Last (0, 0);
-            Acts (186)(0) := (enumeration_type_definition_0'Access, null);
-            Acts (189).Set_First_Last (0, 0);
-            Acts (189)(0) := (exception_declaration_0'Access, null);
-            Acts (190).Set_First_Last (0, 1);
-            Acts (190)(0) := (exception_handler_0'Access, null);
-            Acts (190)(1) := (exception_handler_1'Access, null);
-            Acts (191).Set_First_Last (0, 2);
-            Acts (191)(0) := (exception_handler_list_0'Access, null);
-            Acts (193).Set_First_Last (0, 1);
-            Acts (193)(0) := (exit_statement_0'Access, null);
-            Acts (193)(1) := (exit_statement_1'Access, null);
-            Acts (196).Set_First_Last (0, 0);
-            Acts (196)(0) := (expression_function_declaration_0'Access, null);
-            Acts (197).Set_First_Last (0, 1);
-            Acts (197)(0) := (extended_return_object_declaration_0'Access, 
null);
-            Acts (197)(1) := (extended_return_object_declaration_1'Access, 
null);
-            Acts (199).Set_First_Last (0, 1);
-            Acts (199)(0) := (extended_return_statement_0'Access, null);
-            Acts (199)(1) := (extended_return_statement_1'Access, null);
-            Acts (201).Set_First_Last (0, 3);
-            Acts (201)(0) := (formal_object_declaration_0'Access, null);
-            Acts (201)(1) := (formal_object_declaration_1'Access, null);
-            Acts (201)(2) := (formal_object_declaration_2'Access, null);
-            Acts (201)(3) := (formal_object_declaration_3'Access, null);
-            Acts (202).Set_First_Last (0, 0);
-            Acts (202)(0) := (formal_part_0'Access, null);
-            Acts (203).Set_First_Last (0, 3);
-            Acts (203)(0) := (formal_subprogram_declaration_0'Access, null);
-            Acts (203)(1) := (formal_subprogram_declaration_1'Access, null);
-            Acts (203)(2) := (formal_subprogram_declaration_2'Access, null);
-            Acts (203)(3) := (formal_subprogram_declaration_3'Access, null);
-            Acts (204).Set_First_Last (0, 2);
-            Acts (204)(0) := (formal_type_declaration_0'Access, null);
-            Acts (204)(1) := (formal_type_declaration_1'Access, null);
-            Acts (204)(2) := (formal_type_declaration_2'Access, null);
-            Acts (206).Set_First_Last (0, 1);
-            Acts (206)(0) := (formal_derived_type_definition_0'Access, null);
-            Acts (206)(1) := (formal_derived_type_definition_1'Access, null);
-            Acts (207).Set_First_Last (0, 0);
-            Acts (207)(0) := (formal_package_declaration_0'Access, null);
-            Acts (209).Set_First_Last (0, 2);
-            Acts (209)(0) := (full_type_declaration_0'Access, null);
-            Acts (210).Set_First_Last (0, 0);
-            Acts (210)(0) := (function_specification_0'Access, 
function_specification_0_check'Access);
-            Acts (213).Set_First_Last (0, 1);
-            Acts (213)(0) := (generic_formal_part_0'Access, null);
-            Acts (213)(1) := (generic_formal_part_1'Access, null);
-            Acts (216).Set_First_Last (0, 2);
-            Acts (216)(0) := (generic_instantiation_0'Access, null);
-            Acts (216)(1) := (generic_instantiation_1'Access, null);
-            Acts (216)(2) := (generic_instantiation_2'Access, null);
-            Acts (217).Set_First_Last (0, 0);
-            Acts (217)(0) := (generic_package_declaration_0'Access, null);
-            Acts (218).Set_First_Last (0, 2);
-            Acts (218)(0) := (generic_renaming_declaration_0'Access, null);
-            Acts (218)(1) := (generic_renaming_declaration_1'Access, null);
-            Acts (218)(2) := (generic_renaming_declaration_2'Access, null);
-            Acts (219).Set_First_Last (0, 0);
-            Acts (219)(0) := (generic_subprogram_declaration_0'Access, null);
-            Acts (220).Set_First_Last (0, 0);
-            Acts (220)(0) := (goto_label_0'Access, null);
-            Acts (221).Set_First_Last (0, 1);
-            Acts (221)(0) := (handled_sequence_of_statements_0'Access, null);
-            Acts (222).Set_First_Last (0, 1);
-            Acts (222)(0) := (identifier_list_0'Access, null);
-            Acts (222)(1) := (identifier_list_1'Access, null);
-            Acts (223).Set_First_Last (0, 1);
-            Acts (223)(0) := (null, identifier_opt_0_check'Access);
-            Acts (223)(1) := (null, null);
-            Acts (224).Set_First_Last (0, 3);
-            Acts (224)(0) := (if_expression_0'Access, null);
-            Acts (224)(1) := (if_expression_1'Access, null);
-            Acts (224)(2) := (if_expression_2'Access, null);
-            Acts (224)(3) := (if_expression_3'Access, null);
-            Acts (225).Set_First_Last (0, 3);
-            Acts (225)(0) := (if_statement_0'Access, null);
-            Acts (225)(1) := (if_statement_1'Access, null);
-            Acts (225)(2) := (if_statement_2'Access, null);
-            Acts (225)(3) := (if_statement_3'Access, null);
-            Acts (226).Set_First_Last (0, 1);
-            Acts (226)(0) := (incomplete_type_declaration_0'Access, null);
-            Acts (226)(1) := (incomplete_type_declaration_1'Access, null);
-            Acts (227).Set_First_Last (0, 0);
-            Acts (227)(0) := (index_constraint_0'Access, null);
-            Acts (230).Set_First_Last (0, 1);
-            Acts (230)(0) := (interface_list_0'Access, null);
-            Acts (230)(1) := (interface_list_1'Access, null);
-            Acts (232).Set_First_Last (0, 1);
-            Acts (232)(0) := (iteration_scheme_0'Access, null);
-            Acts (232)(1) := (iteration_scheme_1'Access, null);
-            Acts (233).Set_First_Last (0, 5);
-            Acts (233)(2) := (iterator_specification_2'Access, null);
-            Acts (233)(5) := (iterator_specification_5'Access, null);
-            Acts (235).Set_First_Last (0, 1);
-            Acts (235)(0) := (loop_statement_0'Access, 
loop_statement_0_check'Access);
-            Acts (235)(1) := (loop_statement_1'Access, 
loop_statement_1_check'Access);
-            Acts (242).Set_First_Last (0, 8);
-            Acts (242)(0) := (name_0'Access, null);
-            Acts (242)(1) := (name_1'Access, null);
-            Acts (242)(2) := (null, name_2_check'Access);
-            Acts (242)(3) := (null, null);
-            Acts (242)(4) := (null, null);
-            Acts (242)(5) := (name_5'Access, name_5_check'Access);
-            Acts (242)(6) := (null, null);
-            Acts (242)(7) := (null, name_7_check'Access);
-            Acts (242)(8) := (null, null);
-            Acts (243).Set_First_Last (0, 1);
-            Acts (243)(0) := (null, name_opt_0_check'Access);
-            Acts (243)(1) := (null, null);
-            Acts (245).Set_First_Last (0, 3);
-            Acts (245)(0) := (null_exclusion_opt_name_type_0'Access, null);
-            Acts (245)(1) := (null_exclusion_opt_name_type_1'Access, null);
-            Acts (245)(2) := (null_exclusion_opt_name_type_2'Access, null);
-            Acts (245)(3) := (null_exclusion_opt_name_type_3'Access, null);
-            Acts (246).Set_First_Last (0, 0);
-            Acts (246)(0) := (null_procedure_declaration_0'Access, null);
-            Acts (247).Set_First_Last (0, 7);
-            Acts (247)(0) := (object_declaration_0'Access, null);
-            Acts (247)(1) := (object_declaration_1'Access, null);
-            Acts (247)(2) := (object_declaration_2'Access, null);
-            Acts (247)(3) := (object_declaration_3'Access, null);
-            Acts (247)(4) := (object_declaration_4'Access, null);
-            Acts (247)(5) := (object_declaration_5'Access, null);
-            Acts (248).Set_First_Last (0, 2);
-            Acts (248)(0) := (object_renaming_declaration_0'Access, null);
-            Acts (248)(1) := (object_renaming_declaration_1'Access, null);
-            Acts (248)(2) := (object_renaming_declaration_2'Access, null);
-            Acts (249).Set_First_Last (0, 2);
-            Acts (249)(0) := (overriding_indicator_opt_0'Access, null);
-            Acts (249)(1) := (overriding_indicator_opt_1'Access, null);
-            Acts (250).Set_First_Last (0, 1);
-            Acts (250)(0) := (package_body_0'Access, 
package_body_0_check'Access);
-            Acts (250)(1) := (package_body_1'Access, 
package_body_1_check'Access);
-            Acts (251).Set_First_Last (0, 0);
-            Acts (251)(0) := (package_body_stub_0'Access, null);
-            Acts (252).Set_First_Last (0, 0);
-            Acts (252)(0) := (package_declaration_0'Access, null);
-            Acts (253).Set_First_Last (0, 0);
-            Acts (253)(0) := (package_renaming_declaration_0'Access, null);
-            Acts (254).Set_First_Last (0, 1);
-            Acts (254)(0) := (package_specification_0'Access, 
package_specification_0_check'Access);
-            Acts (254)(1) := (package_specification_1'Access, 
package_specification_1_check'Access);
-            Acts (255).Set_First_Last (0, 1);
-            Acts (255)(0) := (parameter_and_result_profile_0'Access, null);
-            Acts (257).Set_First_Last (0, 4);
-            Acts (257)(0) := (parameter_specification_0'Access, null);
-            Acts (257)(1) := (parameter_specification_1'Access, null);
-            Acts (257)(2) := (parameter_specification_2'Access, null);
-            Acts (257)(3) := (parameter_specification_3'Access, null);
-            Acts (259).Set_First_Last (0, 1);
-            Acts (259)(0) := (paren_expression_0'Access, null);
-            Acts (260).Set_First_Last (0, 2);
-            Acts (260)(0) := (pragma_g_0'Access, null);
-            Acts (260)(1) := (pragma_g_1'Access, null);
-            Acts (260)(2) := (pragma_g_2'Access, null);
-            Acts (261).Set_First_Last (0, 4);
-            Acts (261)(0) := (primary_0'Access, null);
-            Acts (261)(2) := (primary_2'Access, null);
-            Acts (261)(4) := (primary_4'Access, null);
-            Acts (262).Set_First_Last (0, 0);
-            Acts (262)(0) := (private_extension_declaration_0'Access, null);
-            Acts (263).Set_First_Last (0, 0);
-            Acts (263)(0) := (private_type_declaration_0'Access, null);
-            Acts (264).Set_First_Last (0, 0);
-            Acts (264)(0) := (procedure_call_statement_0'Access, null);
-            Acts (265).Set_First_Last (0, 0);
-            Acts (265)(0) := (procedure_specification_0'Access, 
procedure_specification_0_check'Access);
-            Acts (267).Set_First_Last (0, 0);
-            Acts (267)(0) := (protected_body_0'Access, 
protected_body_0_check'Access);
-            Acts (268).Set_First_Last (0, 0);
-            Acts (268)(0) := (protected_body_stub_0'Access, null);
-            Acts (269).Set_First_Last (0, 1);
-            Acts (269)(0) := (protected_definition_0'Access, 
protected_definition_0_check'Access);
-            Acts (269)(1) := (protected_definition_1'Access, 
protected_definition_1_check'Access);
-            Acts (274).Set_First_Last (0, 1);
-            Acts (274)(0) := (protected_type_declaration_0'Access, 
protected_type_declaration_0_check'Access);
-            Acts (274)(1) := (protected_type_declaration_1'Access, 
protected_type_declaration_1_check'Access);
-            Acts (275).Set_First_Last (0, 0);
-            Acts (275)(0) := (qualified_expression_0'Access, null);
-            Acts (276).Set_First_Last (0, 0);
-            Acts (276)(0) := (quantified_expression_0'Access, null);
-            Acts (278).Set_First_Last (0, 1);
-            Acts (278)(0) := (raise_expression_0'Access, null);
-            Acts (279).Set_First_Last (0, 2);
-            Acts (279)(0) := (raise_statement_0'Access, null);
-            Acts (279)(1) := (raise_statement_1'Access, null);
-            Acts (279)(2) := (raise_statement_2'Access, null);
-            Acts (280).Set_First_Last (0, 2);
-            Acts (280)(0) := (range_g_0'Access, null);
-            Acts (283).Set_First_Last (0, 1);
-            Acts (283)(0) := (record_definition_0'Access, null);
-            Acts (284).Set_First_Last (0, 0);
-            Acts (284)(0) := (record_representation_clause_0'Access, null);
-            Acts (293).Set_First_Last (0, 1);
-            Acts (293)(0) := (requeue_statement_0'Access, null);
-            Acts (293)(1) := (requeue_statement_1'Access, null);
-            Acts (294).Set_First_Last (0, 1);
-            Acts (294)(0) := (result_profile_0'Access, null);
-            Acts (294)(1) := (result_profile_1'Access, null);
-            Acts (296).Set_First_Last (0, 3);
-            Acts (296)(0) := (selected_component_0'Access, 
selected_component_0_check'Access);
-            Acts (296)(1) := (selected_component_1'Access, null);
-            Acts (296)(2) := (selected_component_2'Access, 
selected_component_2_check'Access);
-            Acts (296)(3) := (selected_component_3'Access, null);
-            Acts (297).Set_First_Last (0, 1);
-            Acts (297)(0) := (selective_accept_0'Access, null);
-            Acts (297)(1) := (selective_accept_1'Access, null);
-            Acts (298).Set_First_Last (0, 5);
-            Acts (298)(0) := (select_alternative_0'Access, null);
-            Acts (298)(1) := (select_alternative_1'Access, null);
-            Acts (298)(2) := (select_alternative_2'Access, null);
-            Acts (298)(4) := (select_alternative_4'Access, null);
-            Acts (299).Set_First_Last (0, 1);
-            Acts (299)(0) := (select_alternative_list_0'Access, null);
-            Acts (299)(1) := (select_alternative_list_1'Access, null);
-            Acts (305).Set_First_Last (0, 0);
-            Acts (305)(0) := (simple_return_statement_0'Access, null);
-            Acts (306).Set_First_Last (0, 10);
-            Acts (306)(0) := (simple_statement_0'Access, null);
-            Acts (306)(3) := (simple_statement_3'Access, null);
-            Acts (306)(8) := (simple_statement_8'Access, null);
-            Acts (307).Set_First_Last (0, 1);
-            Acts (307)(0) := (single_protected_declaration_0'Access, 
single_protected_declaration_0_check'Access);
-            Acts (307)(1) := (single_protected_declaration_1'Access, 
single_protected_declaration_1_check'Access);
-            Acts (308).Set_First_Last (0, 2);
-            Acts (308)(0) := (single_task_declaration_0'Access, 
single_task_declaration_0_check'Access);
-            Acts (308)(1) := (single_task_declaration_1'Access, 
single_task_declaration_1_check'Access);
-            Acts (308)(2) := (single_task_declaration_2'Access, null);
-            Acts (310).Set_First_Last (0, 0);
-            Acts (310)(0) := (subprogram_body_0'Access, 
subprogram_body_0_check'Access);
-            Acts (311).Set_First_Last (0, 0);
-            Acts (311)(0) := (subprogram_body_stub_0'Access, null);
-            Acts (312).Set_First_Last (0, 0);
-            Acts (312)(0) := (subprogram_declaration_0'Access, null);
-            Acts (313).Set_First_Last (0, 2);
-            Acts (313)(0) := (subprogram_default_0'Access, null);
-            Acts (314).Set_First_Last (0, 0);
-            Acts (314)(0) := (subprogram_renaming_declaration_0'Access, null);
-            Acts (315).Set_First_Last (0, 1);
-            Acts (315)(0) := (null, subprogram_specification_0_check'Access);
-            Acts (315)(1) := (null, subprogram_specification_1_check'Access);
-            Acts (316).Set_First_Last (0, 0);
-            Acts (316)(0) := (subtype_declaration_0'Access, null);
-            Acts (317).Set_First_Last (0, 3);
-            Acts (317)(0) := (subtype_indication_0'Access, null);
-            Acts (317)(1) := (subtype_indication_1'Access, null);
-            Acts (317)(2) := (subtype_indication_2'Access, null);
-            Acts (317)(3) := (subtype_indication_3'Access, null);
-            Acts (318).Set_First_Last (0, 0);
-            Acts (318)(0) := (subunit_0'Access, null);
-            Acts (319).Set_First_Last (0, 0);
-            Acts (319)(0) := (task_body_0'Access, task_body_0_check'Access);
-            Acts (320).Set_First_Last (0, 0);
-            Acts (320)(0) := (task_body_stub_0'Access, null);
-            Acts (321).Set_First_Last (0, 1);
-            Acts (321)(0) := (task_definition_0'Access, null);
-            Acts (321)(1) := (task_definition_1'Access, null);
-            Acts (322).Set_First_Last (0, 2);
-            Acts (322)(0) := (task_type_declaration_0'Access, 
task_type_declaration_0_check'Access);
-            Acts (322)(1) := (task_type_declaration_1'Access, 
task_type_declaration_1_check'Access);
-            Acts (322)(2) := (task_type_declaration_2'Access, null);
-            Acts (326).Set_First_Last (0, 0);
-            Acts (326)(0) := (timed_entry_call_0'Access, null);
-            Acts (330).Set_First_Last (0, 0);
-            Acts (330)(0) := (variant_part_0'Access, null);
-            Acts (331).Set_First_Last (0, 1);
-            Acts (331)(0) := (variant_list_0'Access, null);
-            Acts (332).Set_First_Last (0, 0);
-            Acts (332)(0) := (variant_0'Access, null);
-            Acts (334).Set_First_Last (0, 2);
-            Acts (334)(0) := (use_clause_0'Access, null);
-            Acts (334)(1) := (use_clause_1'Access, null);
-            Acts (334)(2) := (use_clause_2'Access, null);
-            Acts (335).Set_First_Last (0, 3);
-            Acts (335)(0) := (with_clause_0'Access, null);
-            Acts (335)(1) := (with_clause_1'Access, null);
-            Acts (335)(2) := (with_clause_2'Access, null);
-            Acts (335)(3) := (with_clause_3'Access, null);
-         end return;
-      end Actions;
-
-      Table : constant Parse_Table_Ptr := Get_Text_Rep
-        (Text_Rep_File_Name, McKenzie_Param, Actions);
-   begin
-      WisiToken.Parse.LR.Parser.New_Parser
-        (Parser,
-         Trace,
-         Lexer.New_Lexer (Trace.Descriptor),
-         Table,
-         Language_Fixes,
-         Language_Matching_Begin_Tokens,
-         Language_String_ID_Set,
-         User_Data,
-         Max_Parallel         => 15,
-         Terminate_Same_State => True);
-   end Create_Parser;
-end Ada_Process_LR1_Main;
diff --git a/packages/ada-mode/ada_process_lr1_main.ads 
b/packages/ada-mode/ada_process_lr1_main.ads
deleted file mode 100644
index 03331f6..0000000
--- a/packages/ada-mode/ada_process_lr1_main.ads
+++ /dev/null
@@ -1,33 +0,0 @@
---  generated parser support file.
---  command line: wisitoken-bnf-generate.exe  --generate LR1 Ada_Emacs re2c 
PROCESS text_rep ada.wy
---
-
---  Copyright (C) 2013 - 2020 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
---  published by the Free Software Foundation; either version 3, or (at
---  your option) any later version.
---
---  This software 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/>.
-
-with WisiToken.Syntax_Trees;
-with WisiToken.Parse.LR.Parser;
-package Ada_Process_LR1_Main is
-
-   procedure Create_Parser
-     (Parser                         :    out WisiToken.Parse.LR.Parser.Parser;
-      Language_Fixes                 : in     
WisiToken.Parse.LR.Parser.Language_Fixes_Access;
-      Language_Matching_Begin_Tokens : in     
WisiToken.Parse.LR.Parser.Language_Matching_Begin_Tokens_Access;
-      Language_String_ID_Set         : in     
WisiToken.Parse.LR.Parser.Language_String_ID_Set_Access;
-      Trace                        : not null access WisiToken.Trace'Class;
-      User_Data                    : in     
WisiToken.Syntax_Trees.User_Data_Access;
-      Text_Rep_File_Name : in String);
-
-end Ada_Process_LR1_Main;
diff --git a/packages/ada-mode/ada_re2c.c b/packages/ada-mode/ada_re2c.c
deleted file mode 100644
index 684facc..0000000
--- a/packages/ada-mode/ada_re2c.c
+++ /dev/null
@@ -1,16811 +0,0 @@
-/* Generated by re2c 1.3 */
-#line 1 "../ada.re2c"
-//  generated parser support file. -*- mode: C -*-
-//  command line: wisitoken-bnf-generate.exe  --generate LALR Ada_Emacs re2c 
PROCESS ada.wy
-//
-
-//  Copyright (C) 2013 - 2020 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
-//  published by the Free Software Foundation; either version 3, or (at
-//  your option) any later version.
-//
-//  This software 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/>.
-
-#include <stddef.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-typedef struct wisi_lexer
-{
-   unsigned char* buffer;           // input text, in utf-8 encoding
-   unsigned char* buffer_last;      // last byte in buffer
-   unsigned char* cursor;           // current byte
-   unsigned char* byte_token_start; // byte position at start of current token
-   size_t         char_pos;         // character position of current character
-   size_t         char_token_start; // character position at start of current 
token
-   int            line;             // 1 indexed
-   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
-   unsigned char* context;          // saved cursor
-   size_t         context_pos;      // saved character position
-   int            context_line;     // saved line
-   int            verbosity;
-
-} wisi_lexer;
-
-#define YYCTYPE unsigned char
-
-#define NO_ERROR 0
-#define ERROR_unrecognized_character 1
-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->byte_token_start  = input;
-   result->char_pos          = 1; /* match WisiToken.Buffer_Region */
-   result->char_token_start  = 1;
-   result->line              = (*result->cursor == 0x0A) ? 2 : 1;
-   result->line_token_start  = result->line;
-   result->verbosity         = verbosity;
-   return result;
-}
-
-void
-ada_free_lexer(wisi_lexer** lexer)
-{
-   free(*lexer);
-   *lexer = 0;
-}
-
-void
-ada_reset_lexer(wisi_lexer* lexer)
-{
-   lexer->cursor   = lexer->buffer;
-   lexer->char_pos = 1;
-   lexer->line     = (*lexer->cursor == 0x0A) ? 2 : 1;
-}
-
-static void debug(wisi_lexer* lexer, int state, unsigned char ch)
-{
-   if (lexer->verbosity > 0)
-      {
-      if (ch < ' ')
-         printf ("lexer: %d, 0x%x\n", state, ch);
-      else
-         printf ("lexer: %d, '%c' 0x%x\n", state, ch, ch);
-      }
-}
-#define YYDEBUG(state, ch) debug(lexer, state, ch)
-#define YYCURSOR lexer->cursor
-
-#define YYPEEK() (lexer->cursor <= lexer->buffer_last) ? *lexer->cursor : 4
-
-static void skip(wisi_lexer* lexer)
-{
-   if (lexer->cursor <= lexer->buffer_last)
-      ++lexer->cursor;
-   if (lexer->cursor <= lexer->buffer_last)
-   {
-      /* UFT-8 encoding: https://en.wikipedia.org/wiki/UTF-8#Description */
-      if (*lexer->cursor == 0x0A && lexer->cursor > lexer->buffer && 
*(lexer->cursor - 1) == 0x0D)
-        {/* second byte of DOS line ending */
-        }
-      else if ((*lexer->cursor & 0x80) == 0x80 && (*lexer->cursor & 0xC0) != 
0xC0)
-        {/* byte 2, 3 or 4 of multi-byte UTF-8 char */
-        }
-      else
-        ++lexer->char_pos;
-      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
-#define YYRESTORE() lexer->cursor = lexer->marker; lexer->char_pos = 
lexer->marker_pos;lexer->line = lexer->marker_line
-#define YYBACKUPCTX() lexer->context = lexer->cursor; lexer->context_pos = 
lexer->char_pos;lexer->context_line = lexer->line
-#define YYRESTORECTX() lexer->cursor = lexer->context; lexer->char_pos = 
lexer->context_pos;lexer->line = lexer->context_line
-
-int ada_next_token
-  (wisi_lexer* lexer,
-   int* id,
-   size_t* byte_position,
-   size_t* byte_length,
-   size_t* char_position,
-   size_t* char_length,
-   int*    line_start)
-{
-   int status = NO_ERROR;
-   *id = -1;
-   if (lexer->cursor > lexer->buffer_last)
-   {
-      *id            = 110;
-      *byte_position = lexer->buffer_last - lexer->buffer + 1;
-      *byte_length   = 0;
-      *char_position = lexer->char_token_start;
-      *char_length   = 0;
-      *line_start    = lexer->line;
-      return status;
-   }
-
-   lexer->byte_token_start = lexer->cursor;
-   lexer->char_token_start = lexer->char_pos;
-   if (*lexer->cursor == 0x0A)
-      lexer->line_token_start = lexer->line-1;
-   else
-      lexer->line_token_start = lexer->line;
-
-   while (*id == -1 && status == 0)
-   {
-
-#line 153 "../ada_re2c.c"
-{
-       YYCTYPE yych;
-       unsigned int yyaccept = 0;
-       YYDEBUG(0, *YYCURSOR);
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x04:      goto yy4;
-       case '\t':
-       case ' ':       goto yy6;
-       case '\n':      goto yy9;
-       case '\r':      goto yy11;
-       case '"':       goto yy12;
-       case '#':       goto yy13;
-       case '$':
-       case 'H':
-       case 'J':
-       case 'K':
-       case 'Q':
-       case 'V':
-       case 'Y':
-       case 'Z':
-       case 'h':
-       case 'j':
-       case 'k':
-       case 'q':
-       case 'v':
-       case 'y':
-       case 'z':       goto yy14;
-       case '&':       goto yy17;
-       case '\'':      goto yy19;
-       case '(':       goto yy21;
-       case ')':       goto yy23;
-       case '*':       goto yy25;
-       case '+':       goto yy27;
-       case ',':       goto yy29;
-       case '-':       goto yy31;
-       case '.':       goto yy33;
-       case '/':       goto yy35;
-       case '0':
-       case '1':
-       case '2':
-       case '3':
-       case '4':
-       case '5':
-       case '6':
-       case '7':
-       case '8':
-       case '9':       goto yy37;
-       case ':':       goto yy40;
-       case ';':       goto yy42;
-       case '<':       goto yy44;
-       case '=':       goto yy46;
-       case '>':       goto yy48;
-       case '@':       goto yy50;
-       case 'A':
-       case 'a':       goto yy52;
-       case 'B':
-       case 'b':       goto yy53;
-       case 'C':
-       case 'c':       goto yy54;
-       case 'D':
-       case 'd':       goto yy55;
-       case 'E':
-       case 'e':       goto yy56;
-       case 'F':
-       case 'f':       goto yy57;
-       case 'G':
-       case 'g':       goto yy58;
-       case 'I':
-       case 'i':       goto yy59;
-       case 'L':
-       case 'l':       goto yy60;
-       case 'M':
-       case 'm':       goto yy61;
-       case 'N':
-       case 'n':       goto yy62;
-       case 'O':
-       case 'o':       goto yy63;
-       case 'P':
-       case 'p':       goto yy64;
-       case 'R':
-       case 'r':       goto yy65;
-       case 'S':
-       case 's':       goto yy66;
-       case 'T':
-       case 't':       goto yy67;
-       case 'U':
-       case 'u':       goto yy68;
-       case 'W':
-       case 'w':       goto yy69;
-       case 'X':
-       case 'x':       goto yy70;
-       case '[':       goto yy71;
-       case ']':       goto yy73;
-       case '{':       goto yy75;
-       case '|':       goto yy78;
-       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 yy80;
-       case 0xE0:      goto yy81;
-       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 yy82;
-       case 0xF0:      goto yy83;
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:      goto yy84;
-       case 0xF4:      goto yy85;
-       default:        goto yy2;
-       }
-yy2:
-       YYDEBUG(2, YYPEEK ());
-       YYSKIP ();
-yy3:
-       YYDEBUG(3, YYPEEK ());
-#line 382 "../ada.re2c"
-       {status = ERROR_unrecognized_character; continue;}
-#line 310 "../ada_re2c.c"
-yy4:
-       YYDEBUG(4, YYPEEK ());
-       YYSKIP ();
-       YYDEBUG(5, YYPEEK ());
-#line 380 "../ada.re2c"
-       {*id =  110; continue;}
-#line 317 "../ada_re2c.c"
-yy6:
-       YYDEBUG(6, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       YYDEBUG(7, YYPEEK ());
-       switch (yych) {
-       case '\t':
-       case ' ':       goto yy6;
-       default:        goto yy8;
-       }
-yy8:
-       YYDEBUG(8, YYPEEK ());
-#line 264 "../ada.re2c"
-       { lexer->byte_token_start = lexer->cursor;
-          lexer->char_token_start = lexer->char_pos;
-          if (*lexer->cursor == 0x0A)
-             lexer->line_token_start = lexer->line-1;
-          else
-             lexer->line_token_start = lexer->line;
-          continue; }
-#line 338 "../ada_re2c.c"
-yy9:
-       YYDEBUG(9, YYPEEK ());
-       YYSKIP ();
-       YYDEBUG(10, YYPEEK ());
-#line 271 "../ada.re2c"
-       {*id =  1; continue;}
-#line 345 "../ada_re2c.c"
-yy11:
-       YYDEBUG(11, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case '\n':      goto yy9;
-       default:        goto yy3;
-       }
-yy12:
-       YYDEBUG(12, YYPEEK ());
-       yyaccept = 0;
-       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':
-       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 '`':
-       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:
-       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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy87;
-       default:        goto yy3;
-       }
-yy13:
-       YYDEBUG(13, YYPEEK ());
-       yyaccept = 0;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'e':       goto yy99;
-       case 'i':       goto yy100;
-       default:        goto yy3;
-       }
-yy14:
-       YYDEBUG(14, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-yy15:
-       YYDEBUG(15, YYPEEK ());
-       switch (yych) {
-       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 '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 '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':       goto yy14;
-       case '[':       goto yy101;
-       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 yy102;
-       case 0xE0:      goto yy103;
-       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 yy104;
-       case 0xF0:      goto yy105;
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:      goto yy106;
-       case 0xF4:      goto yy107;
-       default:        goto yy16;
-       }
-yy16:
-       YYDEBUG(16, YYPEEK ());
-#line 377 "../ada.re2c"
-       {*id =  107; continue;}
-#line 651 "../ada_re2c.c"
-yy17:
-       YYDEBUG(17, YYPEEK ());
-       YYSKIP ();
-       YYDEBUG(18, YYPEEK ());
-#line 350 "../ada.re2c"
-       {*id =  80; continue;}
-#line 658 "../ada_re2c.c"
-yy19:
-       YYDEBUG(19, YYPEEK ());
-       yyaccept = 2;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = 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 yy108;
-       case '(':
-               YYBACKUPCTX ();
-               goto yy109;
-       case '[':       goto yy110;
-       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 yy111;
-       case 0xE0:      goto yy112;
-       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 yy113;
-       case 0xF0:      goto yy114;
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:      goto yy115;
-       case 0xF4:      goto yy116;
-       default:        goto yy20;
-       }
-yy20:
-       YYDEBUG(20, YYPEEK ());
-#line 374 "../ada.re2c"
-       {*id =  104; continue;}
-#line 821 "../ada_re2c.c"
-yy21:
-       YYDEBUG(21, YYPEEK ());
-       YYSKIP ();
-       YYDEBUG(22, YYPEEK ());
-#line 346 "../ada.re2c"
-       {*id =  76; continue;}
-#line 828 "../ada_re2c.c"
-yy23:
-       YYDEBUG(23, YYPEEK ());
-       YYSKIP ();
-       YYDEBUG(24, YYPEEK ());
-#line 348 "../ada.re2c"
-       {*id =  78; continue;}
-#line 835 "../ada_re2c.c"
-yy25:
-       YYDEBUG(25, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case '*':       goto yy117;
-       default:        goto yy26;
-       }
-yy26:
-       YYDEBUG(26, YYPEEK ());
-#line 372 "../ada.re2c"
-       {*id =  102; continue;}
-#line 848 "../ada_re2c.c"
-yy27:
-       YYDEBUG(27, YYPEEK ());
-       YYSKIP ();
-       YYDEBUG(28, YYPEEK ());
-#line 368 "../ada.re2c"
-       {*id =  98; continue;}
-#line 855 "../ada_re2c.c"
-yy29:
-       YYDEBUG(29, YYPEEK ());
-       YYSKIP ();
-       YYDEBUG(30, YYPEEK ());
-#line 356 "../ada.re2c"
-       {*id =  86; continue;}
-#line 862 "../ada_re2c.c"
-yy31:
-       YYDEBUG(31, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case '-':       goto yy119;
-       default:        goto yy32;
-       }
-yy32:
-       YYDEBUG(32, YYPEEK ());
-#line 367 "../ada.re2c"
-       {*id =  97; continue;}
-#line 875 "../ada_re2c.c"
-yy33:
-       YYDEBUG(33, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case '.':       goto yy121;
-       default:        goto yy34;
-       }
-yy34:
-       YYDEBUG(34, YYPEEK ());
-#line 357 "../ada.re2c"
-       {*id =  87; continue;}
-#line 888 "../ada_re2c.c"
-yy35:
-       YYDEBUG(35, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case '=':       goto yy123;
-       default:        goto yy36;
-       }
-yy36:
-       YYDEBUG(36, YYPEEK ());
-#line 370 "../ada.re2c"
-       {*id =  100; continue;}
-#line 901 "../ada_re2c.c"
-yy37:
-       YYDEBUG(37, YYPEEK ());
-       yyaccept = 3;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       YYDEBUG(38, YYPEEK ());
-       switch (yych) {
-       case '#':       goto yy125;
-       case '-':
-       case '.':
-       case 'E':
-       case '_':
-       case 'e':       goto yy126;
-       case '0':
-       case '1':
-       case '2':
-       case '3':
-       case '4':
-       case '5':
-       case '6':
-       case '7':
-       case '8':
-       case '9':       goto yy37;
-       default:        goto yy39;
-       }
-yy39:
-       YYDEBUG(39, YYPEEK ());
-#line 376 "../ada.re2c"
-       {*id =  106; continue;}
-#line 932 "../ada_re2c.c"
-yy40:
-       YYDEBUG(40, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case '=':       goto yy128;
-       default:        goto yy41;
-       }
-yy41:
-       YYDEBUG(41, YYPEEK ());
-#line 354 "../ada.re2c"
-       {*id =  84; continue;}
-#line 945 "../ada_re2c.c"
-yy42:
-       YYDEBUG(42, YYPEEK ());
-       YYSKIP ();
-       YYDEBUG(43, YYPEEK ());
-#line 369 "../ada.re2c"
-       {*id =  99; continue;}
-#line 952 "../ada_re2c.c"
-yy44:
-       YYDEBUG(44, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case '<':       goto yy130;
-       case '=':       goto yy132;
-       case '>':       goto yy134;
-       default:        goto yy45;
-       }
-yy45:
-       YYDEBUG(45, YYPEEK ());
-#line 364 "../ada.re2c"
-       {*id =  94; continue;}
-#line 967 "../ada_re2c.c"
-yy46:
-       YYDEBUG(46, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case '>':       goto yy136;
-       default:        goto yy47;
-       }
-yy47:
-       YYDEBUG(47, YYPEEK ());
-#line 359 "../ada.re2c"
-       {*id =  89; continue;}
-#line 980 "../ada_re2c.c"
-yy48:
-       YYDEBUG(48, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case '=':       goto yy138;
-       case '>':       goto yy140;
-       default:        goto yy49;
-       }
-yy49:
-       YYDEBUG(49, YYPEEK ());
-#line 361 "../ada.re2c"
-       {*id =  91; continue;}
-#line 994 "../ada_re2c.c"
-yy50:
-       YYDEBUG(50, YYPEEK ());
-       YYSKIP ();
-       YYDEBUG(51, YYPEEK ());
-#line 351 "../ada.re2c"
-       {*id =  81; continue;}
-#line 1001 "../ada_re2c.c"
-yy52:
-       YYDEBUG(52, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'B':
-       case 'b':       goto yy142;
-       case 'C':
-       case 'c':       goto yy143;
-       case 'L':
-       case 'l':       goto yy144;
-       case 'N':
-       case 'n':       goto yy145;
-       case 'R':
-       case 'r':       goto yy146;
-       case 'T':
-       case 't':       goto yy147;
-       default:        goto yy15;
-       }
-yy53:
-       YYDEBUG(53, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy149;
-       case 'O':
-       case 'o':       goto yy150;
-       default:        goto yy15;
-       }
-yy54:
-       YYDEBUG(54, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'A':
-       case 'a':       goto yy151;
-       case 'O':
-       case 'o':       goto yy152;
-       default:        goto yy15;
-       }
-yy55:
-       YYDEBUG(55, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy153;
-       case 'I':
-       case 'i':       goto yy154;
-       case 'O':
-       case 'o':       goto yy155;
-       default:        goto yy15;
-       }
-yy56:
-       YYDEBUG(56, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'L':
-       case 'l':       goto yy157;
-       case 'N':
-       case 'n':       goto yy158;
-       case 'X':
-       case 'x':       goto yy159;
-       default:        goto yy15;
-       }
-yy57:
-       YYDEBUG(57, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'O':
-       case 'o':       goto yy160;
-       case 'U':
-       case 'u':       goto yy161;
-       default:        goto yy15;
-       }
-yy58:
-       YYDEBUG(58, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy162;
-       case 'O':
-       case 'o':       goto yy163;
-       default:        goto yy15;
-       }
-yy59:
-       YYDEBUG(59, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'F':
-       case 'f':       goto yy164;
-       case 'N':
-       case 'n':       goto yy166;
-       case 'S':
-       case 's':       goto yy168;
-       default:        goto yy15;
-       }
-yy60:
-       YYDEBUG(60, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'I':
-       case 'i':       goto yy170;
-       case 'O':
-       case 'o':       goto yy171;
-       default:        goto yy15;
-       }
-yy61:
-       YYDEBUG(61, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'O':
-       case 'o':       goto yy172;
-       default:        goto yy15;
-       }
-yy62:
-       YYDEBUG(62, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy173;
-       case 'O':
-       case 'o':       goto yy174;
-       case 'U':
-       case 'u':       goto yy175;
-       default:        goto yy15;
-       }
-yy63:
-       YYDEBUG(63, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'F':
-       case 'f':       goto yy176;
-       case 'R':
-       case 'r':       goto yy178;
-       case 'T':
-       case 't':       goto yy180;
-       case 'U':
-       case 'u':       goto yy181;
-       case 'V':
-       case 'v':       goto yy182;
-       default:        goto yy15;
-       }
-yy64:
-       YYDEBUG(64, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'A':
-       case 'a':       goto yy183;
-       case 'R':
-       case 'r':       goto yy184;
-       default:        goto yy15;
-       }
-yy65:
-       YYDEBUG(65, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'A':
-       case 'a':       goto yy185;
-       case 'E':
-       case 'e':       goto yy186;
-       default:        goto yy15;
-       }
-yy66:
-       YYDEBUG(66, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy187;
-       case 'O':
-       case 'o':       goto yy188;
-       case 'U':
-       case 'u':       goto yy189;
-       case 'Y':
-       case 'y':       goto yy190;
-       default:        goto yy15;
-       }
-yy67:
-       YYDEBUG(67, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'A':
-       case 'a':       goto yy191;
-       case 'E':
-       case 'e':       goto yy192;
-       case 'H':
-       case 'h':       goto yy193;
-       case 'Y':
-       case 'y':       goto yy194;
-       default:        goto yy15;
-       }
-yy68:
-       YYDEBUG(68, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'N':
-       case 'n':       goto yy195;
-       case 'S':
-       case 's':       goto yy196;
-       default:        goto yy15;
-       }
-yy69:
-       YYDEBUG(69, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'H':
-       case 'h':       goto yy197;
-       case 'I':
-       case 'i':       goto yy198;
-       default:        goto yy15;
-       }
-yy70:
-       YYDEBUG(70, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'O':
-       case 'o':       goto yy199;
-       default:        goto yy15;
-       }
-yy71:
-       YYDEBUG(71, YYPEEK ());
-       yyaccept = 4;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case '"':       goto yy200;
-       default:        goto yy72;
-       }
-yy72:
-       YYDEBUG(72, YYPEEK ());
-#line 347 "../ada.re2c"
-       {*id =  77; continue;}
-#line 1289 "../ada_re2c.c"
-yy73:
-       YYDEBUG(73, YYPEEK ());
-       YYSKIP ();
-       YYDEBUG(74, YYPEEK ());
-#line 349 "../ada.re2c"
-       {*id =  79; continue;}
-#line 1296 "../ada_re2c.c"
-yy75:
-       YYDEBUG(75, YYPEEK ());
-       yyaccept = 5;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       YYDEBUG(76, YYPEEK ());
-       switch (yych) {
-       case 0x00:
-       case 0x01:
-       case 0x02:
-       case 0x03:
-       case 0x05:
-       case 0x06:
-       case 0x07:
-       case 0x08:
-       case '\t':
-       case '\v':
-       case '\f':
-       case '\r':
-       case 0x0E:
-       case 0x0F:
-       case 0x10:
-       case 0x11:
-       case 0x12:
-       case 0x13:
-       case 0x14:
-       case 0x15:
-       case 0x16:
-       case 0x17:
-       case 0x18:
-       case 0x19:
-       case 0x1A:
-       case 0x1B:
-       case 0x1C:
-       case 0x1D:
-       case 0x1E:
-       case 0x1F:
-       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':
-       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 '`':
-       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 0x7F:      goto yy75;
-       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 yy201;
-       case 0xE0:      goto yy202;
-       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 yy203;
-       case 0xF0:      goto yy204;
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:      goto yy205;
-       case 0xF4:      goto yy206;
-       default:        goto yy77;
-       }
-yy77:
-       YYDEBUG(77, YYPEEK ());
-#line 272 "../ada.re2c"
-       {*id =  2; continue;}
-#line 1487 "../ada_re2c.c"
-yy78:
-       YYDEBUG(78, YYPEEK ());
-       YYSKIP ();
-       YYDEBUG(79, YYPEEK ());
-#line 352 "../ada.re2c"
-       {*id =  82; continue;}
-#line 1494 "../ada_re2c.c"
-yy80:
-       YYDEBUG(80, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy14;
-       default:        goto yy3;
-       }
-yy81:
-       YYDEBUG(81, YYPEEK ());
-       yyaccept = 0;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy102;
-       default:        goto yy3;
-       }
-yy82:
-       YYDEBUG(82, YYPEEK ());
-       yyaccept = 0;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy102;
-       default:        goto yy3;
-       }
-yy83:
-       YYDEBUG(83, YYPEEK ());
-       yyaccept = 0;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy104;
-       default:        goto yy3;
-       }
-yy84:
-       YYDEBUG(84, YYPEEK ());
-       yyaccept = 0;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy104;
-       default:        goto yy3;
-       }
-yy85:
-       YYDEBUG(85, YYPEEK ());
-       yyaccept = 0;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:      goto yy104;
-       default:        goto yy3;
-       }
-yy86:
-       YYDEBUG(86, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-yy87:
-       YYDEBUG(87, 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 yy86;
-       case '"':       goto yy89;
-       case '[':       goto yy91;
-       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 yy93;
-       case 0xE0:      goto yy94;
-       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 yy95;
-       case 0xF0:      goto yy96;
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:      goto yy97;
-       case 0xF4:      goto yy98;
-       default:        goto yy88;
-       }
-yy88:
-       YYDEBUG(88, YYPEEK ());
-       YYRESTORE ();
-       switch (yyaccept) {
-       case 0:         goto yy3;
-       case 1:         goto yy16;
-       case 2:         goto yy20;
-       case 3:         goto yy39;
-       case 4:         goto yy72;
-       case 5:         goto yy77;
-       case 6:         goto yy90;
-       case 7:         goto yy148;
-       case 8:         goto yy156;
-       case 9:         goto yy165;
-       case 10:        goto yy167;
-       case 11:        goto yy169;
-       case 12:        goto yy177;
-       case 13:        goto yy179;
-       case 14:        goto yy211;
-       case 15:        goto yy226;
-       case 16:        goto yy230;
-       case 17:        goto yy232;
-       case 18:        goto yy243;
-       case 19:        goto yy248;
-       case 20:        goto yy256;
-       case 21:        goto yy258;
-       case 22:        goto yy260;
-       case 23:        goto yy264;
-       case 24:        goto yy274;
-       case 25:        goto yy291;
-       case 26:        goto yy296;
-       case 27:        goto yy320;
-       case 28:        goto yy322;
-       case 29:        goto yy329;
-       case 30:        goto yy334;
-       case 31:        goto yy338;
-       case 32:        goto yy342;
-       case 33:        goto yy344;
-       case 34:        goto yy362;
-       case 35:        goto yy367;
-       case 36:        goto yy370;
-       case 37:        goto yy372;
-       case 38:        goto yy375;
-       case 39:        goto yy378;
-       case 40:        goto yy386;
-       case 41:        goto yy392;
-       case 42:        goto yy394;
-       case 43:        goto yy398;
-       case 44:        goto yy400;
-       case 45:        goto yy403;
-       case 46:        goto yy405;
-       case 47:        goto yy419;
-       case 48:        goto yy421;
-       case 49:        goto yy434;
-       case 50:        goto yy436;
-       case 51:        goto yy441;
-       case 52:        goto yy443;
-       case 53:        goto yy448;
-       case 54:        goto yy455;
-       case 55:        goto yy459;
-       case 56:        goto yy464;
-       case 57:        goto yy468;
-       case 58:        goto yy471;
-       case 59:        goto yy476;
-       case 60:        goto yy481;
-       case 61:        goto yy484;
-       case 62:        goto yy488;
-       case 63:        goto yy491;
-       case 64:        goto yy494;
-       case 65:        goto yy496;
-       case 66:        goto yy500;
-       case 67:        goto yy502;
-       case 68:        goto yy504;
-       case 69:        goto yy507;
-       case 70:        goto yy511;
-       case 71:        goto yy513;
-       case 72:        goto yy516;
-       case 73:        goto yy522;
-       case 74:        goto yy526;
-       case 75:        goto yy528;
-       case 76:        goto yy531;
-       case 77:        goto yy533;
-       case 78:        goto yy536;
-       case 79:        goto yy538;
-       default:        goto yy542;
-       }
-yy89:
-       YYDEBUG(89, YYPEEK ());
-       yyaccept = 6;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case '"':       goto yy86;
-       default:        goto yy90;
-       }
-yy90:
-       YYDEBUG(90, YYPEEK ());
-#line 378 "../ada.re2c"
-       {*id =  108; continue;}
-#line 2091 "../ada_re2c.c"
-yy91:
-       YYDEBUG(91, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       YYDEBUG(92, 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 yy86;
-       case '"':       goto yy207;
-       case '[':       goto yy91;
-       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 yy93;
-       case 0xE0:      goto yy94;
-       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 yy95;
-       case 0xF0:      goto yy96;
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:      goto yy97;
-       case 0xF4:      goto yy98;
-       default:        goto yy88;
-       }
-yy93:
-       YYDEBUG(93, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy86;
-       default:        goto yy88;
-       }
-yy94:
-       YYDEBUG(94, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy93;
-       default:        goto yy88;
-       }
-yy95:
-       YYDEBUG(95, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy93;
-       default:        goto yy88;
-       }
-yy96:
-       YYDEBUG(96, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy95;
-       default:        goto yy88;
-       }
-yy97:
-       YYDEBUG(97, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy95;
-       default:        goto yy88;
-       }
-yy98:
-       YYDEBUG(98, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:      goto yy95;
-       default:        goto yy88;
-       }
-yy99:
-       YYDEBUG(99, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'l':       goto yy208;
-       case 'n':       goto yy209;
-       default:        goto yy88;
-       }
-yy100:
-       YYDEBUG(100, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'f':       goto yy119;
-       default:        goto yy88;
-       }
-yy101:
-       YYDEBUG(101, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case '"':       goto yy200;
-       default:        goto yy88;
-       }
-yy102:
-       YYDEBUG(102, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy14;
-       default:        goto yy88;
-       }
-yy103:
-       YYDEBUG(103, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy102;
-       default:        goto yy88;
-       }
-yy104:
-       YYDEBUG(104, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy102;
-       default:        goto yy88;
-       }
-yy105:
-       YYDEBUG(105, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy104;
-       default:        goto yy88;
-       }
-yy106:
-       YYDEBUG(106, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy104;
-       default:        goto yy88;
-       }
-yy107:
-       YYDEBUG(107, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:      goto yy104;
-       default:        goto yy88;
-       }
-yy108:
-       YYDEBUG(108, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case '\'':      goto yy210;
-       default:        goto yy88;
-       }
-yy109:
-       YYDEBUG(109, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case '\'':      goto yy212;
-       default:        goto yy88;
-       }
-yy110:
-       YYDEBUG(110, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case '"':       goto yy213;
-       case '\'':      goto yy210;
-       default:        goto yy88;
-       }
-yy111:
-       YYDEBUG(111, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy108;
-       default:        goto yy88;
-       }
-yy112:
-       YYDEBUG(112, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy111;
-       default:        goto yy88;
-       }
-yy113:
-       YYDEBUG(113, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy111;
-       default:        goto yy88;
-       }
-yy114:
-       YYDEBUG(114, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy113;
-       default:        goto yy88;
-       }
-yy115:
-       YYDEBUG(115, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy113;
-       default:        goto yy88;
-       }
-yy116:
-       YYDEBUG(116, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:      goto yy113;
-       default:        goto yy88;
-       }
-yy117:
-       YYDEBUG(117, YYPEEK ());
-       YYSKIP ();
-       YYDEBUG(118, YYPEEK ());
-#line 373 "../ada.re2c"
-       {*id =  103; continue;}
-#line 3293 "../ada_re2c.c"
-yy119:
-       YYDEBUG(119, YYPEEK ());
-       yyaccept = 5;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       YYDEBUG(120, YYPEEK ());
-       switch (yych) {
-       case 0x00:
-       case 0x01:
-       case 0x02:
-       case 0x03:
-       case 0x05:
-       case 0x06:
-       case 0x07:
-       case 0x08:
-       case '\t':
-       case '\v':
-       case '\f':
-       case '\r':
-       case 0x0E:
-       case 0x0F:
-       case 0x10:
-       case 0x11:
-       case 0x12:
-       case 0x13:
-       case 0x14:
-       case 0x15:
-       case 0x16:
-       case 0x17:
-       case 0x18:
-       case 0x19:
-       case 0x1A:
-       case 0x1B:
-       case 0x1C:
-       case 0x1D:
-       case 0x1E:
-       case 0x1F:
-       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':
-       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 '`':
-       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 yy119;
-       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 yy214;
-       case 0xE0:      goto yy215;
-       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 yy216;
-       case 0xF0:      goto yy217;
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:      goto yy218;
-       case 0xF4:      goto yy219;
-       default:        goto yy77;
-       }
-yy121:
-       YYDEBUG(121, YYPEEK ());
-       YYSKIP ();
-       YYDEBUG(122, YYPEEK ());
-#line 358 "../ada.re2c"
-       {*id =  88; continue;}
-#line 3487 "../ada_re2c.c"
-yy123:
-       YYDEBUG(123, YYPEEK ());
-       YYSKIP ();
-       YYDEBUG(124, YYPEEK ());
-#line 371 "../ada.re2c"
-       {*id =  101; continue;}
-#line 3494 "../ada_re2c.c"
-yy125:
-       YYDEBUG(125, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case '#':       goto yy88;
-       default:        goto yy221;
-       }
-yy126:
-       YYDEBUG(126, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       YYDEBUG(127, YYPEEK ());
-       switch (yych) {
-       case '-':
-       case '.':
-       case 'E':
-       case '_':
-       case 'e':       goto yy126;
-       case '0':
-       case '1':
-       case '2':
-       case '3':
-       case '4':
-       case '5':
-       case '6':
-       case '7':
-       case '8':
-       case '9':       goto yy222;
-       default:        goto yy88;
-       }
-yy128:
-       YYDEBUG(128, YYPEEK ());
-       YYSKIP ();
-       YYDEBUG(129, YYPEEK ());
-#line 355 "../ada.re2c"
-       {*id =  85; continue;}
-#line 3532 "../ada_re2c.c"
-yy130:
-       YYDEBUG(130, YYPEEK ());
-       YYSKIP ();
-       YYDEBUG(131, YYPEEK ());
-#line 366 "../ada.re2c"
-       {*id =  96; continue;}
-#line 3539 "../ada_re2c.c"
-yy132:
-       YYDEBUG(132, YYPEEK ());
-       YYSKIP ();
-       YYDEBUG(133, YYPEEK ());
-#line 365 "../ada.re2c"
-       {*id =  95; continue;}
-#line 3546 "../ada_re2c.c"
-yy134:
-       YYDEBUG(134, YYPEEK ());
-       YYSKIP ();
-       YYDEBUG(135, YYPEEK ());
-#line 353 "../ada.re2c"
-       {*id =  83; continue;}
-#line 3553 "../ada_re2c.c"
-yy136:
-       YYDEBUG(136, YYPEEK ());
-       YYSKIP ();
-       YYDEBUG(137, YYPEEK ());
-#line 360 "../ada.re2c"
-       {*id =  90; continue;}
-#line 3560 "../ada_re2c.c"
-yy138:
-       YYDEBUG(138, YYPEEK ());
-       YYSKIP ();
-       YYDEBUG(139, YYPEEK ());
-#line 362 "../ada.re2c"
-       {*id =  92; continue;}
-#line 3567 "../ada_re2c.c"
-yy140:
-       YYDEBUG(140, YYPEEK ());
-       YYSKIP ();
-       YYDEBUG(141, YYPEEK ());
-#line 363 "../ada.re2c"
-       {*id =  93; continue;}
-#line 3574 "../ada_re2c.c"
-yy142:
-       YYDEBUG(142, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'O':
-       case 'o':       goto yy224;
-       case 'S':
-       case 's':       goto yy225;
-       default:        goto yy15;
-       }
-yy143:
-       YYDEBUG(143, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'C':
-       case 'c':       goto yy227;
-       default:        goto yy15;
-       }
-yy144:
-       YYDEBUG(144, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'I':
-       case 'i':       goto yy228;
-       case 'L':
-       case 'l':       goto yy229;
-       default:        goto yy15;
-       }
-yy145:
-       YYDEBUG(145, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'D':
-       case 'd':       goto yy231;
-       default:        goto yy15;
-       }
-yy146:
-       YYDEBUG(146, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'R':
-       case 'r':       goto yy233;
-       default:        goto yy15;
-       }
-yy147:
-       YYDEBUG(147, YYPEEK ());
-       yyaccept = 7;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy148;
-       }
-yy148:
-       YYDEBUG(148, YYPEEK ());
-#line 282 "../ada.re2c"
-       {*id =  12; continue;}
-#line 3762 "../ada_re2c.c"
-yy149:
-       YYDEBUG(149, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'G':
-       case 'g':       goto yy234;
-       default:        goto yy15;
-       }
-yy150:
-       YYDEBUG(150, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'D':
-       case 'd':       goto yy235;
-       default:        goto yy15;
-       }
-yy151:
-       YYDEBUG(151, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'S':
-       case 's':       goto yy236;
-       default:        goto yy15;
-       }
-yy152:
-       YYDEBUG(152, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'N':
-       case 'n':       goto yy237;
-       default:        goto yy15;
-       }
-yy153:
-       YYDEBUG(153, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'C':
-       case 'c':       goto yy238;
-       case 'L':
-       case 'l':       goto yy239;
-       default:        goto yy15;
-       }
-yy154:
-       YYDEBUG(154, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'G':
-       case 'g':       goto yy240;
-       default:        goto yy15;
-       }
-yy155:
-       YYDEBUG(155, YYPEEK ());
-       yyaccept = 8;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy156;
-       }
-yy156:
-       YYDEBUG(156, YYPEEK ());
-#line 291 "../ada.re2c"
-       {*id =  21; continue;}
-#line 3959 "../ada_re2c.c"
-yy157:
-       YYDEBUG(157, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'S':
-       case 's':       goto yy241;
-       default:        goto yy15;
-       }
-yy158:
-       YYDEBUG(158, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'D':
-       case 'd':       goto yy242;
-       case 'T':
-       case 't':       goto yy244;
-       default:        goto yy15;
-       }
-yy159:
-       YYDEBUG(159, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'C':
-       case 'c':       goto yy245;
-       case 'I':
-       case 'i':       goto yy246;
-       default:        goto yy15;
-       }
-yy160:
-       YYDEBUG(160, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'R':
-       case 'r':       goto yy247;
-       default:        goto yy15;
-       }
-yy161:
-       YYDEBUG(161, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'N':
-       case 'n':       goto yy249;
-       default:        goto yy15;
-       }
-yy162:
-       YYDEBUG(162, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'N':
-       case 'n':       goto yy250;
-       default:        goto yy15;
-       }
-yy163:
-       YYDEBUG(163, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'T':
-       case 't':       goto yy251;
-       default:        goto yy15;
-       }
-yy164:
-       YYDEBUG(164, YYPEEK ());
-       yyaccept = 9;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy165;
-       }
-yy165:
-       YYDEBUG(165, YYPEEK ());
-#line 302 "../ada.re2c"
-       {*id =  32; continue;}
-#line 4169 "../ada_re2c.c"
-yy166:
-       YYDEBUG(166, YYPEEK ());
-       yyaccept = 10;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 'U':
-       case 'V':
-       case 'W':
-       case 'X':
-       case 'Y':
-       case 'Z':
-       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 'u':
-       case 'v':
-       case 'w':
-       case 'x':
-       case 'y':
-       case 'z':
-       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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       case 'T':
-       case 't':       goto yy252;
-       default:        goto yy167;
-       }
-yy167:
-       YYDEBUG(167, YYPEEK ());
-#line 303 "../ada.re2c"
-       {*id =  33; continue;}
-#line 4298 "../ada_re2c.c"
-yy168:
-       YYDEBUG(168, YYPEEK ());
-       yyaccept = 11;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy169;
-       }
-yy169:
-       YYDEBUG(169, YYPEEK ());
-#line 305 "../ada.re2c"
-       {*id =  35; continue;}
-#line 4427 "../ada_re2c.c"
-yy170:
-       YYDEBUG(170, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'M':
-       case 'm':       goto yy253;
-       default:        goto yy15;
-       }
-yy171:
-       YYDEBUG(171, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'O':
-       case 'o':       goto yy254;
-       default:        goto yy15;
-       }
-yy172:
-       YYDEBUG(172, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'D':
-       case 'd':       goto yy255;
-       default:        goto yy15;
-       }
-yy173:
-       YYDEBUG(173, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'W':
-       case 'w':       goto yy257;
-       default:        goto yy15;
-       }
-yy174:
-       YYDEBUG(174, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'T':
-       case 't':       goto yy259;
-       default:        goto yy15;
-       }
-yy175:
-       YYDEBUG(175, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'L':
-       case 'l':       goto yy261;
-       default:        goto yy15;
-       }
-yy176:
-       YYDEBUG(176, YYPEEK ());
-       yyaccept = 12;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy177;
-       }
-yy177:
-       YYDEBUG(177, YYPEEK ());
-#line 312 "../ada.re2c"
-       {*id =  42; continue;}
-#line 4622 "../ada_re2c.c"
-yy178:
-       YYDEBUG(178, YYPEEK ());
-       yyaccept = 13;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy179;
-       }
-yy179:
-       YYDEBUG(179, YYPEEK ());
-#line 313 "../ada.re2c"
-       {*id =  43; continue;}
-#line 4751 "../ada_re2c.c"
-yy180:
-       YYDEBUG(180, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'H':
-       case 'h':       goto yy262;
-       default:        goto yy15;
-       }
-yy181:
-       YYDEBUG(181, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'T':
-       case 't':       goto yy263;
-       default:        goto yy15;
-       }
-yy182:
-       YYDEBUG(182, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy265;
-       default:        goto yy15;
-       }
-yy183:
-       YYDEBUG(183, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'C':
-       case 'c':       goto yy266;
-       default:        goto yy15;
-       }
-yy184:
-       YYDEBUG(184, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'A':
-       case 'a':       goto yy267;
-       case 'I':
-       case 'i':       goto yy268;
-       case 'O':
-       case 'o':       goto yy269;
-       default:        goto yy15;
-       }
-yy185:
-       YYDEBUG(185, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'I':
-       case 'i':       goto yy270;
-       case 'N':
-       case 'n':       goto yy271;
-       default:        goto yy15;
-       }
-yy186:
-       YYDEBUG(186, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'C':
-       case 'c':       goto yy272;
-       case 'M':
-       case 'm':       goto yy273;
-       case 'N':
-       case 'n':       goto yy275;
-       case 'Q':
-       case 'q':       goto yy276;
-       case 'T':
-       case 't':       goto yy277;
-       case 'V':
-       case 'v':       goto yy278;
-       default:        goto yy15;
-       }
-yy187:
-       YYDEBUG(187, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'L':
-       case 'l':       goto yy279;
-       case 'P':
-       case 'p':       goto yy280;
-       default:        goto yy15;
-       }
-yy188:
-       YYDEBUG(188, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'M':
-       case 'm':       goto yy281;
-       default:        goto yy15;
-       }
-yy189:
-       YYDEBUG(189, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'B':
-       case 'b':       goto yy282;
-       default:        goto yy15;
-       }
-yy190:
-       YYDEBUG(190, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'N':
-       case 'n':       goto yy283;
-       default:        goto yy15;
-       }
-yy191:
-       YYDEBUG(191, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'G':
-       case 'g':       goto yy284;
-       case 'S':
-       case 's':       goto yy285;
-       default:        goto yy15;
-       }
-yy192:
-       YYDEBUG(192, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'R':
-       case 'r':       goto yy286;
-       default:        goto yy15;
-       }
-yy193:
-       YYDEBUG(193, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy287;
-       default:        goto yy15;
-       }
-yy194:
-       YYDEBUG(194, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'P':
-       case 'p':       goto yy288;
-       default:        goto yy15;
-       }
-yy195:
-       YYDEBUG(195, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'T':
-       case 't':       goto yy289;
-       default:        goto yy15;
-       }
-yy196:
-       YYDEBUG(196, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy290;
-       default:        goto yy15;
-       }
-yy197:
-       YYDEBUG(197, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy292;
-       case 'I':
-       case 'i':       goto yy293;
-       default:        goto yy15;
-       }
-yy198:
-       YYDEBUG(198, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'T':
-       case 't':       goto yy294;
-       default:        goto yy15;
-       }
-yy199:
-       YYDEBUG(199, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'R':
-       case 'r':       goto yy295;
-       default:        goto yy15;
-       }
-yy200:
-       YYDEBUG(200, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 yy297;
-       default:        goto yy88;
-       }
-yy201:
-       YYDEBUG(201, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy75;
-       default:        goto yy88;
-       }
-yy202:
-       YYDEBUG(202, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy201;
-       default:        goto yy88;
-       }
-yy203:
-       YYDEBUG(203, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy201;
-       default:        goto yy88;
-       }
-yy204:
-       YYDEBUG(204, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy203;
-       default:        goto yy88;
-       }
-yy205:
-       YYDEBUG(205, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy203;
-       default:        goto yy88;
-       }
-yy206:
-       YYDEBUG(206, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:      goto yy203;
-       default:        goto yy88;
-       }
-yy207:
-       YYDEBUG(207, YYPEEK ());
-       yyaccept = 6;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case '"':       goto yy86;
-       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 yy299;
-       default:        goto yy90;
-       }
-yy208:
-       YYDEBUG(208, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 's':       goto yy301;
-       default:        goto yy88;
-       }
-yy209:
-       YYDEBUG(209, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'd':       goto yy119;
-       default:        goto yy88;
-       }
-yy210:
-       YYDEBUG(210, YYPEEK ());
-       YYSKIP ();
-yy211:
-       YYDEBUG(211, YYPEEK ());
-#line 379 "../ada.re2c"
-       {*id =  109; continue;}
-#line 5408 "../ada_re2c.c"
-yy212:
-       YYDEBUG(212, YYPEEK ());
-       yyaccept = 14;
-       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':
-       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 yy302;
-       case '[':       goto yy303;
-       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 yy304;
-       case 0xE0:      goto yy305;
-       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 yy306;
-       case 0xF0:      goto yy307;
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:      goto yy308;
-       case 0xF4:      goto yy309;
-       default:        goto yy211;
-       }
-yy213:
-       YYDEBUG(213, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case '"':       goto yy88;
-       default:        goto yy311;
-       }
-yy214:
-       YYDEBUG(214, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy119;
-       default:        goto yy88;
-       }
-yy215:
-       YYDEBUG(215, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy214;
-       default:        goto yy88;
-       }
-yy216:
-       YYDEBUG(216, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy214;
-       default:        goto yy88;
-       }
-yy217:
-       YYDEBUG(217, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy216;
-       default:        goto yy88;
-       }
-yy218:
-       YYDEBUG(218, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy216;
-       default:        goto yy88;
-       }
-yy219:
-       YYDEBUG(219, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:      goto yy216;
-       default:        goto yy88;
-       }
-yy220:
-       YYDEBUG(220, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-yy221:
-       YYDEBUG(221, YYPEEK ());
-       switch (yych) {
-       case '#':       goto yy312;
-       case '-':
-       case '.':
-       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 '_':
-       case 'a':
-       case 'b':
-       case 'c':
-       case 'd':
-       case 'e':
-       case 'f':       goto yy220;
-       default:        goto yy88;
-       }
-yy222:
-       YYDEBUG(222, YYPEEK ());
-       yyaccept = 3;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       YYDEBUG(223, YYPEEK ());
-       switch (yych) {
-       case '-':
-       case '.':
-       case 'E':
-       case '_':
-       case 'e':       goto yy126;
-       case '0':
-       case '1':
-       case '2':
-       case '3':
-       case '4':
-       case '5':
-       case '6':
-       case '7':
-       case '8':
-       case '9':       goto yy222;
-       default:        goto yy39;
-       }
-yy224:
-       YYDEBUG(224, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'R':
-       case 'r':       goto yy313;
-       default:        goto yy15;
-       }
-yy225:
-       YYDEBUG(225, YYPEEK ());
-       yyaccept = 15;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 'U':
-       case 'V':
-       case 'W':
-       case 'X':
-       case 'Y':
-       case 'Z':
-       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 'u':
-       case 'v':
-       case 'w':
-       case 'x':
-       case 'y':
-       case 'z':
-       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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       case 'T':
-       case 't':       goto yy314;
-       default:        goto yy226;
-       }
-yy226:
-       YYDEBUG(226, YYPEEK ());
-#line 273 "../ada.re2c"
-       {*id =  3; continue;}
-#line 6102 "../ada_re2c.c"
-yy227:
-       YYDEBUG(227, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy315;
-       default:        goto yy15;
-       }
-yy228:
-       YYDEBUG(228, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'A':
-       case 'a':       goto yy316;
-       default:        goto yy15;
-       }
-yy229:
-       YYDEBUG(229, YYPEEK ());
-       yyaccept = 16;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy230;
-       }
-yy230:
-       YYDEBUG(230, YYPEEK ());
-#line 279 "../ada.re2c"
-       {*id =  9; continue;}
-#line 6253 "../ada_re2c.c"
-yy231:
-       YYDEBUG(231, YYPEEK ());
-       yyaccept = 17;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy232;
-       }
-yy232:
-       YYDEBUG(232, YYPEEK ());
-#line 280 "../ada.re2c"
-       {*id =  10; continue;}
-#line 6382 "../ada_re2c.c"
-yy233:
-       YYDEBUG(233, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'A':
-       case 'a':       goto yy317;
-       default:        goto yy15;
-       }
-yy234:
-       YYDEBUG(234, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'I':
-       case 'i':       goto yy318;
-       default:        goto yy15;
-       }
-yy235:
-       YYDEBUG(235, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'Y':
-       case 'y':       goto yy319;
-       default:        goto yy15;
-       }
-yy236:
-       YYDEBUG(236, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy321;
-       default:        goto yy15;
-       }
-yy237:
-       YYDEBUG(237, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'S':
-       case 's':       goto yy323;
-       default:        goto yy15;
-       }
-yy238:
-       YYDEBUG(238, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'L':
-       case 'l':       goto yy324;
-       default:        goto yy15;
-       }
-yy239:
-       YYDEBUG(239, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'A':
-       case 'a':       goto yy325;
-       case 'T':
-       case 't':       goto yy326;
-       default:        goto yy15;
-       }
-yy240:
-       YYDEBUG(240, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'I':
-       case 'i':       goto yy327;
-       default:        goto yy15;
-       }
-yy241:
-       YYDEBUG(241, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy328;
-       case 'I':
-       case 'i':       goto yy330;
-       default:        goto yy15;
-       }
-yy242:
-       YYDEBUG(242, YYPEEK ());
-       yyaccept = 18;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy243;
-       }
-yy243:
-       YYDEBUG(243, YYPEEK ());
-#line 294 "../ada.re2c"
-       {*id =  24; continue;}
-#line 6614 "../ada_re2c.c"
-yy244:
-       YYDEBUG(244, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'R':
-       case 'r':       goto yy331;
-       default:        goto yy15;
-       }
-yy245:
-       YYDEBUG(245, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy332;
-       default:        goto yy15;
-       }
-yy246:
-       YYDEBUG(246, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'T':
-       case 't':       goto yy333;
-       default:        goto yy15;
-       }
-yy247:
-       YYDEBUG(247, YYPEEK ());
-       yyaccept = 19;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy248;
-       }
-yy248:
-       YYDEBUG(248, YYPEEK ());
-#line 298 "../ada.re2c"
-       {*id =  28; continue;}
-#line 6776 "../ada_re2c.c"
-yy249:
-       YYDEBUG(249, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'C':
-       case 'c':       goto yy335;
-       default:        goto yy15;
-       }
-yy250:
-       YYDEBUG(250, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy336;
-       default:        goto yy15;
-       }
-yy251:
-       YYDEBUG(251, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'O':
-       case 'o':       goto yy337;
-       default:        goto yy15;
-       }
-yy252:
-       YYDEBUG(252, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy339;
-       default:        goto yy15;
-       }
-yy253:
-       YYDEBUG(253, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'I':
-       case 'i':       goto yy340;
-       default:        goto yy15;
-       }
-yy254:
-       YYDEBUG(254, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'P':
-       case 'p':       goto yy341;
-       default:        goto yy15;
-       }
-yy255:
-       YYDEBUG(255, YYPEEK ());
-       yyaccept = 20;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy256;
-       }
-yy256:
-       YYDEBUG(256, YYPEEK ());
-#line 308 "../ada.re2c"
-       {*id =  38; continue;}
-#line 6971 "../ada_re2c.c"
-yy257:
-       YYDEBUG(257, YYPEEK ());
-       yyaccept = 21;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy258;
-       }
-yy258:
-       YYDEBUG(258, YYPEEK ());
-#line 309 "../ada.re2c"
-       {*id =  39; continue;}
-#line 7100 "../ada_re2c.c"
-yy259:
-       YYDEBUG(259, YYPEEK ());
-       yyaccept = 22;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy260;
-       }
-yy260:
-       YYDEBUG(260, YYPEEK ());
-#line 310 "../ada.re2c"
-       {*id =  40; continue;}
-#line 7229 "../ada_re2c.c"
-yy261:
-       YYDEBUG(261, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'L':
-       case 'l':       goto yy343;
-       default:        goto yy15;
-       }
-yy262:
-       YYDEBUG(262, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy345;
-       default:        goto yy15;
-       }
-yy263:
-       YYDEBUG(263, YYPEEK ());
-       yyaccept = 23;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy264;
-       }
-yy264:
-       YYDEBUG(264, YYPEEK ());
-#line 315 "../ada.re2c"
-       {*id =  45; continue;}
-#line 7380 "../ada_re2c.c"
-yy265:
-       YYDEBUG(265, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'R':
-       case 'r':       goto yy346;
-       default:        goto yy15;
-       }
-yy266:
-       YYDEBUG(266, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'K':
-       case 'k':       goto yy347;
-       default:        goto yy15;
-       }
-yy267:
-       YYDEBUG(267, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'G':
-       case 'g':       goto yy348;
-       default:        goto yy15;
-       }
-yy268:
-       YYDEBUG(268, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'V':
-       case 'v':       goto yy349;
-       default:        goto yy15;
-       }
-yy269:
-       YYDEBUG(269, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'C':
-       case 'c':       goto yy350;
-       case 'T':
-       case 't':       goto yy351;
-       default:        goto yy15;
-       }
-yy270:
-       YYDEBUG(270, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'S':
-       case 's':       goto yy352;
-       default:        goto yy15;
-       }
-yy271:
-       YYDEBUG(271, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'G':
-       case 'g':       goto yy353;
-       default:        goto yy15;
-       }
-yy272:
-       YYDEBUG(272, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'O':
-       case 'o':       goto yy354;
-       default:        goto yy15;
-       }
-yy273:
-       YYDEBUG(273, YYPEEK ());
-       yyaccept = 24;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy274;
-       }
-yy274:
-       YYDEBUG(274, YYPEEK ());
-#line 325 "../ada.re2c"
-       {*id =  55; continue;}
-#line 7599 "../ada_re2c.c"
-yy275:
-       YYDEBUG(275, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'A':
-       case 'a':       goto yy355;
-       default:        goto yy15;
-       }
-yy276:
-       YYDEBUG(276, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'U':
-       case 'u':       goto yy356;
-       default:        goto yy15;
-       }
-yy277:
-       YYDEBUG(277, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'U':
-       case 'u':       goto yy357;
-       default:        goto yy15;
-       }
-yy278:
-       YYDEBUG(278, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy358;
-       default:        goto yy15;
-       }
-yy279:
-       YYDEBUG(279, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy359;
-       default:        goto yy15;
-       }
-yy280:
-       YYDEBUG(280, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'A':
-       case 'a':       goto yy360;
-       default:        goto yy15;
-       }
-yy281:
-       YYDEBUG(281, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy361;
-       default:        goto yy15;
-       }
-yy282:
-       YYDEBUG(282, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'T':
-       case 't':       goto yy363;
-       default:        goto yy15;
-       }
-yy283:
-       YYDEBUG(283, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'C':
-       case 'c':       goto yy364;
-       default:        goto yy15;
-       }
-yy284:
-       YYDEBUG(284, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'G':
-       case 'g':       goto yy365;
-       default:        goto yy15;
-       }
-yy285:
-       YYDEBUG(285, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'K':
-       case 'k':       goto yy366;
-       default:        goto yy15;
-       }
-yy286:
-       YYDEBUG(286, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'M':
-       case 'm':       goto yy368;
-       default:        goto yy15;
-       }
-yy287:
-       YYDEBUG(287, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'N':
-       case 'n':       goto yy369;
-       default:        goto yy15;
-       }
-yy288:
-       YYDEBUG(288, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy371;
-       default:        goto yy15;
-       }
-yy289:
-       YYDEBUG(289, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'I':
-       case 'i':       goto yy373;
-       default:        goto yy15;
-       }
-yy290:
-       YYDEBUG(290, YYPEEK ());
-       yyaccept = 25;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy291;
-       }
-yy291:
-       YYDEBUG(291, YYPEEK ());
-#line 341 "../ada.re2c"
-       {*id =  71; continue;}
-#line 7893 "../ada_re2c.c"
-yy292:
-       YYDEBUG(292, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'N':
-       case 'n':       goto yy374;
-       default:        goto yy15;
-       }
-yy293:
-       YYDEBUG(293, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'L':
-       case 'l':       goto yy376;
-       default:        goto yy15;
-       }
-yy294:
-       YYDEBUG(294, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'H':
-       case 'h':       goto yy377;
-       default:        goto yy15;
-       }
-yy295:
-       YYDEBUG(295, YYPEEK ());
-       yyaccept = 26;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy296;
-       }
-yy296:
-       YYDEBUG(296, YYPEEK ());
-#line 345 "../ada.re2c"
-       {*id =  75; continue;}
-#line 8055 "../ada_re2c.c"
-yy297:
-       YYDEBUG(297, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       YYDEBUG(298, YYPEEK ());
-       switch (yych) {
-       case '"':       goto yy379;
-       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 yy297;
-       default:        goto yy88;
-       }
-yy299:
-       YYDEBUG(299, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       YYDEBUG(300, YYPEEK ());
-       switch (yych) {
-       case '"':       goto yy380;
-       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 yy299;
-       default:        goto yy88;
-       }
-yy301:
-       YYDEBUG(301, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'e':       goto yy119;
-       case 'i':       goto yy100;
-       default:        goto yy88;
-       }
-yy302:
-       YYDEBUG(302, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case '\'':      goto yy381;
-       default:        goto yy88;
-       }
-yy303:
-       YYDEBUG(303, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case '"':       goto yy383;
-       case '\'':      goto yy381;
-       default:        goto yy88;
-       }
-yy304:
-       YYDEBUG(304, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy302;
-       default:        goto yy88;
-       }
-yy305:
-       YYDEBUG(305, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy304;
-       default:        goto yy88;
-       }
-yy306:
-       YYDEBUG(306, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy304;
-       default:        goto yy88;
-       }
-yy307:
-       YYDEBUG(307, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy306;
-       default:        goto yy88;
-       }
-yy308:
-       YYDEBUG(308, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy306;
-       default:        goto yy88;
-       }
-yy309:
-       YYDEBUG(309, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:      goto yy306;
-       default:        goto yy88;
-       }
-yy310:
-       YYDEBUG(310, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-yy311:
-       YYDEBUG(311, YYPEEK ());
-       switch (yych) {
-       case '"':       goto yy384;
-       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 yy310;
-       default:        goto yy88;
-       }
-yy312:
-       YYDEBUG(312, YYPEEK ());
-       YYSKIP ();
-       goto yy39;
-yy313:
-       YYDEBUG(313, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'T':
-       case 't':       goto yy385;
-       default:        goto yy15;
-       }
-yy314:
-       YYDEBUG(314, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'R':
-       case 'r':       goto yy387;
-       default:        goto yy15;
-       }
-yy315:
-       YYDEBUG(315, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'P':
-       case 'p':       goto yy388;
-       case 'S':
-       case 's':       goto yy389;
-       default:        goto yy15;
-       }
-yy316:
-       YYDEBUG(316, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'S':
-       case 's':       goto yy390;
-       default:        goto yy15;
-       }
-yy317:
-       YYDEBUG(317, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'Y':
-       case 'y':       goto yy391;
-       default:        goto yy15;
-       }
-yy318:
-       YYDEBUG(318, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'N':
-       case 'n':       goto yy393;
-       default:        goto yy15;
-       }
-yy319:
-       YYDEBUG(319, YYPEEK ());
-       yyaccept = 27;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy320;
-       }
-yy320:
-       YYDEBUG(320, YYPEEK ());
-#line 284 "../ada.re2c"
-       {*id =  14; continue;}
-#line 8706 "../ada_re2c.c"
-yy321:
-       YYDEBUG(321, YYPEEK ());
-       yyaccept = 28;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy322;
-       }
-yy322:
-       YYDEBUG(322, YYPEEK ());
-#line 285 "../ada.re2c"
-       {*id =  15; continue;}
-#line 8835 "../ada_re2c.c"
-yy323:
-       YYDEBUG(323, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'T':
-       case 't':       goto yy395;
-       default:        goto yy15;
-       }
-yy324:
-       YYDEBUG(324, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'A':
-       case 'a':       goto yy396;
-       default:        goto yy15;
-       }
-yy325:
-       YYDEBUG(325, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'Y':
-       case 'y':       goto yy397;
-       default:        goto yy15;
-       }
-yy326:
-       YYDEBUG(326, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'A':
-       case 'a':       goto yy399;
-       default:        goto yy15;
-       }
-yy327:
-       YYDEBUG(327, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'T':
-       case 't':       goto yy401;
-       default:        goto yy15;
-       }
-yy328:
-       YYDEBUG(328, YYPEEK ());
-       yyaccept = 29;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy329;
-       }
-yy329:
-       YYDEBUG(329, YYPEEK ());
-#line 292 "../ada.re2c"
-       {*id =  22; continue;}
-#line 9019 "../ada_re2c.c"
-yy330:
-       YYDEBUG(330, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'F':
-       case 'f':       goto yy402;
-       default:        goto yy15;
-       }
-yy331:
-       YYDEBUG(331, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'Y':
-       case 'y':       goto yy404;
-       default:        goto yy15;
-       }
-yy332:
-       YYDEBUG(332, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'P':
-       case 'p':       goto yy406;
-       default:        goto yy15;
-       }
-yy333:
-       YYDEBUG(333, YYPEEK ());
-       yyaccept = 30;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy334;
-       }
-yy334:
-       YYDEBUG(334, YYPEEK ());
-#line 297 "../ada.re2c"
-       {*id =  27; continue;}
-#line 9181 "../ada_re2c.c"
-yy335:
-       YYDEBUG(335, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'T':
-       case 't':       goto yy407;
-       default:        goto yy15;
-       }
-yy336:
-       YYDEBUG(336, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'R':
-       case 'r':       goto yy408;
-       default:        goto yy15;
-       }
-yy337:
-       YYDEBUG(337, YYPEEK ());
-       yyaccept = 31;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy338;
-       }
-yy338:
-       YYDEBUG(338, YYPEEK ());
-#line 301 "../ada.re2c"
-       {*id =  31; continue;}
-#line 9332 "../ada_re2c.c"
-yy339:
-       YYDEBUG(339, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'R':
-       case 'r':       goto yy409;
-       default:        goto yy15;
-       }
-yy340:
-       YYDEBUG(340, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'T':
-       case 't':       goto yy410;
-       default:        goto yy15;
-       }
-yy341:
-       YYDEBUG(341, YYPEEK ());
-       yyaccept = 32;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy342;
-       }
-yy342:
-       YYDEBUG(342, YYPEEK ());
-#line 307 "../ada.re2c"
-       {*id =  37; continue;}
-#line 9483 "../ada_re2c.c"
-yy343:
-       YYDEBUG(343, YYPEEK ());
-       yyaccept = 33;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy344;
-       }
-yy344:
-       YYDEBUG(344, YYPEEK ());
-#line 311 "../ada.re2c"
-       {*id =  41; continue;}
-#line 9612 "../ada_re2c.c"
-yy345:
-       YYDEBUG(345, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'R':
-       case 'r':       goto yy411;
-       default:        goto yy15;
-       }
-yy346:
-       YYDEBUG(346, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'R':
-       case 'r':       goto yy412;
-       default:        goto yy15;
-       }
-yy347:
-       YYDEBUG(347, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'A':
-       case 'a':       goto yy413;
-       default:        goto yy15;
-       }
-yy348:
-       YYDEBUG(348, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'M':
-       case 'm':       goto yy414;
-       default:        goto yy15;
-       }
-yy349:
-       YYDEBUG(349, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'A':
-       case 'a':       goto yy415;
-       default:        goto yy15;
-       }
-yy350:
-       YYDEBUG(350, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy416;
-       default:        goto yy15;
-       }
-yy351:
-       YYDEBUG(351, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy417;
-       default:        goto yy15;
-       }
-yy352:
-       YYDEBUG(352, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy418;
-       default:        goto yy15;
-       }
-yy353:
-       YYDEBUG(353, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy420;
-       default:        goto yy15;
-       }
-yy354:
-       YYDEBUG(354, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'R':
-       case 'r':       goto yy422;
-       default:        goto yy15;
-       }
-yy355:
-       YYDEBUG(355, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'M':
-       case 'm':       goto yy423;
-       default:        goto yy15;
-       }
-yy356:
-       YYDEBUG(356, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy424;
-       default:        goto yy15;
-       }
-yy357:
-       YYDEBUG(357, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'R':
-       case 'r':       goto yy425;
-       default:        goto yy15;
-       }
-yy358:
-       YYDEBUG(358, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'R':
-       case 'r':       goto yy426;
-       default:        goto yy15;
-       }
-yy359:
-       YYDEBUG(359, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'C':
-       case 'c':       goto yy427;
-       default:        goto yy15;
-       }
-yy360:
-       YYDEBUG(360, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'R':
-       case 'r':       goto yy428;
-       default:        goto yy15;
-       }
-yy361:
-       YYDEBUG(361, YYPEEK ());
-       yyaccept = 34;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy362;
-       }
-yy362:
-       YYDEBUG(362, YYPEEK ());
-#line 332 "../ada.re2c"
-       {*id =  62; continue;}
-#line 9917 "../ada_re2c.c"
-yy363:
-       YYDEBUG(363, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'Y':
-       case 'y':       goto yy429;
-       default:        goto yy15;
-       }
-yy364:
-       YYDEBUG(364, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'H':
-       case 'h':       goto yy430;
-       default:        goto yy15;
-       }
-yy365:
-       YYDEBUG(365, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy431;
-       default:        goto yy15;
-       }
-yy366:
-       YYDEBUG(366, YYPEEK ());
-       yyaccept = 35;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy367;
-       }
-yy367:
-       YYDEBUG(367, YYPEEK ());
-#line 336 "../ada.re2c"
-       {*id =  66; continue;}
-#line 10079 "../ada_re2c.c"
-yy368:
-       YYDEBUG(368, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'I':
-       case 'i':       goto yy432;
-       default:        goto yy15;
-       }
-yy369:
-       YYDEBUG(369, YYPEEK ());
-       yyaccept = 36;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy370;
-       }
-yy370:
-       YYDEBUG(370, YYPEEK ());
-#line 338 "../ada.re2c"
-       {*id =  68; continue;}
-#line 10219 "../ada_re2c.c"
-yy371:
-       YYDEBUG(371, YYPEEK ());
-       yyaccept = 37;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy372;
-       }
-yy372:
-       YYDEBUG(372, YYPEEK ());
-#line 339 "../ada.re2c"
-       {*id =  69; continue;}
-#line 10348 "../ada_re2c.c"
-yy373:
-       YYDEBUG(373, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'L':
-       case 'l':       goto yy433;
-       default:        goto yy15;
-       }
-yy374:
-       YYDEBUG(374, YYPEEK ());
-       yyaccept = 38;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy375;
-       }
-yy375:
-       YYDEBUG(375, YYPEEK ());
-#line 342 "../ada.re2c"
-       {*id =  72; continue;}
-#line 10488 "../ada_re2c.c"
-yy376:
-       YYDEBUG(376, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy435;
-       default:        goto yy15;
-       }
-yy377:
-       YYDEBUG(377, YYPEEK ());
-       yyaccept = 39;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy378;
-       }
-yy378:
-       YYDEBUG(378, YYPEEK ());
-#line 344 "../ada.re2c"
-       {*id =  74; continue;}
-#line 10628 "../ada_re2c.c"
-yy379:
-       YYDEBUG(379, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case ']':       goto yy14;
-       default:        goto yy88;
-       }
-yy380:
-       YYDEBUG(380, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case ']':       goto yy86;
-       default:        goto yy88;
-       }
-yy381:
-       YYDEBUG(381, YYPEEK ());
-       YYSKIP ();
-       YYDEBUG(382, YYPEEK ());
-       YYRESTORECTX ();
-#line 375 "../ada.re2c"
-       {*id =  105; continue;}
-#line 10652 "../ada_re2c.c"
-yy383:
-       YYDEBUG(383, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case '"':       goto yy88;
-       default:        goto yy438;
-       }
-yy384:
-       YYDEBUG(384, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case ']':       goto yy108;
-       default:        goto yy88;
-       }
-yy385:
-       YYDEBUG(385, YYPEEK ());
-       yyaccept = 40;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy386;
-       }
-yy386:
-       YYDEBUG(386, YYPEEK ());
-#line 275 "../ada.re2c"
-       {*id =  5; continue;}
-#line 10797 "../ada_re2c.c"
-yy387:
-       YYDEBUG(387, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'A':
-       case 'a':       goto yy439;
-       default:        goto yy15;
-       }
-yy388:
-       YYDEBUG(388, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'T':
-       case 't':       goto yy440;
-       default:        goto yy15;
-       }
-yy389:
-       YYDEBUG(389, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'S':
-       case 's':       goto yy442;
-       default:        goto yy15;
-       }
-yy390:
-       YYDEBUG(390, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy444;
-       default:        goto yy15;
-       }
-yy391:
-       YYDEBUG(391, YYPEEK ());
-       yyaccept = 41;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy392;
-       }
-yy392:
-       YYDEBUG(392, YYPEEK ());
-#line 281 "../ada.re2c"
-       {*id =  11; continue;}
-#line 10970 "../ada_re2c.c"
-yy393:
-       YYDEBUG(393, YYPEEK ());
-       yyaccept = 42;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy394;
-       }
-yy394:
-       YYDEBUG(394, YYPEEK ());
-#line 283 "../ada.re2c"
-       {*id =  13; continue;}
-#line 11099 "../ada_re2c.c"
-yy395:
-       YYDEBUG(395, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'A':
-       case 'a':       goto yy445;
-       default:        goto yy15;
-       }
-yy396:
-       YYDEBUG(396, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'R':
-       case 'r':       goto yy446;
-       default:        goto yy15;
-       }
-yy397:
-       YYDEBUG(397, YYPEEK ());
-       yyaccept = 43;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy398;
-       }
-yy398:
-       YYDEBUG(398, YYPEEK ());
-#line 288 "../ada.re2c"
-       {*id =  18; continue;}
-#line 11250 "../ada_re2c.c"
-yy399:
-       YYDEBUG(399, YYPEEK ());
-       yyaccept = 44;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy400;
-       }
-yy400:
-       YYDEBUG(400, YYPEEK ());
-#line 289 "../ada.re2c"
-       {*id =  19; continue;}
-#line 11379 "../ada_re2c.c"
-yy401:
-       YYDEBUG(401, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'S':
-       case 's':       goto yy447;
-       default:        goto yy15;
-       }
-yy402:
-       YYDEBUG(402, YYPEEK ());
-       yyaccept = 45;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy403;
-       }
-yy403:
-       YYDEBUG(403, YYPEEK ());
-#line 293 "../ada.re2c"
-       {*id =  23; continue;}
-#line 11519 "../ada_re2c.c"
-yy404:
-       YYDEBUG(404, YYPEEK ());
-       yyaccept = 46;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy405;
-       }
-yy405:
-       YYDEBUG(405, YYPEEK ());
-#line 295 "../ada.re2c"
-       {*id =  25; continue;}
-#line 11648 "../ada_re2c.c"
-yy406:
-       YYDEBUG(406, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'T':
-       case 't':       goto yy449;
-       default:        goto yy15;
-       }
-yy407:
-       YYDEBUG(407, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'I':
-       case 'i':       goto yy450;
-       default:        goto yy15;
-       }
-yy408:
-       YYDEBUG(408, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'I':
-       case 'i':       goto yy451;
-       default:        goto yy15;
-       }
-yy409:
-       YYDEBUG(409, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'F':
-       case 'f':       goto yy452;
-       default:        goto yy15;
-       }
-yy410:
-       YYDEBUG(410, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy453;
-       default:        goto yy15;
-       }
-yy411:
-       YYDEBUG(411, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'S':
-       case 's':       goto yy454;
-       default:        goto yy15;
-       }
-yy412:
-       YYDEBUG(412, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'I':
-       case 'i':       goto yy456;
-       default:        goto yy15;
-       }
-yy413:
-       YYDEBUG(413, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'G':
-       case 'g':       goto yy457;
-       default:        goto yy15;
-       }
-yy414:
-       YYDEBUG(414, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'A':
-       case 'a':       goto yy458;
-       default:        goto yy15;
-       }
-yy415:
-       YYDEBUG(415, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'T':
-       case 't':       goto yy460;
-       default:        goto yy15;
-       }
-yy416:
-       YYDEBUG(416, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'D':
-       case 'd':       goto yy461;
-       default:        goto yy15;
-       }
-yy417:
-       YYDEBUG(417, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'C':
-       case 'c':       goto yy462;
-       default:        goto yy15;
-       }
-yy418:
-       YYDEBUG(418, YYPEEK ());
-       yyaccept = 47;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy419;
-       }
-yy419:
-       YYDEBUG(419, YYPEEK ());
-#line 322 "../ada.re2c"
-       {*id =  52; continue;}
-#line 11909 "../ada_re2c.c"
-yy420:
-       YYDEBUG(420, YYPEEK ());
-       yyaccept = 48;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy421;
-       }
-yy421:
-       YYDEBUG(421, YYPEEK ());
-#line 323 "../ada.re2c"
-       {*id =  53; continue;}
-#line 12038 "../ada_re2c.c"
-yy422:
-       YYDEBUG(422, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'D':
-       case 'd':       goto yy463;
-       default:        goto yy15;
-       }
-yy423:
-       YYDEBUG(423, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy465;
-       default:        goto yy15;
-       }
-yy424:
-       YYDEBUG(424, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'U':
-       case 'u':       goto yy466;
-       default:        goto yy15;
-       }
-yy425:
-       YYDEBUG(425, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'N':
-       case 'n':       goto yy467;
-       default:        goto yy15;
-       }
-yy426:
-       YYDEBUG(426, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'S':
-       case 's':       goto yy469;
-       default:        goto yy15;
-       }
-yy427:
-       YYDEBUG(427, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'T':
-       case 't':       goto yy470;
-       default:        goto yy15;
-       }
-yy428:
-       YYDEBUG(428, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'A':
-       case 'a':       goto yy472;
-       default:        goto yy15;
-       }
-yy429:
-       YYDEBUG(429, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'P':
-       case 'p':       goto yy473;
-       default:        goto yy15;
-       }
-yy430:
-       YYDEBUG(430, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'R':
-       case 'r':       goto yy474;
-       default:        goto yy15;
-       }
-yy431:
-       YYDEBUG(431, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'D':
-       case 'd':       goto yy475;
-       default:        goto yy15;
-       }
-yy432:
-       YYDEBUG(432, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'N':
-       case 'n':       goto yy477;
-       default:        goto yy15;
-       }
-yy433:
-       YYDEBUG(433, YYPEEK ());
-       yyaccept = 49;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy434;
-       }
-yy434:
-       YYDEBUG(434, YYPEEK ());
-#line 340 "../ada.re2c"
-       {*id =  70; continue;}
-#line 12288 "../ada_re2c.c"
-yy435:
-       YYDEBUG(435, YYPEEK ());
-       yyaccept = 50;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy436;
-       }
-yy436:
-       YYDEBUG(436, YYPEEK ());
-#line 343 "../ada.re2c"
-       {*id =  73; continue;}
-#line 12417 "../ada_re2c.c"
-yy437:
-       YYDEBUG(437, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-yy438:
-       YYDEBUG(438, YYPEEK ());
-       switch (yych) {
-       case '"':       goto yy478;
-       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 yy437;
-       default:        goto yy88;
-       }
-yy439:
-       YYDEBUG(439, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'C':
-       case 'c':       goto yy479;
-       default:        goto yy15;
-       }
-yy440:
-       YYDEBUG(440, YYPEEK ());
-       yyaccept = 51;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy441;
-       }
-yy441:
-       YYDEBUG(441, YYPEEK ());
-#line 274 "../ada.re2c"
-       {*id =  4; continue;}
-#line 12589 "../ada_re2c.c"
-yy442:
-       YYDEBUG(442, YYPEEK ());
-       yyaccept = 52;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy443;
-       }
-yy443:
-       YYDEBUG(443, YYPEEK ());
-#line 277 "../ada.re2c"
-       {*id =  7; continue;}
-#line 12718 "../ada_re2c.c"
-yy444:
-       YYDEBUG(444, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'D':
-       case 'd':       goto yy480;
-       default:        goto yy15;
-       }
-yy445:
-       YYDEBUG(445, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'N':
-       case 'n':       goto yy482;
-       default:        goto yy15;
-       }
-yy446:
-       YYDEBUG(446, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy483;
-       default:        goto yy15;
-       }
-yy447:
-       YYDEBUG(447, YYPEEK ());
-       yyaccept = 53;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy448;
-       }
-yy448:
-       YYDEBUG(448, YYPEEK ());
-#line 290 "../ada.re2c"
-       {*id =  20; continue;}
-#line 12880 "../ada_re2c.c"
-yy449:
-       YYDEBUG(449, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'I':
-       case 'i':       goto yy485;
-       default:        goto yy15;
-       }
-yy450:
-       YYDEBUG(450, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'O':
-       case 'o':       goto yy486;
-       default:        goto yy15;
-       }
-yy451:
-       YYDEBUG(451, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'C':
-       case 'c':       goto yy487;
-       default:        goto yy15;
-       }
-yy452:
-       YYDEBUG(452, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'A':
-       case 'a':       goto yy489;
-       default:        goto yy15;
-       }
-yy453:
-       YYDEBUG(453, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'D':
-       case 'd':       goto yy490;
-       default:        goto yy15;
-       }
-yy454:
-       YYDEBUG(454, YYPEEK ());
-       yyaccept = 54;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy455;
-       }
-yy455:
-       YYDEBUG(455, YYPEEK ());
-#line 314 "../ada.re2c"
-       {*id =  44; continue;}
-#line 13064 "../ada_re2c.c"
-yy456:
-       YYDEBUG(456, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'D':
-       case 'd':       goto yy492;
-       default:        goto yy15;
-       }
-yy457:
-       YYDEBUG(457, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy493;
-       default:        goto yy15;
-       }
-yy458:
-       YYDEBUG(458, YYPEEK ());
-       yyaccept = 55;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy459;
-       }
-yy459:
-       YYDEBUG(459, YYPEEK ());
-#line 318 "../ada.re2c"
-       {*id =  48; continue;}
-#line 13215 "../ada_re2c.c"
-yy460:
-       YYDEBUG(460, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy495;
-       default:        goto yy15;
-       }
-yy461:
-       YYDEBUG(461, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'U':
-       case 'u':       goto yy497;
-       default:        goto yy15;
-       }
-yy462:
-       YYDEBUG(462, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'T':
-       case 't':       goto yy498;
-       default:        goto yy15;
-       }
-yy463:
-       YYDEBUG(463, YYPEEK ());
-       yyaccept = 56;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy464;
-       }
-yy464:
-       YYDEBUG(464, YYPEEK ());
-#line 324 "../ada.re2c"
-       {*id =  54; continue;}
-#line 13377 "../ada_re2c.c"
-yy465:
-       YYDEBUG(465, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'S':
-       case 's':       goto yy499;
-       default:        goto yy15;
-       }
-yy466:
-       YYDEBUG(466, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy501;
-       default:        goto yy15;
-       }
-yy467:
-       YYDEBUG(467, YYPEEK ());
-       yyaccept = 57;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy468;
-       }
-yy468:
-       YYDEBUG(468, YYPEEK ());
-#line 328 "../ada.re2c"
-       {*id =  58; continue;}
-#line 13528 "../ada_re2c.c"
-yy469:
-       YYDEBUG(469, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy503;
-       default:        goto yy15;
-       }
-yy470:
-       YYDEBUG(470, YYPEEK ());
-       yyaccept = 58;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy471;
-       }
-yy471:
-       YYDEBUG(471, YYPEEK ());
-#line 331 "../ada.re2c"
-       {*id =  61; continue;}
-#line 13668 "../ada_re2c.c"
-yy472:
-       YYDEBUG(472, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'T':
-       case 't':       goto yy505;
-       default:        goto yy15;
-       }
-yy473:
-       YYDEBUG(473, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy506;
-       default:        goto yy15;
-       }
-yy474:
-       YYDEBUG(474, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'O':
-       case 'o':       goto yy508;
-       default:        goto yy15;
-       }
-yy475:
-       YYDEBUG(475, YYPEEK ());
-       yyaccept = 59;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy476;
-       }
-yy476:
-       YYDEBUG(476, YYPEEK ());
-#line 335 "../ada.re2c"
-       {*id =  65; continue;}
-#line 13830 "../ada_re2c.c"
-yy477:
-       YYDEBUG(477, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'A':
-       case 'a':       goto yy509;
-       default:        goto yy15;
-       }
-yy478:
-       YYDEBUG(478, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case ']':       goto yy302;
-       default:        goto yy88;
-       }
-yy479:
-       YYDEBUG(479, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'T':
-       case 't':       goto yy510;
-       default:        goto yy15;
-       }
-yy480:
-       YYDEBUG(480, YYPEEK ());
-       yyaccept = 60;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy481;
-       }
-yy481:
-       YYDEBUG(481, YYPEEK ());
-#line 278 "../ada.re2c"
-       {*id =  8; continue;}
-#line 13989 "../ada_re2c.c"
-yy482:
-       YYDEBUG(482, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'T':
-       case 't':       goto yy512;
-       default:        goto yy15;
-       }
-yy483:
-       YYDEBUG(483, YYPEEK ());
-       yyaccept = 61;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy484;
-       }
-yy484:
-       YYDEBUG(484, YYPEEK ());
-#line 287 "../ada.re2c"
-       {*id =  17; continue;}
-#line 14129 "../ada_re2c.c"
-yy485:
-       YYDEBUG(485, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'O':
-       case 'o':       goto yy514;
-       default:        goto yy15;
-       }
-yy486:
-       YYDEBUG(486, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'N':
-       case 'n':       goto yy515;
-       default:        goto yy15;
-       }
-yy487:
-       YYDEBUG(487, YYPEEK ());
-       yyaccept = 62;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy488;
-       }
-yy488:
-       YYDEBUG(488, YYPEEK ());
-#line 300 "../ada.re2c"
-       {*id =  30; continue;}
-#line 14280 "../ada_re2c.c"
-yy489:
-       YYDEBUG(489, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'C':
-       case 'c':       goto yy517;
-       default:        goto yy15;
-       }
-yy490:
-       YYDEBUG(490, YYPEEK ());
-       yyaccept = 63;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy491;
-       }
-yy491:
-       YYDEBUG(491, YYPEEK ());
-#line 306 "../ada.re2c"
-       {*id =  36; continue;}
-#line 14420 "../ada_re2c.c"
-yy492:
-       YYDEBUG(492, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'I':
-       case 'i':       goto yy518;
-       default:        goto yy15;
-       }
-yy493:
-       YYDEBUG(493, YYPEEK ());
-       yyaccept = 64;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy494;
-       }
-yy494:
-       YYDEBUG(494, YYPEEK ());
-#line 317 "../ada.re2c"
-       {*id =  47; continue;}
-#line 14560 "../ada_re2c.c"
-yy495:
-       YYDEBUG(495, YYPEEK ());
-       yyaccept = 65;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy496;
-       }
-yy496:
-       YYDEBUG(496, YYPEEK ());
-#line 319 "../ada.re2c"
-       {*id =  49; continue;}
-#line 14689 "../ada_re2c.c"
-yy497:
-       YYDEBUG(497, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'R':
-       case 'r':       goto yy519;
-       default:        goto yy15;
-       }
-yy498:
-       YYDEBUG(498, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy520;
-       default:        goto yy15;
-       }
-yy499:
-       YYDEBUG(499, YYPEEK ());
-       yyaccept = 66;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy500;
-       }
-yy500:
-       YYDEBUG(500, YYPEEK ());
-#line 326 "../ada.re2c"
-       {*id =  56; continue;}
-#line 14840 "../ada_re2c.c"
-yy501:
-       YYDEBUG(501, YYPEEK ());
-       yyaccept = 67;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy502;
-       }
-yy502:
-       YYDEBUG(502, YYPEEK ());
-#line 327 "../ada.re2c"
-       {*id =  57; continue;}
-#line 14969 "../ada_re2c.c"
-yy503:
-       YYDEBUG(503, YYPEEK ());
-       yyaccept = 68;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy504;
-       }
-yy504:
-       YYDEBUG(504, YYPEEK ());
-#line 329 "../ada.re2c"
-       {*id =  59; continue;}
-#line 15098 "../ada_re2c.c"
-yy505:
-       YYDEBUG(505, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy521;
-       default:        goto yy15;
-       }
-yy506:
-       YYDEBUG(506, YYPEEK ());
-       yyaccept = 69;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy507;
-       }
-yy507:
-       YYDEBUG(507, YYPEEK ());
-#line 333 "../ada.re2c"
-       {*id =  63; continue;}
-#line 15238 "../ada_re2c.c"
-yy508:
-       YYDEBUG(508, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'N':
-       case 'n':       goto yy523;
-       default:        goto yy15;
-       }
-yy509:
-       YYDEBUG(509, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'T':
-       case 't':       goto yy524;
-       default:        goto yy15;
-       }
-yy510:
-       YYDEBUG(510, YYPEEK ());
-       yyaccept = 70;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy511;
-       }
-yy511:
-       YYDEBUG(511, YYPEEK ());
-#line 276 "../ada.re2c"
-       {*id =  6; continue;}
-#line 15389 "../ada_re2c.c"
-yy512:
-       YYDEBUG(512, YYPEEK ());
-       yyaccept = 71;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy513;
-       }
-yy513:
-       YYDEBUG(513, YYPEEK ());
-#line 286 "../ada.re2c"
-       {*id =  16; continue;}
-#line 15518 "../ada_re2c.c"
-yy514:
-       YYDEBUG(514, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'N':
-       case 'n':       goto yy525;
-       default:        goto yy15;
-       }
-yy515:
-       YYDEBUG(515, YYPEEK ());
-       yyaccept = 72;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy516;
-       }
-yy516:
-       YYDEBUG(516, YYPEEK ());
-#line 299 "../ada.re2c"
-       {*id =  29; continue;}
-#line 15658 "../ada_re2c.c"
-yy517:
-       YYDEBUG(517, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy527;
-       default:        goto yy15;
-       }
-yy518:
-       YYDEBUG(518, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'N':
-       case 'n':       goto yy529;
-       default:        goto yy15;
-       }
-yy519:
-       YYDEBUG(519, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy530;
-       default:        goto yy15;
-       }
-yy520:
-       YYDEBUG(520, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'D':
-       case 'd':       goto yy532;
-       default:        goto yy15;
-       }
-yy521:
-       YYDEBUG(521, YYPEEK ());
-       yyaccept = 73;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy522;
-       }
-yy522:
-       YYDEBUG(522, YYPEEK ());
-#line 330 "../ada.re2c"
-       {*id =  60; continue;}
-#line 15831 "../ada_re2c.c"
-yy523:
-       YYDEBUG(523, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'I':
-       case 'i':       goto yy534;
-       default:        goto yy15;
-       }
-yy524:
-       YYDEBUG(524, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy535;
-       default:        goto yy15;
-       }
-yy525:
-       YYDEBUG(525, YYPEEK ());
-       yyaccept = 74;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy526;
-       }
-yy526:
-       YYDEBUG(526, YYPEEK ());
-#line 296 "../ada.re2c"
-       {*id =  26; continue;}
-#line 15982 "../ada_re2c.c"
-yy527:
-       YYDEBUG(527, YYPEEK ());
-       yyaccept = 75;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy528;
-       }
-yy528:
-       YYDEBUG(528, YYPEEK ());
-#line 304 "../ada.re2c"
-       {*id =  34; continue;}
-#line 16111 "../ada_re2c.c"
-yy529:
-       YYDEBUG(529, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'G':
-       case 'g':       goto yy537;
-       default:        goto yy15;
-       }
-yy530:
-       YYDEBUG(530, YYPEEK ());
-       yyaccept = 76;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy531;
-       }
-yy531:
-       YYDEBUG(531, YYPEEK ());
-#line 320 "../ada.re2c"
-       {*id =  50; continue;}
-#line 16251 "../ada_re2c.c"
-yy532:
-       YYDEBUG(532, YYPEEK ());
-       yyaccept = 77;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy533;
-       }
-yy533:
-       YYDEBUG(533, YYPEEK ());
-#line 321 "../ada.re2c"
-       {*id =  51; continue;}
-#line 16380 "../ada_re2c.c"
-yy534:
-       YYDEBUG(534, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'Z':
-       case 'z':       goto yy539;
-       default:        goto yy15;
-       }
-yy535:
-       YYDEBUG(535, YYPEEK ());
-       yyaccept = 78;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy536;
-       }
-yy536:
-       YYDEBUG(536, YYPEEK ());
-#line 337 "../ada.re2c"
-       {*id =  67; continue;}
-#line 16520 "../ada_re2c.c"
-yy537:
-       YYDEBUG(537, YYPEEK ());
-       yyaccept = 79;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy538;
-       }
-yy538:
-       YYDEBUG(538, YYPEEK ());
-#line 316 "../ada.re2c"
-       {*id =  46; continue;}
-#line 16649 "../ada_re2c.c"
-yy539:
-       YYDEBUG(539, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy540;
-       default:        goto yy15;
-       }
-yy540:
-       YYDEBUG(540, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'D':
-       case 'd':       goto yy541;
-       default:        goto yy15;
-       }
-yy541:
-       YYDEBUG(541, YYPEEK ());
-       yyaccept = 80;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy15;
-       default:        goto yy542;
-       }
-yy542:
-       YYDEBUG(542, YYPEEK ());
-#line 334 "../ada.re2c"
-       {*id =  64; continue;}
-#line 16800 "../ada_re2c.c"
-}
-#line 383 "../ada.re2c"
-
-   }
-   /* lexer->cursor and lexer ->char_pos are one char past end of token */
-   *byte_position = lexer->byte_token_start - lexer->buffer + 1;
-   *byte_length   = lexer->cursor - lexer->byte_token_start;
-   *char_position = lexer->char_token_start;
-   *char_length   = lexer->char_pos - lexer->char_token_start;
-   *line_start    = lexer->line_token_start;
-   return status;
-   }
diff --git a/packages/ada-mode/ada_re2c_c.ads b/packages/ada-mode/ada_re2c_c.ads
deleted file mode 100644
index 4a24ed2..0000000
--- a/packages/ada-mode/ada_re2c_c.ads
+++ /dev/null
@@ -1,59 +0,0 @@
---  generated parser support file.
---  command line: wisitoken-bnf-generate.exe  --generate LALR Ada_Emacs re2c 
PROCESS ada.wy
---
-
---  Copyright (C) 2013 - 2020 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
---  published by the Free Software Foundation; either version 3, or (at
---  your option) any later version.
---
---  This software 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/>.
-
-with Interfaces.C;
-with WisiToken;
-with System;
-package ada_re2c_c is
-
-   function New_Lexer
-     (Buffer    : in System.Address;
-      Length    : in Interfaces.C.size_t;
-      Verbosity : in Interfaces.C.int)
-     return System.Address
-   with Import        => True,
-        Convention    => C,
-        External_Name => "ada_new_lexer";
-   --  Create the lexer object, passing it the full text to process.
-
-   procedure Free_Lexer (Lexer : in out System.Address)
-   with Import        => True,
-        Convention    => C,
-        External_Name => "ada_free_lexer";
-   --  Free the lexer object
-
-   procedure Reset_Lexer (Lexer : in System.Address)
-   with Import        => True,
-        Convention    => C,
-        External_Name => "ada_reset_lexer";
-
-   function Next_Token
-     (Lexer         : in     System.Address;
-      ID            :    out WisiToken.Token_ID;
-      Byte_Position :    out Interfaces.C.size_t;
-      Byte_Length   :    out Interfaces.C.size_t;
-      Char_Position :    out Interfaces.C.size_t;
-      Char_Length   :    out Interfaces.C.size_t;
-      Line_Start    :    out Interfaces.C.int)
-     return Interfaces.C.int
-   with Import        => True,
-        Convention    => C,
-        External_Name => "ada_next_token";
-
-end ada_re2c_c;
diff --git a/packages/ada-mode/build.sh b/packages/ada-mode/build.sh
deleted file mode 100755
index 2826d90..0000000
--- a/packages/ada-mode/build.sh
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/bin/sh
-# Build executables for Ada mode.
-#    build.sh <other gprbuild options>
-#    e.g. 'build.sh -j0' : use all available processors to compile
-#         'build.sh -wn' : treat warnings as warnings.
-#         'build.sh -vh' : Verbose output (high verbosity)
-#
-# See install.sh for install
-
-# As of gnat pro 21, gnat_util is no longer provided or required
-echo 'with "gnat_util"; abstract project check is end check;' > check.gpr
-gprbuild -P check.gpr > /dev/null 2>&1
-if test $? -eq 0 ; then
-    HAVE_GNAT_UTIL=yes
-else
-    HAVE_GNAT_UTIL=no
-fi
-
-# support for libadalang is still experimental
-gnatprep  -DHAVE_LIBADALANG="no" -DELPA="yes" -DHAVE_GNAT_UTIL=$HAVE_GNAT_UTIL 
ada_mode_wisi_parse.gpr.gp ada_mode_wisi_parse.gpr
-
-WISI_DIR=`ls -d ../wisi-3.1.?`
-
-gnatprep -DELPA="yes" $WISI_DIR/wisi.gpr.gp $WISI_DIR/wisi.gpr
-
-# We don't add WISI_DIR to GPR_PROJECT_PATH because the user may have
-# already set GPR_PROJECT_PATH.
-
-# Allow running build.sh again, since it often fails the first time.
-#  - Run gprclean, to allow changing compilers and other drastic things
-#  - Don't delete ada_lr1_parse_table.txt
-
-gprclean -r -P ada_mode_wisi_parse.gpr -aP$WISI_DIR
-
-gprbuild -p -j8 -P ada_mode_wisi_parse.gpr -aP $WISI_DIR "$@"
-
-gzip -c -d -q ada_lr1_parse_table.txt.gz > ada_lr1_parse_table.txt
-
-# end of file
diff --git a/packages/ada-mode/config.pragmas b/packages/ada-mode/config.pragmas
deleted file mode 100644
index 3d0b1a8..0000000
--- a/packages/ada-mode/config.pragmas
+++ /dev/null
@@ -1,6 +0,0 @@
-pragma No_Heap_Finalization;
-pragma Restrictions (No_Initialize_Scalars);
-pragma Restrictions (No_Abort_Statements);
-pragma Restrictions (Max_Asynchronous_Select_Nesting => 0);
-pragma Restrictions (No_Asynchronous_Control);
-pragma Restrictions (No_Dynamic_Priorities);
diff --git a/packages/ada-mode/dir b/packages/ada-mode/dir
deleted file mode 100644
index 4c07b01..0000000
--- a/packages/ada-mode/dir
+++ /dev/null
@@ -1,22 +0,0 @@
-This is the file .../info/dir, which contains the
-topmost node of the Info hierarchy, called (dir)Top.
-The first time you invoke Info you start off looking at this node.
-
-File: dir,     Node: Top       This is the top of the INFO tree
-
-  This (the Directory node) gives a menu of major topics.
-  Typing "q" exits, "H" lists all Info commands, "d" returns here,
-  "h" gives a primer for first-timers,
-  "mEmacs<Return>" visits the Emacs manual, etc.
-
-  In Emacs, you can click mouse button 2 on a menu item or cross reference
-  to select it.
-
-* Menu:
-
-Emacs
-* Ada mode: (ada-mode).         Emacs mode for editing and navigating Ada code.
-* Wisi: (wisi).                 Error-correcting LR parsers and project 
-                                  integration.
-* gpr mode: (gpr-mode).         Emacs mode for editing and navigating gpr 
-                                  files (gnat project files).
diff --git a/packages/ada-mode/gnat-core.el b/packages/ada-mode/gnat-core.el
deleted file mode 100644
index 5901b22..0000000
--- a/packages/ada-mode/gnat-core.el
+++ /dev/null
@@ -1,449 +0,0 @@
-;; gnat-core.el --- Support for running GNAT tools, which support multiple 
programming  -*- lexical-binding:t -*-
-;; languages.
-;;
-;; GNAT is provided by AdaCore; see http://libre.adacore.com/
-;;
-;;; Copyright (C) 2012 - 2020  Free Software Foundation, Inc.
-;;
-;; Author: Stephen Leake <stephen_leake@member.fsf.org>
-;; Maintainer: Stephen Leake <stephen_leake@member.fsf.org>
-;;
-;; 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 'cl-lib)
-(require 'wisi-prj)
-
-;;;;; code
-
-(defcustom ada-gnat-debug-run nil
-  ;; Name implies Ada, which is wrong. Kept for backward compatibility.
-  "If t, compilation buffers containing a GNAT command will show
-the command.  Otherwise, they will show only the output of the
-command.  This applies e.g. to *gnatfind* buffers."
-  :type 'boolean
-  :safe  #'booleanp
-  :group 'ada)
-
-;;;; project file handling
-
-(cl-defstruct gnat-compiler
-  "Used with wisi-compiler-* generic functions."
-
-  gpr-file       ;; absolute file name of GNAT project file.
-  run-buffer-name ;; string; some compiler objects have no gpr file
-  project-path    ;; list of directories from GPR_PROJECT_PATH
-  target         ;; gnat --target argument.
-  runtime        ;; gnat --RTS argument.
-  gnat-stub-opts  ;; options for gnat stub
-  gnat-stub-cargs ;; cargs options for gnat stub
-  )
-
-;;;###autoload
-(cl-defun create-gnat-compiler
-    (&key
-     gpr-file
-     run-buffer-name
-     project-path
-     target
-     runtime
-     gnat-stub-opts
-     gnat-stub-cargs)
-  ;; See note on `create-ada-prj' for why this is not a defalias.
-  (make-gnat-compiler
-   :gpr-file gpr-file
-   :run-buffer-name run-buffer-name
-   :project-path project-path
-   :target target
-   :runtime runtime
-   :gnat-stub-opts gnat-stub-opts
-   :gnat-stub-cargs gnat-stub-cargs
-   ))
-
-(defun gnat-compiler-require-prj ()
-  "Return current `gnat-compiler' object from current project compiler.
-Throw an error if current project does not have a gnat-compiler."
-  (let* ((wisi-prj (wisi-prj-require-prj))
-        (compiler (wisi-prj-compiler wisi-prj)))
-    (if (gnat-compiler-p compiler)
-       compiler
-      (error "no gnat-compiler in current project"))))
-
-(defun gnat-prj-add-prj-dir (project compiler dir)
-  "Add DIR to COMPILER.project_path, and to GPR_PROJECT_PATH in 
PROJECT.file-env"
-  ;; We maintain two project values for this;
-  ;; project-path - a list of directories, for elisp find file
-  ;; GPR_PROJECT_PATH in environment, for gnat-run
-  (let ((process-environment (copy-sequence (wisi-prj-file-env project))))
-    (cl-pushnew dir (gnat-compiler-project-path compiler) :test #'string-equal)
-
-    (setenv "GPR_PROJECT_PATH"
-           (mapconcat 'identity
-                      (gnat-compiler-project-path compiler) path-separator))
-    (setf (wisi-prj-file-env project) (copy-sequence process-environment))
-    ))
-
-(defun gnat-get-paths (project compiler)
-  "Add project and/or compiler source, project paths to PROJECT source-path"
-  (let* ((src-dirs (wisi-prj-source-path project))
-        (prj-dirs (cl-copy-list (gnat-compiler-project-path compiler))))
-
-    ;; Don't need project plist obj_dirs if using a project file, so
-    ;; not setting obj-dirs.
-    ;;
-    ;; We only need to update prj-dirs if the gpr-file is an aggregate
-    ;; project that sets the project path.
-
-    (condition-case-unless-debug nil
-       (with-current-buffer (gnat-run-buffer project 
(gnat-compiler-run-buffer-name (wisi-prj-compiler project)))
-         ;; gnat list -v -P can return status 0 or 4; always lists compiler 
dirs
-         (gnat-run-gnat project "list" (list "-v") '(0 4))
-
-         (goto-char (point-min))
-
-         ;; Source path
-         (search-forward "Source Search Path:")
-         (forward-line 1)
-         (while (not (looking-at "^$")) ; terminate on blank line
-           (back-to-indentation) ; skip whitespace forward
-            (cl-pushnew
-            (if (looking-at "<Current_Directory>")
-                (directory-file-name default-directory)
-              (expand-file-name ; Canonicalize path part.
-               (directory-file-name
-                (buffer-substring-no-properties (point) (point-at-eol)))))
-            src-dirs
-            :test #'string-equal)
-           (forward-line 1))
-
-          ;; Project path
-         ;;
-         ;; These are also added to src_dir, so compilation errors
-         ;; reported in project files are found.
-         (search-forward "Project Search Path:")
-         (forward-line 1)
-         (while (not (looking-at "^$"))
-           (back-to-indentation)
-           (if (looking-at "<Current_Directory>")
-                (cl-pushnew (directory-file-name default-directory) prj-dirs 
:test #'string-equal)
-             (let ((f (expand-file-name
-                        (buffer-substring-no-properties (point) 
(point-at-eol)))))
-                (cl-pushnew f prj-dirs :test #'string-equal)
-                (cl-pushnew f src-dirs :test #'string-equal)))
-           (forward-line 1))
-
-         )
-      (error
-       ;; search-forward failed. Possible causes:
-       ;;
-       ;; missing dirs in GPR_PROJECT_PATH => user error
-       ;; missing Object_Dir => gprbuild not run yet; it will be run soon
-       ;; some files are missing string quotes => user error
-       ;;
-       ;; We used to call gpr_query to get src-dirs, prj-dirs here; it
-       ;; is tolerant of the above errors. But ignoring the errors, to
-       ;; let gprbuild run with GPR_PROJECT_PATH set, is simpler.
-       (pop-to-buffer (gnat-run-buffer project (gnat-compiler-run-buffer-name 
(wisi-prj-compiler project))))
-       (message "project search path: %s" prj-dirs)
-       (message "parse gpr failed")
-       ))
-
-    ;; reverse prj-dirs so project file dirs precede gnat library dirs
-    (setf (wisi-prj-source-path project) (nreverse (delete-dups src-dirs)))
-    (setf (gnat-compiler-project-path compiler) nil)
-    (mapc (lambda (dir) (gnat-prj-add-prj-dir project compiler dir))
-         prj-dirs)
-    ))
-
-(defun gnat-parse-gpr (gpr-file project compiler)
-  "Append to source-path and project-path in PROJECT (a `wisi-prj' object) by 
parsing GPR-FILE.
-GPR-FILE must be absolute file name.
-source-path will include compiler runtime."
-  ;; this can take a long time; let the user know what's up
-  (if (gnat-compiler-gpr-file compiler)
-      ;; gpr-file previously set; new one must match
-      (when (not (string-equal gpr-file (gnat-compiler-gpr-file compiler)))
-       (error "project file %s defines a different GNAT project file than %s"
-              (gnat-compiler-gpr-file compiler)
-              gpr-file))
-
-    (setf (gnat-compiler-gpr-file compiler) gpr-file))
-
-  (gnat-get-paths project compiler))
-
-(defun gnat-parse-gpr-1 (gpr-file project)
-  "For `wisi-prj-parser-alist'."
-  (let ((compiler (wisi-prj-compiler project)))
-    ;; FIXME: need to pass in compiler for gpr-query?
-    (setf (gnat-compiler-run-buffer-name compiler) gpr-file)
-    (gnat-parse-gpr gpr-file project compiler)))
-
-;;;; command line tool interface
-
-(defun gnat-run-buffer-name (prj-file-name &optional prefix)
-  ;; We don't use (gnat-compiler-gpr-file compiler), because multiple
-  ;; wisi-prj files can use one gpr-file.
-  (concat (or prefix " *gnat-run-")
-         prj-file-name
-         "*"))
-
-(defun gnat-run-buffer (project name)
-  "Return a buffer suitable for running gnat command line tools for PROJECT"
-  (let* ((buffer (get-buffer name)))
-
-    (unless (buffer-live-p buffer)
-      (setq buffer (get-buffer-create name))
-      (when (gnat-compiler-gpr-file (wisi-prj-compiler project))
-       ;; Otherwise assume `default-directory' is already correct (or
-       ;; doesn't matter).
-       (with-current-buffer buffer
-         (setq default-directory
-               (file-name-directory
-                (gnat-compiler-gpr-file (wisi-prj-compiler project)))))
-       ))
-    buffer))
-
-(defun gnat-run (project exec command &optional err-msg expected-status)
-  "Run a gnat command line tool, as \"EXEC COMMAND\".
-PROJECT  is a `wisi-prj' object.
-EXEC must be an executable found on `exec-path'.
-COMMAND must be a list of strings.
-ERR-MSG must be nil or a string.
-EXPECTED-STATUS must be nil or a list of integers; throws an error if
-process status is not a member.
-
-Return process status.
-Assumes current buffer is (gnat-run-buffer)"
-  (set 'buffer-read-only nil)
-  (erase-buffer)
-
-  (setq command (cl-delete-if 'null command))
-
-  (let ((process-environment
-        (append
-          (wisi-prj-compile-env project)
-          (wisi-prj-file-env project)
-          (copy-sequence process-environment)))
-       status)
-
-    (when ada-gnat-debug-run
-      (insert (format "GPR_PROJECT_PATH=%s\n%s " (getenv "GPR_PROJECT_PATH") 
exec))
-      (mapc (lambda (str) (insert (concat str " "))) command)
-      (newline))
-
-    (setq status (apply 'call-process exec nil t nil command))
-    (cond
-     ((memq status (or expected-status '(0))); success
-      nil)
-
-     (t ; failure
-      (pop-to-buffer (current-buffer))
-      (if err-msg
-         (error "%s %s failed; %s" exec (car command) err-msg)
-       (error "%s %s failed" exec (car command))
-       ))
-     )))
-
-(defun gnat-run-gnat (project command &optional switches-args expected-status)
-  "Run the \"gnat\" command line tool, as \"gnat COMMAND -P<prj> 
SWITCHES-ARGS\".
-COMMAND must be a string, SWITCHES-ARGS a list of strings.
-EXPECTED-STATUS must be nil or a list of integers.
-Return process status.
-Assumes current buffer is (gnat-run-buffer)"
-  (let* ((compiler (wisi-prj-compiler project))
-        (gpr-file (gnat-compiler-gpr-file compiler))
-        (project-file-switch
-         (when gpr-file
-           (concat "-P" (file-name-nondirectory gpr-file))))
-         (target-gnat (concat (gnat-compiler-target compiler) "gnat"))
-         ;; gnat list understands --RTS without a fully qualified
-         ;; path, gnat find (in particular) doesn't (but it doesn't
-         ;; need to, it uses the ALI files found via the GPR)
-         (runtime
-          (when (and (gnat-compiler-runtime compiler) (string= command "list"))
-            (list (concat "--RTS=" (gnat-compiler-runtime compiler)))))
-        (cmd (append (list command) (list project-file-switch) runtime 
switches-args)))
-
-    (gnat-run project target-gnat cmd nil expected-status)
-    ))
-
-(defun gnat-run-no-prj (command &optional dir)
-  "Run the gnat command line tool, as \"gnat COMMAND\", with DIR as current 
directory.
-Return process status.  Process output goes to current buffer,
-which is displayed on error."
-  (set 'buffer-read-only nil)
-  (erase-buffer)
-
-  (when ada-gnat-debug-run
-    (setq command (cl-delete-if 'null command))
-    (mapc (lambda (str) (insert (concat str " "))) command)
-    (newline))
-
-  (let ((default-directory (or dir default-directory))
-       status)
-
-    (setq status (apply 'call-process "gnat" nil t nil command))
-    (cond
-     ((= status 0); success
-      nil)
-
-     (t ; failure
-      (pop-to-buffer (current-buffer))
-      (error "gnat %s failed" (car command)))
-     )))
-
-(cl-defmethod wisi-compiler-parse-one ((compiler gnat-compiler) project name 
value)
-  (cond
-   ((or
-     (string= name "ada_project_path") ;; backward compatibility
-     (string= name "gpr_project_path"))
-    (let ((process-environment
-          (append
-           (wisi-prj-compile-env project)
-           (wisi-prj-file-env project))));; reference, for 
substitute-in-file-name
-      (gnat-prj-add-prj-dir project compiler (expand-file-name 
(substitute-in-file-name value)))))
-
-   ((string= name "gnat-stub-cargs")
-    (setf (gnat-compiler-gnat-stub-cargs compiler) value))
-
-   ((string= name "gnat-stub-opts")
-    (setf (gnat-compiler-gnat-stub-opts compiler) value))
-
-   ((string= name "gpr_file")
-    ;; The gpr file is parsed in `wisi-compiler-parse-final', so it
-    ;; sees all file environment vars. We store the absolute gpr
-    ;; file name, so we can get the correct default-directory from
-    ;; it. Note that gprbuild requires the base name be found on
-    ;; GPR_PROJECT_PATH.
-    (let ((process-environment
-          (append
-           (wisi-prj-compile-env project)
-           (wisi-prj-file-env project))));; reference, for 
substitute-in-file-name
-      (setf (gnat-compiler-gpr-file compiler)
-           (or
-            (locate-file (substitute-in-file-name value)
-                         (gnat-compiler-project-path compiler))
-            (expand-file-name (substitute-in-file-name value)))))
-    t)
-
-   ((string= name "runtime")
-    (setf (gnat-compiler-runtime compiler) value))
-
-   ((string= name "target")
-    (setf (gnat-compiler-target compiler) value))
-
-   ))
-
-(cl-defmethod wisi-compiler-parse-final ((compiler gnat-compiler) project 
prj-file-name)
-  (setf (gnat-compiler-run-buffer-name compiler) (gnat-run-buffer-name 
prj-file-name))
-
-  (if (gnat-compiler-gpr-file compiler)
-      (gnat-parse-gpr (gnat-compiler-gpr-file compiler) project compiler)
-
-    ;; add the compiler libraries to project.source-path
-    (gnat-get-paths project compiler)
-    ))
-
-(cl-defmethod wisi-compiler-select-prj ((_compiler gnat-compiler) _project)
-  (add-to-list 'completion-ignored-extensions ".ali") ;; gnat library files
-  (setq compilation-error-regexp-alist '(gnat))
-  )
-
-(cl-defmethod wisi-compiler-deselect-prj ((_compiler gnat-compiler) _project)
-  (setq completion-ignored-extensions (delete ".ali" 
completion-ignored-extensions))
-  (setq compilation-error-regexp-alist (mapcar #'car 
compilation-error-regexp-alist-alist))
-  )
-
-(cl-defmethod wisi-compiler-show-prj-path ((compiler gnat-compiler))
-    (if (gnat-compiler-project-path compiler)
-      (progn
-       (pop-to-buffer (get-buffer-create "*project file search path*"))
-       (erase-buffer)
-       (dolist (file (gnat-compiler-project-path compiler))
-         (insert (format "%s\n" file))))
-    (message "no project file search path set")
-    ))
-
-;;;; gnatprep utils
-
-(defun gnatprep-indent ()
-  "If point is on a gnatprep keyword, return indentation column
-for it. Otherwise return nil.  Intended to be added to
-`wisi-indent-calculate-functions' or other indentation function
-list."
-  ;; gnatprep keywords are:
-  ;;
-  ;; #if identifier [then]
-  ;; #elsif identifier [then]
-  ;; #else
-  ;; #end if;
-  ;;
-  ;; they are all indented at column 0.
-  (when (equal (char-after) ?\#) 0))
-
-(defun gnatprep-syntax-propertize (start end)
-  (goto-char start)
-  (save-match-data
-    (while (re-search-forward
-           "^[ \t]*\\(#\\(?:if\\|else\\|elsif\\|end\\)\\)"; gnatprep keywords.
-           end t)
-      (cond
-       ((match-beginning 1)
-       (put-text-property
-        (match-beginning 1) (match-end 1) 'syntax-table '(11 . ?\n)))
-       )
-      )))
-
-(defconst gnatprep-preprocessor-keywords
-   (list (list "^[ \t]*\\(#.*\n\\)"  '(1 font-lock-preprocessor-face t))))
-
-;; We assume that if this file is loaded, any ada-mode buffer may have
-;; gnatprep syntax; even with different host/target compilers, both
-;; must run gnatprep first. If support for another preprocessor is
-;; added, we'll need wisi-prj-preprocessor, along with -compiler and
-;; -xref.
-(defun gnatprep-setup ()
-  (add-to-list 'wisi-indent-calculate-functions 'gnatprep-indent)
-  (add-hook 'ada-syntax-propertize-hook #'gnatprep-syntax-propertize)
-  (font-lock-add-keywords 'ada-mode gnatprep-preprocessor-keywords)
-  ;; ada-mode calls font-lock-refresh-defaults after ada-mode-hook
-  )
-
-(add-hook 'ada-mode-hook #'gnatprep-setup)
-
-;;;; Initialization
-
-;; These are shared between ada-compiler-gnat and gpr-query.
-(add-to-list 'wisi-prj-file-extensions  "gpr")
-(add-to-list 'wisi-prj-parser-alist  '("gpr" . gnat-parse-gpr-1))
-
-(add-to-list
- 'compilation-error-regexp-alist-alist
- '(gnat
-   ;; typical:
-   ;;   cards_package.adb:45:32: expected private type "System.Address"
-   ;;
-   ;; with full path Source_Reference pragma :
-   ;;   d:/maphds/version_x/1773/sbs-abi-dll_lib.ads.gp:39:06: file 
"interfaces_c.ads" not found
-   ;;
-   ;; gnu cc1: (gnatmake can invoke the C compiler)
-   ;;   foo.c:2: `TRUE' undeclared here (not in a function)
-   ;;   foo.c:2 : `TRUE' undeclared here (not in a function)
-   ;;
-   ;; we can't handle secondary errors here, because a regexp can't 
distinquish "message" from "filename"
-   "^\\(\\(.:\\)?[^ :\n]+\\):\\([0-9]+\\)\\s-?:?\\([0-9]+\\)?" 1 3 4))
-
-(provide 'gnat-core)
-;; end of file
diff --git a/packages/ada-mode/gpr-indent-user-options.el 
b/packages/ada-mode/gpr-indent-user-options.el
deleted file mode 100644
index 174a5eb..0000000
--- a/packages/ada-mode/gpr-indent-user-options.el
+++ /dev/null
@@ -1,48 +0,0 @@
-;; user options shared by gpr mode indentation engines  -*- lexical-binding:t 
-*-
-;;
-;; Copyright (C) 2017, 2019  Free Software Foundation, Inc.
-;;
-;; Author: Stephen Leake <stephen_leake@member.fsf.org>
-;;
-;; 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/>.
-
-;;;; code
-
-(defgroup gpr-indentation nil
-  "Indentation options for gpr source."
-  :group 'gpr)
-
-(defcustom gpr-indent 3
-  "Size of default indentation, when no other indentation is used."
-  :type 'integer
-  :safe #'integerp)
-(make-variable-buffer-local 'gpr-indent)
-
-(defcustom gpr-indent-broken 2
-  "Indentation for the continuation of a broken line."
-  :type 'integer
-  :safe #'integerp)
-(make-variable-buffer-local 'gpr-indent-broken)
-
-(defcustom gpr-indent-when 3
-  "Indentation for `when' relative to `case'."
-  :type  'integer
-  :safe  #'integerp)
-(make-variable-buffer-local 'gpr-indent-when)
-
-(provide 'gpr-indent-user-options)
-
-;; end file
diff --git a/packages/ada-mode/gpr-mode.el b/packages/ada-mode/gpr-mode.el
deleted file mode 100644
index 1ee03ee..0000000
--- a/packages/ada-mode/gpr-mode.el
+++ /dev/null
@@ -1,427 +0,0 @@
-;; gpr-mode --- Major mode for editing GNAT project files  -*- 
lexical-binding:t -*-
-
-;; Copyright (C) 2004, 2007, 2008, 2012-2015, 2017 - 2020  Free Software 
Foundation, Inc.
-
-;; Author: Stephen Leake <stephen_leake@member.fsf.org>
-;; Maintainer: Stephen Leake <stephen_leake@member.fsf.org>
-
-;; This file is part of GNU Emacs.
-
-;; gpr-mode 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, or (at your option)
-;; any later version.
-
-;; gpr-mode 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; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-;;
-;;; Commentary:
-;;
-;;; History:
-;;
-;; The first gpr-mode was written by Rolf Ebert
-;; <rolf.ebert_nosp...@gmx.net> in 2004.
-;;
-;; Stephen Leake <stephen_leake@member.fsf.org> rewrote it in 2013 to
-;; use the wisi indentation engine.
-;;
-;;;;; Code:
-
-(require 'cl-lib)
-(require 'gnat-core)
-(require 'gpr-indent-user-options)
-(require 'gpr-process)
-(require 'gpr-skel)
-(require 'wisi-process-parse)
-(require 'wisi-prj)
-
-(defgroup gpr nil
-  "Major mode for editing gpr (Gnat Project File) source code in Emacs."
-  :group 'languages)
-
-(defvar gpr-mode-map
-  (let ((map (make-sparse-keymap)))
-    ;; C-c <letter> are reserved for users
-
-    ;; global-map has C-x ` 'next-error
-    (define-key map [return]   'wisi-indent-newline-indent)
-    ;; comment-dwim is in global map on M-;
-    (define-key map "\C-c\C-e" 'wisi-skel-expand)
-    (define-key map "\C-c\C-f" 'wisi-show-parse-error)
-    (define-key map "\C-c\C-i" 'wisi-indent-statement)
-    (define-key map "\C-c\C-o" 'ff-find-other-file)
-    (define-key map "\C-c\C-P" 'gpr-set-as-project)
-    (define-key map "\C-c\C-w" 'wisi-case-adjust-at-point)
-    (define-key map "\C-c\C-y" 'wisi-case-create-exception)
-    (define-key map "\C-c\C-\M-y" 'wisi-case-create-partial-exception)
-    (define-key map "\M-n" 'wisi-skel-next-placeholder)
-    (define-key map "\M-p" 'wisi-skel-prev-placeholder)
-
-    (wisi-case-activate-keys map)
-
-    map
-  )  "Local keymap used for GPR mode.")
-
-(defvar gpr-mode-menu (make-sparse-keymap "gpr"))
-(easy-menu-define gpr-mode-menu gpr-mode-map "Menu keymap for gpr mode"
-  '("gpr"
-    ("Help"
-     ["gpr Mode"              (info "gpr-mode") t]
-     ["GNAT Reference Manual" (info "gnat_rm") t]
-     ["GNAT User Guide"       (info "gnat_ugn") t]
-     ["Key bindings"          describe-bindings t]
-     )
-
-    ["Customize"     (customize-group 'gpr)]
-    ["------"        nil nil]
-    ["Show current project"        wisi-prj-show                    t]
-    ["Show project search path"    wisi-prj-show-prj-path           t]
-    ["Next compilation error"      next-error                       t]
-    ["Show last parse error"       wisi-show-parse-error            t]
-    ["Other file"                  ff-find-other-file               t]
-    ("Edit"
-     ["Indent Line or selection"      indent-for-tab-command         t]
-     ["Indent current statement"      wisi-indent-statement          t]
-     ["Indent Lines in File"          (indent-region (point-min) (point-max))  
t]
-     ["Expand skeleton"               wisi-skel-expand               t]
-     ["Next skeleton placeholder"     wisi-skel-next-placeholder     t]
-     ["Previous skeleton placeholder" wisi-skel-prev-placeholder     t]
-     ["Comment/uncomment selection"   comment-dwim                   t]
-     ["Fill Comment Paragraph"        fill-paragraph                 t]
-     )
-    ))
-
-(defconst gpr-keywords
-  '(
-    "abstract"
-    "aggregate"
-    "at"
-    "case"
-    "configuration"
-    "end"
-    "extends"
-    "external"
-    "external_as_list"
-    "for"
-    "is"
-    "library"
-    "limited"
-    "null"
-    "others"
-    "package"
-    ;; "project" may also be a non-keyword attribute prefix; see 
test/gpr/gds.gpr
-    "renames"
-    "standard"
-    "type"
-    "use"
-    "when"
-    "with"
-    )
-  "List of gpr mode keywords for font-lock and auto-casing.")
-
-(defvar gpr-font-lock-keywords
-  ;; Grammar actions set `font-lock-face' property for all
-  ;; non-keyword tokens that need it.
-  (list
-   (list (concat "\\<" (regexp-opt gpr-keywords t) "\\>") '(0 
font-lock-keyword-face)))
-  "Expressions to highlight in gpr mode.")
-
-(defun gpr-ff-special-with ()
-  (let ((project-path (match-string 1)))
-    ;; project-path may be any of "foo", "foo.gpr", "../foo.gpr"
-    ;;
-    ;; The result of ff-special-constructs is used by
-    ;; ff-find-the-other-file with ff-search-directories and nil
-    ;; suffix list, so it must contain the relative path and the
-    ;; suffix
-    (if (file-name-extension project-path)
-       project-path
-      (concat project-path ".gpr"))
-    ))
-
-(defun gpr-set-ff-special-constructs ()
-  "Add gpr-specific pairs to `ff-special-constructs'."
-  (set (make-local-variable 'ff-special-constructs) nil)
-  (mapc (lambda (pair) (add-to-list 'ff-special-constructs pair))
-       ;; Each car is a regexp; if it matches at point, the cdr is
-       ;; invoked.  Each cdr should return the absolute file name to
-       ;; go to.
-       (list
-        ;; A "with" clause; allow "foo_bar.gpr" and "../foo"
-        (cons "^with[ \t]+\"\\(\\(?:\\(?:\\sw\\|\\s.\\)\\|\\s_\\)+\\)\";"
-              'gpr-ff-special-with)
-        )))
-
-(defun gpr-which-function ()
-  "Return the name of the package or project point is in or just after, or 
nil."
-  (wisi-validate-cache (point-min) (point) nil 'navigate)
-  ;; No message on parse fail, since this could be called from 
which-function-mode
-  (when (wisi-cache-covers-pos 'navigate (point))
-    (let ((cache (wisi-backward-cache))
-         done
-         project-pos
-         package-pos
-         decl-pos)
-      (while (and cache (not done))
-       ;; find attribute_declaration and package containing point (if any)
-       (cond
-        ((not (eq (wisi-cache-class cache) 'statement-start))
-         nil)
-
-        ((eq (wisi-cache-nonterm cache) 'attribute_declaration)
-         (setq decl-pos (point)))
-
-        ((eq (wisi-cache-nonterm cache) 'package_spec)
-         (setq package-pos (point))
-         (setq done t))
-
-        ((eq (wisi-cache-nonterm cache) 'simple_project_declaration)
-         (setq project-pos (point))
-         (setq done t))
-        )
-
-       (setq cache (wisi-goto-containing cache)))
-
-      (cond
-       (package-pos
-       (goto-char package-pos)
-       (setq done t))
-
-       (decl-pos
-       (goto-char decl-pos)
-       (setq done t))
-
-       (project-pos
-       (goto-char project-pos)
-       (setq done t))
-
-       (t ;; before project
-       (setq done nil))
-       )
-
-      (when done
-       (wisi-next-name))
-
-      )))
-
-(defun gpr-add-log-current-function ()
-  "For `add-log-current-defun-function'. Returns enclosing package or project 
name."
-  ;; add-log-current-defun is typically called with point at the start
-  ;; of an ediff change section, which is before the start of the
-  ;; declaration of a new item. So go to the end of the current line
-  ;; first
-  (save-excursion
-    (end-of-line 1)
-    (gpr-which-function)))
-
-(defvar gpr-mode-syntax-table
-  (let ((table (make-syntax-table)))
-    ;; (info "(elisp)Syntax Class Table" "*info syntax class table*")
-    ;; make-syntax-table sets all alphanumeric to w, etc; so we only
-    ;; have to add gpr-specific things.
-
-    ;; string brackets. `%' is the obsolete alternative string
-    ;; bracket (arm J.2); if we make it syntax class ", it throws
-    ;; font-lock and indentation off the track, so we use syntax class
-    ;; $.
-    (modify-syntax-entry ?%  "$" table)
-    (modify-syntax-entry ?\" "\"" table)
-
-    ;; punctuation; operators etc
-    (modify-syntax-entry ?-  ". 124" table); operator, double hyphen as comment
-    (modify-syntax-entry ?&  "." table)
-    (modify-syntax-entry ?. "." table)
-    (modify-syntax-entry ?:  "." table)
-    (modify-syntax-entry ?=  "." table)
-    (modify-syntax-entry ?>  "." table)
-    (modify-syntax-entry ?\; "." table)
-    (modify-syntax-entry ?\\ "." table); default is escape; not correct for 
gpr strings
-    (modify-syntax-entry ?\|  "." table)
-
-    ;; and \f and \n end a comment
-    (modify-syntax-entry ?\f  ">" table)
-    (modify-syntax-entry ?\n  ">" table)
-
-    (modify-syntax-entry ?_ "_" table); symbol constituents, not word.
-
-    (modify-syntax-entry ?\( "()" table)
-    (modify-syntax-entry ?\) ")(" table)
-
-    ;; skeleton placeholder delimiters; see gpr-skel.el. We use generic
-    ;; comment delimiter class, not comment starter/comment ender, so
-    ;; these can be distinguished from line end.
-    (modify-syntax-entry ?{ "!" table)
-    (modify-syntax-entry ?} "!" table)
-
-    table
-    )
-  "Syntax table to be used for editing gpr source code.")
-
-;;;; wisi integration
-
-(defcustom gpr-auto-case t
-  "When non-nil, automatically change case of preceding word while
-typing.  Casing of gpr keywords is done according to `gpr-case-keyword',
-identifiers according to `gpr-case-identifier'."
-  :group 'gpr
-  :type  '(choice (const nil)
-                 (const t))
-  :safe  (lambda (val) (memq val '(nil t))))
-(make-variable-buffer-local 'gpr-auto-case)
-
-(defcustom gpr-case-keyword 'lower-case
-  "Indicate how to adjust case for language keywords.
-Value is one of lower-case, upper-case."
-  :group 'gpr
-  :type '(choice (const lower-case)
-                (const upper-case))
-  :safe #'symbolp)
-(make-variable-buffer-local 'gpr-case-keyword)
-
-(defcustom gpr-case-strict t
-  "If non-nil, force Mixed_Case for identifiers.
-Otherwise, allow UPPERCASE for identifiers."
-  :group 'gpr
-  :type 'boolean
-  :safe  #'booleanp)
-(make-variable-buffer-local 'gpr-case-strict)
-
-(defcustom gpr-case-identifier 'mixed-case
-  "Indicates how to adjust the case of gpr keywords."
-  :group 'gpr
-  :type '(choice (const mixed-case)
-                (const lower-case)
-                (const upper-case))
-  ;; see comment on :safe at gpr-case-keyword
-  :safe (lambda (val) (memq val '(mixed-case lower-case upper-case))))
-(make-variable-buffer-local 'gpr-case-identifier)
-
-(defun gpr-case-adjust-p (_typed-char)
-  "For `wisi-case-adjust-p-function'."
-  ;; casing of 'project' in "Project'Project_Dir" vs "project GDS is"
-  (save-excursion
-    (let ((end (1+ (point)))
-         (start (progn (skip-syntax-backward "w")(point))))
-      (cond
-       ((string= "project" (downcase (buffer-substring-no-properties start 
end)))
-       (cond
-        ((= (char-after end) ?') ;; attribute Project'
-         t)
-        ((= (char-after end) ? ) ;; keyword project GDS
-         (wisi-case-keyword start end)
-         nil)
-        ))
-
-       (t t) ;; not "project"
-       ))))
-
-(cl-defstruct (gpr-wisi-parser (:include wisi-process--parser))
-  ;; no new slots
-  )
-
-(cl-defstruct (gpr-prj (:include wisi-prj))
-  ;; no new slots
-  )
-
-(defun gpr-prj-default (&optional name)
-  (make-gpr-prj :name (or name "_default_") :compiler (make-gnat-compiler)))
-
-(cl-defmethod wisi-prj-default ((prj gpr-prj))
-  (gpr-prj-default (wisi-prj-name prj)))
-
-(cl-defmethod wisi-parse-format-language-options ((_parser gpr-wisi-parser))
-  (format "%d %d %d"
-         gpr-indent
-         gpr-indent-broken
-         gpr-indent-when
-         ))
-
-(defconst gpr-wisi-language-protocol-version "1"
-  "Defines language-specific parser parameters.
-Must match wisi-gpr.ads Language_Protocol_Version.")
-
-(defcustom gpr-process-parse-exec "gpr_mode_wisi_parse"
-  "Name of executable to use for external process gpr parser,"
-  :type 'string
-  :group 'gpr)
-
-(defun gpr-set-as-project ()
-  "Set current buffer (a gpr file) as current project file."
-  (interactive)
-  (wisi-prj-dtrt-parse-file (buffer-file-name) (gpr-prj-default 
(buffer-file-name)) (buffer-file-name)))
-
-;;;;
-;;;###autoload
-(defun gpr-mode ()
-  "The major mode for editing GNAT project files."
-
-  (interactive)
-  (kill-all-local-variables)
-  (setq major-mode 'gpr-mode)
-  (setq mode-name "GNAT Project")
-  (use-local-map gpr-mode-map)
-  (set-syntax-table gpr-mode-syntax-table)
-  (set 'case-fold-search t); gpr is case insensitive; the syntax parsing 
requires this setting
-  (set (make-local-variable 'comment-start) "--")
-  (set (make-local-variable 'comment-end) "")
-  (set (make-local-variable 'comment-start-skip) "---*[ \t]*")
-  (set (make-local-variable 'comment-multi-line) nil)
-
-  (set (make-local-variable 'require-final-newline) t)
-
-  (set (make-local-variable 'font-lock-defaults)
-       '(gpr-font-lock-keywords
-        nil t
-        ((?\_ . "w"))))
-
-  (gpr-set-ff-special-constructs)
-  (setq ff-search-directories 'compilation-search-path);; includes project 
search path
-
-  (set (make-local-variable 'add-log-current-defun-function)
-       'gpr-add-log-current-function)
-
-  (wisi-setup
-   :indent-calculate nil
-   :post-indent-fail nil
-   :parser
-   (wisi-process-parse-get
-    (make-gpr-wisi-parser
-     :label "gpr"
-     :language-protocol-version gpr-wisi-language-protocol-version
-     :exec-file gpr-process-parse-exec
-     :face-table gpr-process-face-table
-     :token-table gpr-process-token-table
-     :repair-image gpr-process-repair-image
-     )))
-
-  (run-mode-hooks 'gpr-mode-hook)
-
-  (setq wisi-auto-case gpr-auto-case)
-  (setq wisi-case-identifier gpr-case-identifier)
-  (setq wisi-case-strict gpr-case-strict)
-  (setq wisi-language-keywords gpr-keywords)
-  (setq wisi-case-keyword gpr-case-keyword)
-  (setq wisi-case-adjust-p-function #'gpr-case-adjust-p)
-  )
-
-;;;###autoload
-(add-to-list 'auto-mode-alist '("\\.gpr\\'" . gpr-mode))  ; GNAT project files
-
-(put 'gpr-mode 'custom-mode-group 'gpr)
-
-(defvar gpr-parser 'process
-  "Indicate parser and lexer to use for gpr buffers:
-
-process : wisi elisp lexer, external process parser specified
-  by ‘gpr-process-parse-exec ’.
-")
-
-(provide 'gpr-mode)
-;;; gpr-mode.el ends here
diff --git a/packages/ada-mode/gpr-mode.info b/packages/ada-mode/gpr-mode.info
deleted file mode 100644
index 73dc37f..0000000
--- a/packages/ada-mode/gpr-mode.info
+++ /dev/null
@@ -1,737 +0,0 @@
-This is gpr-mode.info, produced by makeinfo version 6.7 from
-gpr-mode.texi.
-
-Copyright (C) 2013, 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,
-     Version 1.3 or any later version published by the Free Software
-     Foundation; with no Invariant Sections, with the Front-Cover texts
-     being "A GNU Manual", and with the Back-Cover Texts as in (a)
-     below.  A copy of the license is included in the section entitled
-     "GNU Free Documentation License".
-
-     (a) The FSF's Back-Cover Text is: "You have the freedom to copy and
-     modify this GNU manual.  Buying copies from the FSF supports it in
-     developing GNU and promoting software freedom."
-INFO-DIR-SECTION Emacs
-START-INFO-DIR-ENTRY
-* gpr mode: (gpr-mode).         Emacs mode for editing and navigating gpr 
files (gnat project files).
-END-INFO-DIR-ENTRY
-
-
-File: gpr-mode.info,  Node: Top,  Next: Overview,  Prev: (dir),  Up: (dir)
-
-* Menu:
-
-* Overview::
-* Installation::
-* Customization::
-* Moving Through Gpr Code::
-* Identifier completion::
-* Indentation::
-* Statement skeletons::
-* GNU Free Documentation License::
-* Index::
-
-
-File: gpr-mode.info,  Node: Overview,  Next: Installation,  Prev: Top,  Up: Top
-
-1 Overview
-**********
-
-gpr files are the project files used by the GNAT compiler and associated
-tools.  They describe search paths, compiler options, etc.
-
-   *Note GNAT Project Manager: (gnat_ugn)GNAT Project Manager, for
-general information on gpr files.
-
-   The Emacs mode for gpr files helps the user in reading existing code
-and facilitates writing new code.
-
-   When you open a file with a file extension of '.gpr', Emacs will
-automatically load and activate gpr mode.
-
-
-File: gpr-mode.info,  Node: Installation,  Next: Customization,  Prev: 
Overview,  Up: Top
-
-2 Installation
-**************
-
-gpr mode is distributed in the Gnu ELPA package archive, bundled with
-Ada mode; it can be installed via 'M-x list-packages' (*note
-(emacs)Packages::).
-
-   gpr mode does not have a separate version; it uses the Ada mode
-version number.  To see what version of Ada mode you have installed, do
-'M-x ada-mode-version'.
-
-
-File: gpr-mode.info,  Node: Customization,  Next: Moving Through Gpr Code,  
Prev: Installation,  Up: Top
-
-3 Customization
-***************
-
-Indentation variables for gpr mode can be set via the menu 'gpr |
-Customize' from a gpr mode buffer.  Click on the 'Help' button there for
-help on using customize.  *Note Indentation::.
-
-   To modify a specific variable, you can directly call the function
-'customize-variable'; just type 'M-x customize-variable <RET>
-VARIABLE-NAME <RET>').
-
-   Alternately, you can specify variable settings in the Emacs
-configuration file, '~/.emacs'.  This file is coded in Emacs lisp, and
-the syntax to set a variable is the following:
-     (setq variable-name value)
-
-   Some general Emacs settings that are useful for gpr files:
-'delete-trailing-whitespace'
-     Deletes space, tab at end of line and blank lines at end of buffer.
-'untabify'
-     Deletes tab characters that have crept into the file.
-'indent-tabs-mode'
-     Don't insert tab characters when indenting.
-'hippie-expand'
-     Bind 'hippie-expand' to a key; it expands the word before point,
-     using words from current buffer, other buffers, file names, etc;
-     see 'hippie-expand-try-functions-list'.  You can also add
-     'wisi-skel-hippie-try' to that list (*note Statement skeletons::).
-
-   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
-just before a buffer is written to disk.
-     (setq-default indent-tabs-mode nil)
-     (require 'gpr-mode)
-     (add-to-list 'hippie-expand-try-functions-list 'wisi-skel-hippie-try)
-     (define-key gpr-mode-map "\C-e"     'hippie-expand)
-     (add-hook 'gpr-mode-hook
-        (lambda ()
-         (add-hook 'before-save-hook 'delete-trailing-whitespace nil t)
-         (add-hook 'before-save-hook
-                   (lambda () (untabify (point-min) (point-max)))
-                    nil t)))
-
-
-File: gpr-mode.info,  Node: Moving Through Gpr Code,  Next: Identifier 
completion,  Prev: Customization,  Up: Top
-
-4 Moving Through Gpr Code
-*************************
-
-These commands navigate through gpr code.  All these functions are
-available through the gpr menu and keybindings.
-
-'C-c C-o'
-     If point is on a 'with' clause, position point on the corresponding
-     package declaration.
-
-'C-u SPACE'
-     Jump back to the previous location.
-
-'C-M-f'
-     Move to the end of the current declaration.
-
-'C-M-b'
-     Move to the start of the current declaration.
-
-
-File: gpr-mode.info,  Node: Identifier completion,  Next: Indentation,  Prev: 
Moving Through Gpr Code,  Up: Top
-
-5 Identifier completion
-***********************
-
-Emacs provides a general way of completing identifiers: 'M-/' (bound to
-'dabbrev-expand').  This is an easy way to type faster: you just have to
-type the first few letters of an identifier, and then loop through all
-the possible completions.
-
-   If you have bound 'hippie-expand', that also uses 'dabbrev-expand'.
-
-   'M-/' works by parsing all open gpr files for possible completions.
-
-   For instance, if the words 'my_identifier' and 'my_subprogram' are
-the only words starting with 'my' in any of the open gpr files, then you
-will have this scenario:
-
-     You type:  myM-/
-     Emacs inserts:  'my_identifier'
-     If you press M-/ once again, Emacs replaces 'my_identifier' with
-     'my_subprogram'.
-     Pressing M-/ once more will bring you back to 'my_identifier'.
-
-   This is a very fast way to do completion, and the casing of words
-will also be respected.
-
-
-File: gpr-mode.info,  Node: Indentation,  Next: Statement skeletons,  Prev: 
Identifier completion,  Up: Top
-
-6 Indentation
-*************
-
-gpr mode comes with a full set of rules for automatic indentation.  You
-can also configure the indentation, via the following variables:
-
-'gpr-indent' (default value: 3)
-     Number of columns for default indentation.
-
-'gpr-indent-broken' (default value: 2)
-     Number of columns to indent the continuation of a broken line.
-
-'gpr-indent-when' (default value: 3)
-     Indentation for 'when' relative to 'case'.
-
-   The following keys indent portions of the text:
-
-'RET'
-     Insert and indent a new line.
-
-'TAB'
-     Indent the current line, or the current region.
-
-'C-c TAB'
-     Indent the current declaration.
-
-   The indentation algorithm relies on an error-correcting grammar
-parser to identify the syntactic role for keywords and other words in
-the code.
-
-
-File: gpr-mode.info,  Node: Statement skeletons,  Next: GNU Free Documentation 
License,  Prev: Indentation,  Up: Top
-
-7 Statement skeletons
-*********************
-
-'C-c C-e' expands the previous one or two words into a statment
-skeleton.  For example, 'c a s e C-c C-e' expands to:
-
-     case  is
-     when =>
-     end case;
-
-   For named packages, the name is taken from the word before point, and
-the package keyword from the word before that:
-
-     package A_Package
-
-   expands to:
-
-     package A_Package is
-     end A_Package;
-
-   Some expansions prompt for more information, such as a choice of
-license.
-
-
-File: gpr-mode.info,  Node: GNU Free Documentation License,  Next: Index,  
Prev: Statement skeletons,  Up: Top
-
-Appendix A GNU Free Documentation License
-*****************************************
-
-                     Version 1.3, 3 November 2008
-
-     Copyright (C) 2000, 2001, 2002, 2007, 2008, 2009 Free Software 
Foundation, Inc.
-     <http://fsf.org/>
-
-     Everyone is permitted to copy and distribute verbatim copies
-     of this license document, but changing it is not allowed.
-
-  0. PREAMBLE
-
-     The purpose of this License is to make a manual, textbook, or other
-     functional and useful document "free" in the sense of freedom: to
-     assure everyone the effective freedom to copy and redistribute it,
-     with or without modifying it, either commercially or
-     noncommercially.  Secondarily, this License preserves for the
-     author and publisher a way to get credit for their work, while not
-     being considered responsible for modifications made by others.
-
-     This License is a kind of "copyleft", which means that derivative
-     works of the document must themselves be free in the same sense.
-     It complements the GNU General Public License, which is a copyleft
-     license designed for free software.
-
-     We have designed this License in order to use it for manuals for
-     free software, because free software needs free documentation: a
-     free program should come with manuals providing the same freedoms
-     that the software does.  But this License is not limited to
-     software manuals; it can be used for any textual work, regardless
-     of subject matter or whether it is published as a printed book.  We
-     recommend this License principally for works whose purpose is
-     instruction or reference.
-
-  1. APPLICABILITY AND DEFINITIONS
-
-     This License applies to any manual or other work, in any medium,
-     that contains a notice placed by the copyright holder saying it can
-     be distributed under the terms of this License.  Such a notice
-     grants a world-wide, royalty-free license, unlimited in duration,
-     to use that work under the conditions stated herein.  The
-     "Document", below, refers to any such manual or work.  Any member
-     of the public is a licensee, and is addressed as "you".  You accept
-     the license if you copy, modify or distribute the work in a way
-     requiring permission under copyright law.
-
-     A "Modified Version" of the Document means any work containing the
-     Document or a portion of it, either copied verbatim, or with
-     modifications and/or translated into another language.
-
-     A "Secondary Section" is a named appendix or a front-matter section
-     of the Document that deals exclusively with the relationship of the
-     publishers or authors of the Document to the Document's overall
-     subject (or to related matters) and contains nothing that could
-     fall directly within that overall subject.  (Thus, if the Document
-     is in part a textbook of mathematics, a Secondary Section may not
-     explain any mathematics.)  The relationship could be a matter of
-     historical connection with the subject or with related matters, or
-     of legal, commercial, philosophical, ethical or political position
-     regarding them.
-
-     The "Invariant Sections" are certain Secondary Sections whose
-     titles are designated, as being those of Invariant Sections, in the
-     notice that says that the Document is released under this License.
-     If a section does not fit the above definition of Secondary then it
-     is not allowed to be designated as Invariant.  The Document may
-     contain zero Invariant Sections.  If the Document does not identify
-     any Invariant Sections then there are none.
-
-     The "Cover Texts" are certain short passages of text that are
-     listed, as Front-Cover Texts or Back-Cover Texts, in the notice
-     that says that the Document is released under this License.  A
-     Front-Cover Text may be at most 5 words, and a Back-Cover Text may
-     be at most 25 words.
-
-     A "Transparent" copy of the Document means a machine-readable copy,
-     represented in a format whose specification is available to the
-     general public, that is suitable for revising the document
-     straightforwardly with generic text editors or (for images composed
-     of pixels) generic paint programs or (for drawings) some widely
-     available drawing editor, and that is suitable for input to text
-     formatters or for automatic translation to a variety of formats
-     suitable for input to text formatters.  A copy made in an otherwise
-     Transparent file format whose markup, or absence of markup, has
-     been arranged to thwart or discourage subsequent modification by
-     readers is not Transparent.  An image format is not Transparent if
-     used for any substantial amount of text.  A copy that is not
-     "Transparent" is called "Opaque".
-
-     Examples of suitable formats for Transparent copies include plain
-     ASCII without markup, Texinfo input format, LaTeX input format,
-     SGML or XML using a publicly available DTD, and standard-conforming
-     simple HTML, PostScript or PDF designed for human modification.
-     Examples of transparent image formats include PNG, XCF and JPG.
-     Opaque formats include proprietary formats that can be read and
-     edited only by proprietary word processors, SGML or XML for which
-     the DTD and/or processing tools are not generally available, and
-     the machine-generated HTML, PostScript or PDF produced by some word
-     processors for output purposes only.
-
-     The "Title Page" means, for a printed book, the title page itself,
-     plus such following pages as are needed to hold, legibly, the
-     material this License requires to appear in the title page.  For
-     works in formats which do not have any title page as such, "Title
-     Page" means the text near the most prominent appearance of the
-     work's title, preceding the beginning of the body of the text.
-
-     The "publisher" means any person or entity that distributes copies
-     of the Document to the public.
-
-     A section "Entitled XYZ" means a named subunit of the Document
-     whose title either is precisely XYZ or contains XYZ in parentheses
-     following text that translates XYZ in another language.  (Here XYZ
-     stands for a specific section name mentioned below, such as
-     "Acknowledgements", "Dedications", "Endorsements", or "History".)
-     To "Preserve the Title" of such a section when you modify the
-     Document means that it remains a section "Entitled XYZ" according
-     to this definition.
-
-     The Document may include Warranty Disclaimers next to the notice
-     which states that this License applies to the Document.  These
-     Warranty Disclaimers are considered to be included by reference in
-     this License, but only as regards disclaiming warranties: any other
-     implication that these Warranty Disclaimers may have is void and
-     has no effect on the meaning of this License.
-
-  2. VERBATIM COPYING
-
-     You may copy and distribute the Document in any medium, either
-     commercially or noncommercially, provided that this License, the
-     copyright notices, and the license notice saying this License
-     applies to the Document are reproduced in all copies, and that you
-     add no other conditions whatsoever to those of this License.  You
-     may not use technical measures to obstruct or control the reading
-     or further copying of the copies you make or distribute.  However,
-     you may accept compensation in exchange for copies.  If you
-     distribute a large enough number of copies you must also follow the
-     conditions in section 3.
-
-     You may also lend copies, under the same conditions stated above,
-     and you may publicly display copies.
-
-  3. COPYING IN QUANTITY
-
-     If you publish printed copies (or copies in media that commonly
-     have printed covers) of the Document, numbering more than 100, and
-     the Document's license notice requires Cover Texts, you must
-     enclose the copies in covers that carry, clearly and legibly, all
-     these Cover Texts: Front-Cover Texts on the front cover, and
-     Back-Cover Texts on the back cover.  Both covers must also clearly
-     and legibly identify you as the publisher of these copies.  The
-     front cover must present the full title with all words of the title
-     equally prominent and visible.  You may add other material on the
-     covers in addition.  Copying with changes limited to the covers, as
-     long as they preserve the title of the Document and satisfy these
-     conditions, can be treated as verbatim copying in other respects.
-
-     If the required texts for either cover are too voluminous to fit
-     legibly, you should put the first ones listed (as many as fit
-     reasonably) on the actual cover, and continue the rest onto
-     adjacent pages.
-
-     If you publish or distribute Opaque copies of the Document
-     numbering more than 100, you must either include a machine-readable
-     Transparent copy along with each Opaque copy, or state in or with
-     each Opaque copy a computer-network location from which the general
-     network-using public has access to download using public-standard
-     network protocols a complete Transparent copy of the Document, free
-     of added material.  If you use the latter option, you must take
-     reasonably prudent steps, when you begin distribution of Opaque
-     copies in quantity, to ensure that this Transparent copy will
-     remain thus accessible at the stated location until at least one
-     year after the last time you distribute an Opaque copy (directly or
-     through your agents or retailers) of that edition to the public.
-
-     It is requested, but not required, that you contact the authors of
-     the Document well before redistributing any large number of copies,
-     to give them a chance to provide you with an updated version of the
-     Document.
-
-  4. MODIFICATIONS
-
-     You may copy and distribute a Modified Version of the Document
-     under the conditions of sections 2 and 3 above, provided that you
-     release the Modified Version under precisely this License, with the
-     Modified Version filling the role of the Document, thus licensing
-     distribution and modification of the Modified Version to whoever
-     possesses a copy of it.  In addition, you must do these things in
-     the Modified Version:
-
-       A. Use in the Title Page (and on the covers, if any) a title
-          distinct from that of the Document, and from those of previous
-          versions (which should, if there were any, be listed in the
-          History section of the Document).  You may use the same title
-          as a previous version if the original publisher of that
-          version gives permission.
-
-       B. List on the Title Page, as authors, one or more persons or
-          entities responsible for authorship of the modifications in
-          the Modified Version, together with at least five of the
-          principal authors of the Document (all of its principal
-          authors, if it has fewer than five), unless they release you
-          from this requirement.
-
-       C. State on the Title page the name of the publisher of the
-          Modified Version, as the publisher.
-
-       D. Preserve all the copyright notices of the Document.
-
-       E. Add an appropriate copyright notice for your modifications
-          adjacent to the other copyright notices.
-
-       F. Include, immediately after the copyright notices, a license
-          notice giving the public permission to use the Modified
-          Version under the terms of this License, in the form shown in
-          the Addendum below.
-
-       G. Preserve in that license notice the full lists of Invariant
-          Sections and required Cover Texts given in the Document's
-          license notice.
-
-       H. Include an unaltered copy of this License.
-
-       I. Preserve the section Entitled "History", Preserve its Title,
-          and add to it an item stating at least the title, year, new
-          authors, and publisher of the Modified Version as given on the
-          Title Page.  If there is no section Entitled "History" in the
-          Document, create one stating the title, year, authors, and
-          publisher of the Document as given on its Title Page, then add
-          an item describing the Modified Version as stated in the
-          previous sentence.
-
-       J. Preserve the network location, if any, given in the Document
-          for public access to a Transparent copy of the Document, and
-          likewise the network locations given in the Document for
-          previous versions it was based on.  These may be placed in the
-          "History" section.  You may omit a network location for a work
-          that was published at least four years before the Document
-          itself, or if the original publisher of the version it refers
-          to gives permission.
-
-       K. For any section Entitled "Acknowledgements" or "Dedications",
-          Preserve the Title of the section, and preserve in the section
-          all the substance and tone of each of the contributor
-          acknowledgements and/or dedications given therein.
-
-       L. Preserve all the Invariant Sections of the Document, unaltered
-          in their text and in their titles.  Section numbers or the
-          equivalent are not considered part of the section titles.
-
-       M. Delete any section Entitled "Endorsements".  Such a section
-          may not be included in the Modified Version.
-
-       N. Do not retitle any existing section to be Entitled
-          "Endorsements" or to conflict in title with any Invariant
-          Section.
-
-       O. Preserve any Warranty Disclaimers.
-
-     If the Modified Version includes new front-matter sections or
-     appendices that qualify as Secondary Sections and contain no
-     material copied from the Document, you may at your option designate
-     some or all of these sections as invariant.  To do this, add their
-     titles to the list of Invariant Sections in the Modified Version's
-     license notice.  These titles must be distinct from any other
-     section titles.
-
-     You may add a section Entitled "Endorsements", provided it contains
-     nothing but endorsements of your Modified Version by various
-     parties--for example, statements of peer review or that the text
-     has been approved by an organization as the authoritative
-     definition of a standard.
-
-     You may add a passage of up to five words as a Front-Cover Text,
-     and a passage of up to 25 words as a Back-Cover Text, to the end of
-     the list of Cover Texts in the Modified Version.  Only one passage
-     of Front-Cover Text and one of Back-Cover Text may be added by (or
-     through arrangements made by) any one entity.  If the Document
-     already includes a cover text for the same cover, previously added
-     by you or by arrangement made by the same entity you are acting on
-     behalf of, you may not add another; but you may replace the old
-     one, on explicit permission from the previous publisher that added
-     the old one.
-
-     The author(s) and publisher(s) of the Document do not by this
-     License give permission to use their names for publicity for or to
-     assert or imply endorsement of any Modified Version.
-
-  5. COMBINING DOCUMENTS
-
-     You may combine the Document with other documents released under
-     this License, under the terms defined in section 4 above for
-     modified versions, provided that you include in the combination all
-     of the Invariant Sections of all of the original documents,
-     unmodified, and list them all as Invariant Sections of your
-     combined work in its license notice, and that you preserve all
-     their Warranty Disclaimers.
-
-     The combined work need only contain one copy of this License, and
-     multiple identical Invariant Sections may be replaced with a single
-     copy.  If there are multiple Invariant Sections with the same name
-     but different contents, make the title of each such section unique
-     by adding at the end of it, in parentheses, the name of the
-     original author or publisher of that section if known, or else a
-     unique number.  Make the same adjustment to the section titles in
-     the list of Invariant Sections in the license notice of the
-     combined work.
-
-     In the combination, you must combine any sections Entitled
-     "History" in the various original documents, forming one section
-     Entitled "History"; likewise combine any sections Entitled
-     "Acknowledgements", and any sections Entitled "Dedications".  You
-     must delete all sections Entitled "Endorsements."
-
-  6. COLLECTIONS OF DOCUMENTS
-
-     You may make a collection consisting of the Document and other
-     documents released under this License, and replace the individual
-     copies of this License in the various documents with a single copy
-     that is included in the collection, provided that you follow the
-     rules of this License for verbatim copying of each of the documents
-     in all other respects.
-
-     You may extract a single document from such a collection, and
-     distribute it individually under this License, provided you insert
-     a copy of this License into the extracted document, and follow this
-     License in all other respects regarding verbatim copying of that
-     document.
-
-  7. AGGREGATION WITH INDEPENDENT WORKS
-
-     A compilation of the Document or its derivatives with other
-     separate and independent documents or works, in or on a volume of a
-     storage or distribution medium, is called an "aggregate" if the
-     copyright resulting from the compilation is not used to limit the
-     legal rights of the compilation's users beyond what the individual
-     works permit.  When the Document is included in an aggregate, this
-     License does not apply to the other works in the aggregate which
-     are not themselves derivative works of the Document.
-
-     If the Cover Text requirement of section 3 is applicable to these
-     copies of the Document, then if the Document is less than one half
-     of the entire aggregate, the Document's Cover Texts may be placed
-     on covers that bracket the Document within the aggregate, or the
-     electronic equivalent of covers if the Document is in electronic
-     form.  Otherwise they must appear on printed covers that bracket
-     the whole aggregate.
-
-  8. TRANSLATION
-
-     Translation is considered a kind of modification, so you may
-     distribute translations of the Document under the terms of section
-     4.  Replacing Invariant Sections with translations requires special
-     permission from their copyright holders, but you may include
-     translations of some or all Invariant Sections in addition to the
-     original versions of these Invariant Sections.  You may include a
-     translation of this License, and all the license notices in the
-     Document, and any Warranty Disclaimers, provided that you also
-     include the original English version of this License and the
-     original versions of those notices and disclaimers.  In case of a
-     disagreement between the translation and the original version of
-     this License or a notice or disclaimer, the original version will
-     prevail.
-
-     If a section in the Document is Entitled "Acknowledgements",
-     "Dedications", or "History", the requirement (section 4) to
-     Preserve its Title (section 1) will typically require changing the
-     actual title.
-
-  9. TERMINATION
-
-     You may not copy, modify, sublicense, or distribute the Document
-     except as expressly provided under this License.  Any attempt
-     otherwise to copy, modify, sublicense, or distribute it is void,
-     and will automatically terminate your rights under this License.
-
-     However, if you cease all violation of this License, then your
-     license from a particular copyright holder is reinstated (a)
-     provisionally, unless and until the copyright holder explicitly and
-     finally terminates your license, and (b) permanently, if the
-     copyright holder fails to notify you of the violation by some
-     reasonable means prior to 60 days after the cessation.
-
-     Moreover, your license from a particular copyright holder is
-     reinstated permanently if the copyright holder notifies you of the
-     violation by some reasonable means, this is the first time you have
-     received notice of violation of this License (for any work) from
-     that copyright holder, and you cure the violation prior to 30 days
-     after your receipt of the notice.
-
-     Termination of your rights under this section does not terminate
-     the licenses of parties who have received copies or rights from you
-     under this License.  If your rights have been terminated and not
-     permanently reinstated, receipt of a copy of some or all of the
-     same material does not give you any rights to use it.
-
-  10. FUTURE REVISIONS OF THIS LICENSE
-
-     The Free Software Foundation may publish new, revised versions of
-     the GNU Free Documentation License from time to time.  Such new
-     versions will be similar in spirit to the present version, but may
-     differ in detail to address new problems or concerns.  See
-     <http://www.gnu.org/copyleft/>.
-
-     Each version of the License is given a distinguishing version
-     number.  If the Document specifies that a particular numbered
-     version of this License "or any later version" applies to it, you
-     have the option of following the terms and conditions either of
-     that specified version or of any later version that has been
-     published (not as a draft) by the Free Software Foundation.  If the
-     Document does not specify a version number of this License, you may
-     choose any version ever published (not as a draft) by the Free
-     Software Foundation.  If the Document specifies that a proxy can
-     decide which future versions of this License can be used, that
-     proxy's public statement of acceptance of a version permanently
-     authorizes you to choose that version for the Document.
-
-  11. RELICENSING
-
-     "Massive Multiauthor Collaboration Site" (or "MMC Site") means any
-     World Wide Web server that publishes copyrightable works and also
-     provides prominent facilities for anybody to edit those works.  A
-     public wiki that anybody can edit is an example of such a server.
-     A "Massive Multiauthor Collaboration" (or "MMC") contained in the
-     site means any set of copyrightable works thus published on the MMC
-     site.
-
-     "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
-     license published by Creative Commons Corporation, a not-for-profit
-     corporation with a principal place of business in San Francisco,
-     California, as well as future copyleft versions of that license
-     published by that same organization.
-
-     "Incorporate" means to publish or republish a Document, in whole or
-     in part, as part of another Document.
-
-     An MMC is "eligible for relicensing" if it is licensed under this
-     License, and if all works that were first published under this
-     License somewhere other than this MMC, and subsequently
-     incorporated in whole or in part into the MMC, (1) had no cover
-     texts or invariant sections, and (2) were thus incorporated prior
-     to November 1, 2008.
-
-     The operator of an MMC Site may republish an MMC contained in the
-     site under CC-BY-SA on the same site at any time before August 1,
-     2009, provided the MMC is eligible for relicensing.
-
-ADDENDUM: How to use this License for your documents
-====================================================
-
-To use this License in a document you have written, include a copy of
-the License in the document and put the following copyright and license
-notices just after the title page:
-
-       Copyright (C)  YEAR  YOUR NAME.
-       Permission is granted to copy, distribute and/or modify this document
-       under the terms of the GNU Free Documentation License, Version 1.3
-       or any later version published by the Free Software Foundation;
-       with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
-       Texts.  A copy of the license is included in the section entitled ``GNU
-       Free Documentation License''.
-
-   If you have Invariant Sections, Front-Cover Texts and Back-Cover
-Texts, replace the "with...Texts."  line with this:
-
-         with the Invariant Sections being LIST THEIR TITLES, with
-         the Front-Cover Texts being LIST, and with the Back-Cover Texts
-         being LIST.
-
-   If you have Invariant Sections without Cover Texts, or some other
-combination of the three, merge those two alternatives to suit the
-situation.
-
-   If your document contains nontrivial examples of program code, we
-recommend releasing these examples in parallel under your choice of free
-software license, such as the GNU General Public License, to permit
-their use in free software.
-
-
-File: gpr-mode.info,  Node: Index,  Prev: GNU Free Documentation License,  Up: 
Top
-
-Index
-*****
-
-[index]
-* Menu:
-
-* ff-find-other-file:                    Moving Through Gpr Code.
-                                                               (line 10)
-
-
-
-Tag Table:
-Node: Top952
-Node: Overview1227
-Node: Installation1786
-Node: Customization2226
-Node: Moving Through Gpr Code4151
-Node: Identifier completion4719
-Node: Indentation5753
-Node: Statement skeletons6656
-Node: GNU Free Documentation License7269
-Node: Index32431
-
-End Tag Table
-
-
-Local Variables:
-coding: utf-8
-End:
diff --git a/packages/ada-mode/gpr-mode.texi b/packages/ada-mode/gpr-mode.texi
deleted file mode 100644
index da6b27f..0000000
--- a/packages/ada-mode/gpr-mode.texi
+++ /dev/null
@@ -1,256 +0,0 @@
-\input texinfo  @c -*-texinfo-*-
-@settitle gpr Mode
-
-@copying
-Copyright @copyright{} 2013, 2019  Free Software Foundation, Inc.
-
-@quotation
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.3 or
-any later version published by the Free Software Foundation; with no
-Invariant Sections, with the Front-Cover texts being ``A GNU Manual'',
-and with the Back-Cover Texts as in (a) below.  A copy of the license
-is included in the section entitled ``GNU Free Documentation License''.
-
-(a) The FSF's Back-Cover Text is: ``You have the freedom to copy and
-modify this GNU manual.  Buying copies from the FSF supports it in
-developing GNU and promoting software freedom.''
-@end quotation
-@end copying
-
-@dircategory Emacs
-@direntry
-* gpr mode: (gpr-mode).         Emacs mode for editing and navigating gpr 
files (gnat project files).
-@end direntry
-
-@titlepage
-@sp 10
-@title gpr Mode
-@sp 2
-@subtitle An Emacs major mode for editing and navigating gpr files
-@sp 2
-@page
-@vskip 0pt plus 1filll
-@insertcopying
-@end titlepage
-
-@contents
-
-@ifnottex
-@node Top, Overview, (dir), (dir)
-@end ifnottex
-
-@menu
-* Overview::
-* Installation::
-* Customization::
-* Moving Through Gpr Code::
-* Identifier completion::
-* Indentation::
-* Statement skeletons::
-* GNU Free Documentation License::
-* Index::
-@end menu
-
-@node Overview, Installation, Top, Top
-@chapter Overview
-gpr files are the project files used by the GNAT compiler and
-associated tools. They describe search paths, compiler options, etc.
-
-@xref{GNAT Project Manager,,GNAT Project Manager,gnat_ugn,GNAT Pro
-User's Guide}, for general information on gpr files.
-
-The Emacs mode for gpr files helps the user in reading
-existing code and facilitates writing new code.
-
-When you open a file with a file extension of @file{.gpr}, Emacs will
-automatically load and activate gpr mode.
-
-@node Installation, Customization, Overview, Top
-@chapter Installation
-
-gpr mode is distributed in the Gnu ELPA package archive, bundled with
-Ada mode; it can be installed via @code{M-x list-packages}
-(@pxref{Packages,,,emacs,Emacs User Guide}).
-
-gpr mode does not have a separate version; it uses the Ada mode
-version number. To see what version of Ada mode you have installed, do
-@kbd{M-x ada-mode-version}.
-
-@node Customization, Moving Through Gpr Code, Installation, Top
-@chapter Customization
-
-Indentation variables for gpr mode can be set via the menu @samp{gpr |
-Customize} from a gpr mode buffer.  Click on the @samp{Help} button
-there for help on using customize. @xref{Indentation}.
-
-To modify a specific variable, you can directly call the function
-@code{customize-variable}; just type @kbd{M-x customize-variable
-@key{RET} @var{variable-name} @key{RET}}).
-
-Alternately, you can specify variable settings in the Emacs
-configuration file, @file{~/.emacs}. This file is coded in Emacs lisp,
-and the syntax to set a variable is the following:
-@example
-(setq variable-name value)
-@end example
-
-Some general Emacs settings that are useful for gpr files:
-@table @code
-@item delete-trailing-whitespace
-Deletes space, tab at end of line and blank lines at end of buffer.
-@item untabify
-Deletes tab characters that have crept into the file.
-@item indent-tabs-mode
-Don't insert tab characters when indenting.
-@item hippie-expand
-Bind @code{hippie-expand} to a key; it expands the word before point,
-using words from current buffer, other buffers, file names, etc; see
-@code{hippie-expand-try-functions-list}. You can also add
-@code{wisi-skel-hippie-try} to that list (@pxref{Statement skeletons}).
-@end table
-
-The above can all be set by the following code in your
-@file{~/.emacs}. Note that some are functions are added to
-@code{before-save-hook}; they run just before a buffer is written to disk.
-@example
-(setq-default indent-tabs-mode nil)
-(require 'gpr-mode)
-(add-to-list 'hippie-expand-try-functions-list 'wisi-skel-hippie-try)
-(define-key gpr-mode-map "\C-e"     'hippie-expand)
-(add-hook 'gpr-mode-hook
-   (lambda ()
-    (add-hook 'before-save-hook 'delete-trailing-whitespace nil t)
-    (add-hook 'before-save-hook
-              (lambda () (untabify (point-min) (point-max)))
-               nil t)))
-@end example
-
-@node Moving Through Gpr Code, Identifier completion, Customization, Top
-@chapter Moving Through Gpr Code
-
-These commands navigate through gpr code. All these functions are
-available through the gpr menu and keybindings.
-
-@table @kbd
-@item C-c C-o
-@findex ff-find-other-file
-If point is on a @code{with} clause, position point on the
-corresponding package declaration.
-
-@item C-u SPACE
-Jump back to the previous location.
-
-@item C-M-f
-Move to the end of the current declaration.
-
-@item C-M-b
-Move to the start of the current declaration.
-
-@end table
-
-@node Identifier completion, Indentation, Moving Through Gpr Code, Top
-@chapter Identifier completion
-
-Emacs provides a general way of completing identifiers: @kbd{M-/}
-(bound to @code{dabbrev-expand}). This is an easy way to type faster:
-you just have to type the first few letters of an identifier, and then
-loop through all the possible completions.
-
-If you have bound @code{hippie-expand}, that also uses
-@code{dabbrev-expand}.
-
-@kbd{M-/} works by parsing all open gpr files for possible
-completions.
-
-For instance, if the words @samp{my_identifier} and @samp{my_subprogram}
-are the only words starting with @samp{my} in any of the open gpr files,
-then you will have this scenario:
-
-@example
-You type:  my@kbd{M-/}
-Emacs inserts:  @samp{my_identifier}
-If you press @kbd{M-/} once again, Emacs replaces @samp{my_identifier} with
-@samp{my_subprogram}.
-Pressing @kbd{M-/} once more will bring you back to @samp{my_identifier}.
-@end example
-
-This is a very fast way to do completion, and the casing of words will
-also be respected.
-
-@node Indentation, Statement skeletons, Identifier completion, Top
-@chapter Indentation
-
-gpr mode comes with a full set of rules for automatic indentation. You
-can also configure the indentation, via the following variables:
-
-@table @asis
-@item @code{gpr-indent}                  (default value: 3)
-Number of columns for default indentation.
-
-@item @code{gpr-indent-broken}           (default value: 2)
-Number of columns to indent the continuation of a broken line.
-
-@item @code{gpr-indent-when}             (default value: 3)
-Indentation for @code{when} relative to @code{case}.
-
-@end table
-
-The following keys indent portions of the text:
-@table @kbd
-
-@item RET
-Insert and indent a new line.
-
-@item TAB
-Indent the current line, or the current region.
-
-@item C-c TAB
-Indent the current declaration.
-
-@end table
-
-The indentation algorithm relies on an error-correcting grammar parser
-to identify the syntactic role for keywords and other words in the
-code.
-
-@node Statement skeletons, GNU Free Documentation License, Indentation, Top
-@chapter Statement skeletons
-
-@kbd{C-c C-e} expands the previous one or two words into a statment
-skeleton. For example, @kbd{c a s e C-c C-e} expands to:
-
-@example
-case  is
-when =>
-end case;
-@end example
-
-For named packages, the name is taken from
-the word before point, and the package keyword from the word
-before that:
-
-@example
-package A_Package
-@end example
-
-expands to:
-
-@example
-package A_Package is
-end A_Package;
-@end example
-
-Some expansions prompt for more information, such as
-a choice of license.
-
-@node GNU Free Documentation License, Index, Statement skeletons, Top
-@appendix GNU Free Documentation License
-@include doclicense.texi
-
-@node Index,  , GNU Free Documentation License, Top
-@unnumbered Index
-
-@printindex fn
-
-@bye
diff --git a/packages/ada-mode/gpr-process.el b/packages/ada-mode/gpr-process.el
deleted file mode 100644
index aa9db63..0000000
--- a/packages/ada-mode/gpr-process.el
+++ /dev/null
@@ -1,145 +0,0 @@
-;;; gpr-process.el --- Generated parser support file  -*- lexical-binding:t -*-
-;;  command line: wisitoken-bnf-generate.exe  --generate LR1 Ada_Emacs re2c 
PROCESS gpr.wy
-
-;;  Copyright (C) 2013 - 2020 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
-;;  published by the Free Software Foundation; either version 3, or (at
-;;  your option) any later version.
-;;
-;;  This software 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 'wisi-process-parse)
-
-(defconst gpr-process-token-table
-  [WHITESPACE
-   NEW_LINE
-   COMMENT
-   ABSTRACT
-   AT
-   AGGREGATE
-   CASE
-   CONFIGURATION
-   END
-   EXTENDS
-   EXTERNAL
-   EXTERNAL_AS_LIST
-   FOR
-   IS
-   LEFT_PAREN
-   LIBRARY
-   NULL
-   OTHERS
-   PACKAGE
-   PROJECT
-   RENAMES
-   RIGHT_PAREN
-   STANDARD
-   TYPE
-   USE
-   WHEN
-   WITH
-   AMPERSAND
-   COLON
-   COLON_EQUALS
-   COMMA
-   DOT
-   EQUAL_GREATER
-   QUOTE
-   SEMICOLON
-   VERTICAL_BAR
-   NUMERIC_LITERAL
-   IDENTIFIER
-   STRING_LITERAL
-   Wisi_EOI
-   wisitoken_accept
-   aggregate_g
-   attribute_declaration
-   attribute_prefix
-   attribute_reference
-   case_statement
-   case_item
-   case_items
-   compilation_unit
-   context_clause
-   context_clause_opt
-   declarative_item
-   declarative_items
-   declarative_items_opt
-   discrete_choice
-   discrete_choice_list
-   expression
-   external_value
-   identifier_opt
-   name
-   package_declaration
-   package_spec
-   package_extension
-   package_renaming
-   project_declaration_opt
-   project_extension
-   project_qualifier_opt
-   simple_declarative_item
-   simple_project_declaration
-   string_primary
-   string_list
-   term
-   typed_string_declaration
-   with_clause
-   ])
-
-(defconst gpr-process-face-table
-  [
-   font-lock-function-name-face
-   font-lock-keyword-face
-   nil
-   ])
-
-(defconst gpr-process-repair-image
-  '(
-   (ABSTRACT . "abstract")
-   (AT . "at")
-   (AGGREGATE . "aggregate")
-   (CASE . "case")
-   (CONFIGURATION . "configuration")
-   (END . "end")
-   (EXTENDS . "extends")
-   (EXTERNAL . "external")
-   (EXTERNAL_AS_LIST . "external_as_list")
-   (FOR . "for")
-   (IS . "is")
-   (LEFT_PAREN . "(")
-   (LIBRARY . "library")
-   (NULL . "null")
-   (OTHERS . "others")
-   (PACKAGE . "package")
-   (PROJECT . "project")
-   (RENAMES . "renames")
-   (RIGHT_PAREN . ")")
-   (STANDARD . "standard")
-   (TYPE . "type")
-   (USE . "use")
-   (WHEN . "when")
-   (WITH . "with")
-   (AMPERSAND . "&")
-   (COLON . ":")
-   (COLON_EQUALS . ":=")
-   (COMMA . ",")
-   (DOT . ".")
-   (EQUAL_GREATER . "=>")
-   (QUOTE . "'")
-   (SEMICOLON . ";")
-   (VERTICAL_BAR . "|")
-   (NUMERIC_LITERAL . "1234567890")
-   (IDENTIFIER . "A_Bogus_Identifier")
-   (STRING_LITERAL . "\"\"")
-   ))
-
-(provide 'gpr-process)
diff --git a/packages/ada-mode/gpr-query.el b/packages/ada-mode/gpr-query.el
deleted file mode 100644
index 4c2570f..0000000
--- a/packages/ada-mode/gpr-query.el
+++ /dev/null
@@ -1,1026 +0,0 @@
-;; gpr-query.el --- Minor mode for navigating sources using gpr_query  -*- 
lexical-binding:t -*-
-;;
-;; gpr-query supports Ada and any gcc language that supports the
-;; AdaCore -fdump-xref switch (which includes C, C++).
-;;
-;; Copyright (C) 2013 - 2020  Free Software Foundation, Inc.
-
-;; Author: Stephen Leake <stephen_leake@member.fsf.org>
-;; Maintainer: Stephen Leake <stephen_leake@member.fsf.org>
-
-;; This file is part of GNU Emacs.
-
-;; GNU Emacs is free software: you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; GNU Emacs is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
-
-;;; Usage:
-;;
-;; M-x gpr-query
-
-(require 'cl-lib)
-(require 'compile)
-(require 'gnat-core)
-(require 'xref)
-(require 'wisi-prj)
-
-(defgroup gpr-query nil
-  "gpr_query cross reference tool"
-  :group 'tools)
-
-(defcustom gpr-query-exec "gpr_query"
-  "Executable for gpr_query."
-  :type 'string)
-
-(defcustom gpr-query-env nil
-  "Environment variables needed by the gpr_query executable.
-Value must be a list where each element is \"<name>=<value>\""
-  ;; This could also be provided as a project file setting, But it is
-  ;; intended for LD_LIBRARY_PATH (info "(ada-mode)Ada executables"),
-  ;; which must be set for all projects on the system.
-  :type 'string)
-
-(defconst gpr-query-protocol-version "3"
-  "Defines data exchanged between this package and the background process.
-Must match gpr_query.adb Version.")
-
-;;;;; sessions
-
-;; gpr_query reads the project files and the database at startup,
-;; which is noticeably slow for a reasonably sized project. But
-;; running queries after startup is fast. So we leave gpr_query
-;; running, and send it new queries via stdin, getting responses via
-;; stdout.
-;;
-;; We maintain a cache of active sessions, one per gnat project.
-
-(cl-defstruct (gpr-query--session)
-  gpr-file ;; string absolute file name
-  process-env ;; copy of process-environment used to start a process
-  (xref-process nil) ;; running gpr_query, for xrefs; default-directory gives 
location of db
-  (symbols-process nil);; runs 'complete' gpr_query command to get 
symbol-locs, symbols; then dies.
-
-  symbol-locs ;; alist completion table, with locations; see 
gpr-query--read-symbols
-  symbols ;; just symbols compeltion table; see gpr-query--read-symbols
-  symbols-count-total
-  symbols-count-current
-  symbols-percent-last-update
-  )
-
-;; Starting the buffer name with a space hides it from some lists, and
-;; also disables font-lock. We sometimes use it to display xref
-;; locations in compilation-mode, so we want font-lock enabled.
-(defconst gpr-query-buffer-name-prefix "*gpr_query-")
-
-(defconst gpr-query-prompt "^>>> $"
-  ;; gpr_query output ends with this
-  "Regexp matching gpr_query prompt; indicates previous command is complete.")
-
-(defvar gpr-query--debug nil)
-
-(defvar-local gpr-query--local-session nil
-  "Buffer-local in gpr-query process buffer; the current session.")
-
-(defun gpr-query--check-startup ()
-  ;; current buffer is process output buffer
-  (goto-char (point-min))
-  (if (search-forward-regexp "version: \\([0-9]+\\)$" nil t)
-      (unless (string-equal (match-string 1) gpr-query-protocol-version)
-       (user-error "gpr-query version mismatch: elisp %s process %s"
-                   gpr-query-protocol-version
-                   (match-string 1)))
-    (user-error "'%s' is an old version (did not output version); expecting %s"
-               gpr-query-exec
-               gpr-query-protocol-version))
-
-  ;; Check for warnings about invalid directories etc. But some
-  ;; warnings are tolerable, so only abort if process actually
-  ;; died.
-  (goto-char (point-min))
-  (when (search-forward "warning:" nil t)
-    (if debug-on-error
-       (error "gpr_query warnings")
-      (beep)
-      (message "gpr_query warnings"))))
-
-(defun gpr-query--xref-filter (process text)
-  "Process filter for xref-process."
-  ;; First, wait for startup to complete, indicated by receiving the
-  ;; first prompt.  Then start the symbols process; it does the same
-  ;; startup, which is faster after the xref startup due to disk
-  ;; caching. Then unregister the filter; it is not needed any more.
-  (when (buffer-name (process-buffer process))
-    ;; process buffer is not dead
-    (with-current-buffer (process-buffer process)
-      (let ((search-start (marker-position (process-mark process))))
-        (save-excursion
-          (goto-char (process-mark process))
-          (insert text)
-          (set-marker (process-mark process) (point)))
-
-       ;; Wait for current command (or startup) to finish, do next
-       ;; action.
-       (goto-char search-start)
-       ;; back up a line in case we got part of the prompt previously.
-       (forward-line -1)
-       (when (re-search-forward gpr-query-prompt (point-max) 1)
-         ;; startup completed
-         (gpr-query--check-startup)
-         (set-process-filter process nil)
-
-         ;; start the symbols process to get the symbols
-         (gpr-query--start-process gpr-query--local-session 'symbols)
-         )))))
-
-(defvar gpr-query--symbols-progress ""
-  ;; We assume only one gpr-query symbols process is active at a time
-  "For `mode-line-misc-info'.")
-
-(defun gpr-query--update-progress ()
-  ;; separate for debugging
-  (setf (gpr-query--session-symbols-count-current gpr-query--local-session)
-       (+ (gpr-query--session-symbols-count-current gpr-query--local-session)
-          (count-lines (point) (point-max))))
-  (let ((percent
-        (/
-         (* 100 (gpr-query--session-symbols-count-current 
gpr-query--local-session))
-            (gpr-query--session-symbols-count-total 
gpr-query--local-session))))
-    (when (< (+ 5 (gpr-query--session-symbols-percent-last-update 
gpr-query--local-session))
-            percent)
-      (setf (gpr-query--session-symbols-percent-last-update 
gpr-query--local-session) percent)
-      (setq gpr-query--symbols-progress (format "symbols %d%%" percent))
-      (force-mode-line-update)
-      (redisplay t)
-      )))
-
-(defun gpr-query--symbols-filter (process text)
-  "Process filter for symbols process."
-  (when (buffer-name (process-buffer process))
-    ;; process buffer is not dead
-    (with-current-buffer (process-buffer process)
-      (let ((search-start (marker-position (process-mark process))))
-        (save-excursion
-          (goto-char (process-mark process))
-          (insert text)
-          (set-marker (process-mark process) (point)))
-
-       ;; Update session progress slots
-       (when (eq (gpr-query--session-symbols gpr-query--local-session) 
'sent-complete)
-         (cond
-          ((null (gpr-query--session-symbols-count-total 
gpr-query--local-session))
-           (goto-char search-start)
-           ;; back up a line in case we got part of the line previously.
-           (forward-line -1)
-
-           (when (re-search-forward "element count \\([0-9]+\\)" (point-max) t)
-             (setf (gpr-query--session-symbols-count-total 
gpr-query--local-session)
-                   (string-to-number (match-string 1)))
-             (setf (gpr-query--session-symbols-count-current 
gpr-query--local-session) 0)
-             (setf (gpr-query--session-symbols-percent-last-update 
gpr-query--local-session) 0)
-             ))
-          (t
-           (gpr-query--update-progress)
-           )
-          ))
-
-       ;; Wait for last command to finish.
-       (goto-char search-start)
-       (forward-line -1)
-       (when (re-search-forward gpr-query-prompt (point-max) t)
-         (cond
-          ((null (gpr-query--session-symbols gpr-query--local-session))
-           ;; startup complete; get symbols
-            (gpr-query--check-startup)
-            (erase-buffer)
-            (set-marker (process-mark process) (point-min))
-            (setf (gpr-query--session-symbols-count-total 
gpr-query--local-session) nil)
-            (process-send-string process "complete \"\"\n")
-            (setf (gpr-query--session-symbols gpr-query--local-session) 
'sent-complete))
-
-          ((eq (gpr-query--session-symbols gpr-query--local-session) 
'sent-complete)
-           (gpr-query--read-symbols gpr-query--local-session)
-           (set-process-filter process nil)
-           (process-send-string process "exit\n"))
-
-          ))
-       ))))
-
-(defun gpr-query--start-process (session command-type)
-  "Start a session process running gpr_query. COMMAND-TYPE is 'xref or 
'symbols."
-  (unless (locate-file gpr-query-exec exec-path '("" ".exe"))
-    (user-error "'%s' not found on PATH" gpr-query-exec))
-
-  (when gpr-query--debug
-    (message "gpr-query-start %s" command-type))
-
-  ;; Reuse existing buffer if possible
-  (let* ((gpr-file (gpr-query--session-gpr-file session))
-        (process
-         (cl-ecase command-type
-           (xref (gpr-query--session-xref-process session))
-           (symbols (gpr-query--session-symbols-process session))))
-        (buffer (and process (process-buffer process)))
-        (process-environment (gpr-query--session-process-env session)))
-
-    (unless (buffer-live-p buffer)
-      ;; User may have killed buffer, which kills process
-      (let ((name (concat "*gpr-query-" (symbol-name command-type) "*-" 
gpr-file)))
-       (setq buffer (get-buffer-create name))
-       (with-current-buffer buffer
-         (setq default-directory (file-name-directory gpr-file))
-         (compilation-mode) ;; kills all local variables, requires 
default-directory
-         (setq gpr-query--local-session session)
-         (setq buffer-read-only nil))))
-
-    (with-current-buffer buffer
-      (erase-buffer); delete any previous messages, prompt
-      (setf (gpr-query--session-symbol-locs session) nil)
-      (setf (gpr-query--session-symbols session) nil)
-      (setq process
-           (apply #'start-process
-                  (buffer-name)
-                  buffer
-                  gpr-query-exec
-                  (cl-delete-if
-                   'null
-                   (list
-                    (concat "--project=" (file-name-nondirectory gpr-file))
-                    (when gpr-query--debug
-                      "--tracefile=gpr_query.trace"
-                      ;; The file gpr_query.trace should contain: gpr_query=yes
-                      )))))
-      (cl-ecase command-type
-       (xref
-        (setf (gpr-query--session-xref-process session) process)
-        (set-process-filter process #'gpr-query--xref-filter))
-       (symbols
-        (setf (gpr-query--session-symbols-process session) process)
-        (set-process-filter process #'gpr-query--symbols-filter)))
-
-      (set-process-query-on-exit-flag process nil)
-      )))
-
-(defun gpr-query--make-session (project)
-  "Create and return a session for the current project file."
-  (let ((session
-        (make-gpr-query--session
-         :gpr-file (gnat-compiler-gpr-file (wisi-prj-xref project))
-         :process-env (copy-sequence
-                       (append
-                        (wisi-prj-compile-env project)
-                        (wisi-prj-file-env project)
-                        gpr-query-env
-                        process-environment)))))
-    (gpr-query--start-process session 'xref)
-    session))
-
-(defvar gpr-query--sessions '()
-  "Assoc list of sessions, indexed by absolute GNAT project file name.")
-
-(defun gpr-query-cached-session (project)
-  "Return a session for PROJECT, creating it if necessary."
-  (let* ((gpr-file (gnat-compiler-gpr-file (wisi-prj-xref project)))
-        (session (cdr (assoc gpr-file gpr-query--sessions))))
-    (if session
-       (progn
-         (unless (process-live-p (gpr-query--session-xref-process session))
-           (gpr-query--start-process session 'xref))
-         session)
-      ;; else
-      (prog1
-          (setq session (gpr-query--make-session project))
-       (push (cons gpr-file session) gpr-query--sessions)))
-    ))
-
-(defun gpr-query-session-wait (session command-type)
-  "Wait for the current COMMAND-TYPE (one of 'xref or 'symbols) command to 
complete."
-  (when (and
-        (eq command-type 'symbols)
-        (null (gpr-query--session-symbols-process session)))
-    ;; The symbols process is not started until the xref process
-    ;; returns its first prompt.
-    (gpr-query-session-wait session 'xref))
-
-  (let ((process
-        (cl-ecase command-type
-          (xref (gpr-query--session-xref-process session))
-          (symbols (gpr-query--session-symbols-process session))))
-       search-start
-       (done nil)
-       (wait-count 0))
-
-    (unless (process-live-p process)
-      (gpr-query--show-buffer session command-type)
-      (error "gpr-query process died"))
-
-    (with-current-buffer (process-buffer process)
-      (setq search-start (point-min))
-      (when (eq command-type 'symbols)
-       ;; show progress in mode line
-       (setq gpr-query--symbols-progress "")
-       (add-to-list 'mode-line-misc-info '("" gpr-query--symbols-progress " "))
-       (force-mode-line-update)
-       (redisplay))
-
-      (while (and (process-live-p process)
-                 (not done))
-       (message (concat "running gpr_query ..." (make-string wait-count ?.)))
-
-       ;; process output is inserted before point, so move back over it to 
search it
-       (goto-char search-start)
-       (if (re-search-forward gpr-query-prompt (point-max) 1)
-           (setq done t)
-         ;; else wait for more input
-         (unless (accept-process-output process 1.0)
-           ;; accept-process returns non-nil when we got output, so we
-           ;; did not wait for timeout.
-           (setq wait-count (1+ wait-count))
-           ))
-       ))
-
-    (when (eq command-type 'symbols)
-      (setq mode-line-misc-info (delete '("" gpr-query--symbols-progress " ") 
mode-line-misc-info)))
-
-    (if (or (eq command-type 'symbols);; symbols process is supposed to die
-           (process-live-p process))
-       (message (concat "running gpr_query ... done"))
-      (gpr-query--show-buffer session command-type)
-      (error "gpr_query process died"))
-    ))
-
-(defun gpr-query--session-send (session cmd wait)
-  "Send CMD to SESSION gpr_query xref process.
-If WAIT is non-nil, wait for command to complete.
-Return buffer that holds output."
-  ;; Always wait for previous command to complete; also checks for
-  ;; dead process.
-  (gpr-query-session-wait session 'xref)
-  (when gpr-query--debug
-    (message "gpr-query-send: %s" cmd))
-  (with-current-buffer (process-buffer (gpr-query--session-xref-process 
session))
-    (erase-buffer)
-    (process-send-string (gpr-query--session-xref-process session)
-                        (concat cmd "\n"))
-    (when wait
-      (gpr-query-session-wait session 'xref))
-    (current-buffer)
-    ))
-
-(defun gpr-query--kill-process (process)
-  "Kill a gpr-query process nicely.
-Returns t if the process was live."
-  (when (process-live-p process)
-    (process-send-string process "exit\n")
-    (while (process-live-p process)
-      (accept-process-output process 1.0))
-    t))
-
-(defun gpr-query-kill-session (session)
-  "Kill the background process of SESSION.
-Return t if the process was live."
-  (setf (gpr-query--session-symbol-locs session) nil)
-  (setf (gpr-query--session-symbols session) nil)
-  (let (result)
-    (setq result (gpr-query--kill-process (gpr-query--session-xref-process 
session)))
-    (setq result (or result
-                    (gpr-query--kill-process 
(gpr-query--session-symbols-process session))))
-    result))
-
-(defun gpr-query-kill-all-sessions ()
-  (interactive)
-  (let ((count 0))
-    (mapc (lambda (assoc)
-          (when (gpr-query-kill-session (cdr assoc))
-            (setq count (1+ count))))
-         gpr-query--sessions)
-    (message "Killed %d sessions" count)
-    ))
-
-(defun gpr-query--show-buffer (session command-type)
-  (cl-ecase command-type
-    (xref (pop-to-buffer (process-buffer (gpr-query--session-xref-process 
session))))
-    (symbols (pop-to-buffer (process-buffer 
(gpr-query--session-symbols-process session))))))
-
-;;;;; utils
-
-(defun gpr-query-get-src-dirs (project src-dirs)
-  "Append list of source dirs in gpr project PROJECT to SRC-DIRS.
-Uses `gpr_query'. Returns new list."
-
-  (let ((session (gpr-query-cached-session project)))
-    (with-current-buffer (gpr-query--session-send session "source_dirs" t)
-      (goto-char (point-min))
-      (while (not (looking-at gpr-query-prompt))
-       (cl-pushnew
-        (expand-file-name ; Canonicalize path part.
-         (directory-file-name
-          (buffer-substring-no-properties (point) (point-at-eol))))
-        src-dirs :test #'equal)
-       (forward-line 1))
-      ))
-  src-dirs)
-
-(defun gpr-query-get-prj-dirs (project prj-dirs)
-  "Append list of project dirs in gpr project PROJECT to PRJ-DIRS.
-Uses `gpr_query'. Returns new list."
-
-  (let ((session (gpr-query-cached-session project)))
-    (with-current-buffer (gpr-query--session-send session "project_path" t)
-      (goto-char (point-min))
-      (while (not (looking-at gpr-query-prompt))
-       (cl-pushnew
-        (let ((dir (buffer-substring-no-properties (point) (point-at-eol))))
-          (if (string= dir ".")
-              (directory-file-name default-directory)
-            (expand-file-name dir))) ; Canonicalize path part.
-        prj-dirs
-        :test #'equal)
-       (forward-line 1))
-      ))
-  prj-dirs)
-
-(defconst gpr-query-ident-file-regexp-alist
-  (list (concat "^" wisi-file-line-col-regexp) 1 2 3)
-  "For compilation-error-regexp-alist, matching gpr_query output")
-
-(defconst gpr-query-ident-file-type-regexp
-  (concat wisi-file-line-col-regexp " (\\(.*\\))")
-  "Regexp matching <file>:<line>:<column> (<type>)")
-
-(defconst gpr-query--symbol-char "[-+*/=<>&[:alnum:]_.]")
-
-(defconst gpr-query-completion-regexp
-  (concat "\\(" gpr-query--symbol-char "+\\)\\((.*)\\)?<.*<[0-9]+>>")
-  "Regexp matching completion item from gpr-query--read-symbols.")
-
-(defun gpr-query--read-symbols (session)
-  "Read result of gpr_query 'complete' command, store completion table in 
SESSION."
-  (let ((symbol-locs nil)
-       (symbols nil))
-    ;; The gpr_query 'complete' command returns a fully qualified name
-    ;; and declaration location for each name:
-    ;;
-    ;; Wisi.Ada.Ada_Indent_Aggregate.Args 
C:\Projects\org.emacs.ada-mode\wisi-ada.ads:102:7
-    ;;
-    ;; For subprograms it includes the parameters (but not a function result):
-    ;;
-    ;; Gpr_Query.Process_Command_Single(Args) 
C:\Projects\org.emacs.ada-mode\gpr_query.adb:109:14
-    ;;
-    ;; Build a completion table as an alist of:
-    ;;
-    ;;    (simple_name(args)<prefix<line>> . location).
-    ;;
-    ;; The car matches wisi-xref-completion-regexp.
-    ;;
-    ;; We include the line number to make each name unique. This
-    ;; doesn't work for one-line parameter lists, variable
-    ;; declaration lists and similar, but they should be
-    ;; unique names anyway.
-    (goto-char (point-min))
-
-    (while (not (eobp))
-      (cond
-       ;; FIXME: dispatch on language
-       ((looking-at (concat "\\(" gpr-query--symbol-char "+\\)"    ;; 1: prefix
-                           "\\.\\(" gpr-query--symbol-char "+\\)" ;; 2: simple 
name
-                           "\\((.*)\\)? "                         ;; 3: args,
-                           wisi-file-line-col-regexp))            ;; 4, 5, 6 
file:line:col
-       ;; process line
-       (push (match-string-no-properties 2) symbols)
-       (push
-        (cons (concat (match-string-no-properties 2)
-                      (match-string-no-properties 3)
-                      "<" (match-string-no-properties 1) "<" 
(match-string-no-properties 5) ">>")
-              (list (gpr-query--normalize-filename (match-string-no-properties 
4))
-                    (string-to-number (match-string 5))
-                    (1- (string-to-number (match-string 6)))))
-        symbol-locs))
-
-       (t ;; ignore line
-       )
-       )
-      (forward-line 1))
-
-    (setf (gpr-query--session-symbol-locs session) symbol-locs)
-    (setf (gpr-query--session-symbols session) (delete-dups symbols))))
-
-(defun gpr-query-compilation (project identifier file line col cmd comp-err 
&optional local_only append)
-  "Run gpr_query CMD IDENTIFIER:FILE:LINE:COL,
-with compilation-error-regexp-alist set to COMP-ERR."
-  ;; Useful when gpr_query will return a list of references; the user
-  ;; can navigate to each result in turn via `next-error'.
-
-  ;; Emacs column is 0-indexed, gpr_query is 1-indexed.
-  (let* ((cmd-1 (concat (format "%s %s:%s:%d:%d"
-                               cmd identifier file line (1+ col))
-                       (when (member cmd '("refs"))
-                             (if local_only " local_only" " global"))
-                       (when (member cmd '("overriding" "overridden_by" 
"parent_types" "refs"))
-                             (if wisi-xref-full-path " full_file_names" " 
short_file_names"))))
-        (session (gpr-query-cached-session project))
-        (result-count 0)
-        start-pos prev-content
-        target-file target-line target-col)
-
-    (when append
-      (with-current-buffer (process-buffer (gpr-query--session-xref-process 
session))
-       ;; don't include trailing prompt in `prev-content'
-       (goto-char (point-max))
-       (forward-line 0)
-       (setq prev-content (buffer-substring (point-min) (point)))))
-
-    (with-current-buffer (gpr-query--session-send session cmd-1 t)
-      ;; point is at EOB. gpr_query returns one line per result plus prompt, 
warnings
-      (setq result-count (- (line-number-at-pos) 1))
-      (setq start-pos (point-min))
-
-      (setq buffer-read-only nil)
-      (when append
-       (goto-char (point-min))
-       (insert prev-content)
-       (setq start-pos (point))
-       (goto-char (point-max)))
-
-      (set (make-local-variable 'compilation-error-regexp-alist) (list 
comp-err))
-
-      (compilation--flush-parse (point-min) (point-max))
-      (compilation--ensure-parse (point-max))
-
-      (goto-char start-pos)
-
-      (cond
-       ((looking-at "^warning: ")
-       (setq result-count (1- result-count))
-       (forward-line 1))
-       ((looking-at "^Error: entity not found")
-       (user-error (buffer-substring-no-properties (line-beginning-position) 
(line-end-position))))
-       )
-
-      (cond
-       ((and (not append)
-            (= result-count 1))
-       ;; just go there, don't display session-buffer. We have to
-       ;; fetch the compilation-message while in the
-       ;; session-buffer. and call wisi-goto-source outside the
-       ;; with-current-buffer above.
-       (let* ((msg (compilation-next-error 0))
-               ;; IMPROVEME: '--' indicates internal-only. But we can't
-               ;; use compile-goto-error, because that displays the
-               ;; session-buffer.
-              (loc (compilation--message->loc msg)))
-         (setq target-file (caar (compilation--loc->file-struct loc))
-               target-line (caar (cddr (compilation--loc->file-struct loc)))
-               target-col  (1- (compilation--loc->col loc))
-               )
-         ))
-
-       ((= result-count 0)
-       (user-error "gpr_query returned no results"))
-
-       (t
-       ;; for next-error, below
-       (setq next-error-last-buffer (current-buffer)))
-
-       ));; case, with-currrent-buffer
-
-    (if (and (not append)
-            (= result-count 1))
-       (wisi-goto-source target-file target-line target-col)
-
-      ;; more than one result; display session buffer, goto first ref
-      ;;
-      ;; compilation-next-error-function assumes there is not an error
-      ;; at point-min; work around that by moving forward 0 errors for
-      ;; the first one. Unless the first line contains "warning: ".
-      (pop-to-buffer next-error-last-buffer)
-      (goto-char start-pos)
-      (unless append
-       (if (looking-at "^warning: ")
-           (next-error 1 t)
-         (next-error 0 t)))
-      )
-    ))
-
-(defun gpr-query-dist (found-line line found-col col)
-  "Return distance between FOUND-LINE FOUND-COL and LINE COL."
-  (+ (abs (- found-col col))
-     (* (abs (- found-line line)) 250)))
-
-(defvar gpr-query-map
-  (let ((map (make-sparse-keymap)))
-    ;; C-c C-i prefix for gpr-query minor mode
-
-    (define-key map "\C-c\C-i\C-d" 'gpr-query-goto-declaration)
-    (define-key map "\C-c\C-i\C-q" 'gpr-query-refresh)
-    (define-key map "\C-c\C-i\C-r" 'gpr-query-show-references)
-    ;; IMPROVEME: (define-key map "\C-c\M-d" 'gpr-query-parents)
-    ;; IMPROVEME: overriding
-    map
-  )  "Local keymap used for gpr query minor mode.")
-
-(defvar gpr-query-menu (make-sparse-keymap "gpr-query"))
-(easy-menu-define gpr-query-menu gpr-query-map "Menu keymap for gpr-query 
minor mode"
-  '("gpr-query"
-    ["Next xref"                     next-error                   t]
-    ["Goto declaration/body"         xref-find-definitions        t]
-    ["Show parent declarations"      wisi-show-declaration-parents t]
-    ["Show references"               wisi-show-references         t]
-    ["Show overriding"               wisi-show-overriding         t]
-    ["Show overridden"               wisi-show-overridden         t]
-    ["Refresh cross reference cache" wisi-refresh-prj-cache       t]
-    ))
-
-(define-minor-mode gpr-query
-  "Minor mode for navigating sources using GNAT cross reference tool.
-Enable mode if ARG is positive."
-  :initial-value t
-  :lighter       " gpr-query"   ;; mode line
-
-  ;; just enable the menu and keymap
-  )
-
-(defun gpr-query--normalize-filename (file)
-  "Convert FILE from native format to Emacs standard.
-FILE is from gpr-query."
-  ;; FILE must be abs
-  (cond
-   ((eq system-type 'windows-nt)
-    ;; 'expand-file-name' converts Windows directory
-    ;; separators to normal Emacs.
-    ;; FIXME: we used to downcase here; need use case. Counter use case:
-    ;; completion table matching (buffer-file-name) in wisi-filter-table
-    (expand-file-name file))
-
-   ((eq system-type 'darwin)
-    file)
-
-   (t ;; linux
-    file))
-  )
-
-;;;;; wisi-xref methods
-
-(cl-defstruct (gpr-query-xref (:include gnat-compiler))
-  ;; no new slots
-  )
-
-;;;###autoload
-(cl-defun create-gpr_query-xref (&key gpr-file)
-  ;; See note on `create-ada-prj' for why this is not a defalias.
-  (make-gpr-query-xref :gpr-file gpr-file))
-
-(cl-defmethod wisi-xref-parse-one ((xref gpr-query-xref) project name value)
-  (wisi-compiler-parse-one xref project name value))
-
-(cl-defmethod wisi-xref-parse-final ((xref gpr-query-xref) _project 
prj-file-name)
-  (unless (gnat-compiler-gpr-file xref)
-    (if (string= "gpr" (file-name-extension prj-file-name))
-       (setf (gnat-compiler-gpr-file xref) prj-file-name)
-      (user-error "using gpr-query xref, but no gpr file provided"))))
-
-(cl-defmethod wisi-xref-select-prj ((_xref gpr-query-xref) project)
-  ;; Start the process if needed; it will read the db and return the
-  ;; symbols in the background.
-  (gpr-query-cached-session project)
-  nil)
-
-(cl-defmethod wisi-xref-refresh-cache ((_xref gpr-query-xref) project no-full)
-  ;; Kill the current session and delete the database, to get changed
-  ;; env vars etc when it restarts.
-  ;;
-  ;; We need to delete the database files if the compiler version
-  ;; changed, or the database was built with an incorrect environment
-  ;; variable, or something else screwed up. However, rebuilding after
-  ;; that is a lot slower, so we only do that with permission.
-  (let* ((session (gpr-query-cached-session project))
-        (db-filename
-         (with-current-buffer (gpr-query--session-send session "db_name" t)
-           (goto-char (point-min))
-           (buffer-substring-no-properties (line-beginning-position) 
(line-end-position)))))
-
-    ;; We have to kill the process to delete the database. If we are
-    ;; not deleting the db, this is an easy way to refresh everything
-    ;; else.
-    (gpr-query-kill-session session)
-    (when (and (not no-full)
-              (file-exists-p db-filename))
-      (delete-file db-filename))
-
-    (gpr-query--start-process session 'xref)
-    ))
-
-(defun gpr-query-tree-refs (project item op)
-  "Run gpr_query tree command OP on ITEM (an xref-item), return list of 
xref-items."
-  (with-slots (summary location) item
-    ;; 'location' may have line, column nil
-    (let ((eieio-skip-typecheck t))
-      (with-slots (file line column) location
-       (when (eq ?\" (aref summary 0))
-         ;; gpr_query wants the quotes stripped
-         (when column (setq column (+ 1 column)))
-         (setq summary (substring summary 1 (1- (length summary)))))
-
-       (let ((cmd (format "%s %s:%s:%s:%s full_file_names"
-                          op
-                          summary
-                          (file-name-nondirectory file)
-                          (or line "")
-                          (if column (1+ column) "")))
-             (result nil)
-             (session (gpr-query-cached-session project)))
-
-         (with-current-buffer (gpr-query--session-send session cmd t)
-           ;; 'gpr_query tree_*' returns a list containing the declarations,
-           ;; bodies, and references (classwide), in no particular order.
-           ;;
-           ;; the format of each line is file:line:column (type)
-           ;;                            1    2    3       4
-           ;;
-           ;; 'type' includes the type name
-
-           (goto-char (point-min))
-
-           (while (not (eobp))
-             (cond
-              ((looking-at gpr-query-ident-file-type-regexp)
-               ;; process line
-               (let ((found-file (match-string 1))
-                     (found-line (string-to-number (match-string 2)))
-                     (found-col  (1- (string-to-number (match-string 3))))
-                     (found-type (match-string 4))
-                     )
-
-                 (unless found-file
-                   ;; Can be nil if actual file is renamed but gpr-query
-                   ;; database not updated. We abort, rather than just
-                   ;; ignoring this entry, because it means other ref are
-                   ;; probably out of date as well.
-                   (user-error "file '%s' not found; refresh?" (match-string 
1)))
-
-                 (setq found-file (gpr-query--normalize-filename found-file))
-
-                 (push (xref-make
-                        (cond
-                         ((string= op "tree_refs")
-                          (if found-type
-                              (if (string-match ";" found-type)
-                                  ;; ref is to the identifier
-                                  (concat summary " " found-type)
-                                ;; ref is to the controlling type of the 
identifier
-                                found-type)
-                            summary))
-
-                         ((string= op "tree_defs")
-                          found-type)
-                         )
-                        (xref-make-file-location found-file found-line 
found-col))
-                       result)
-                 ))
-
-              (t ;; ignore line
-               ;;
-               ;; This skips GPR_PROJECT_PATH and echoed command at start of 
buffer.
-               ;;
-               ;; It also skips warning lines.
-               )
-              )
-             (forward-line 1)
-             )
-
-           (when (null result)
-             (user-error "gpr_query did not return any references; refresh?"))
-
-           (nreverse result) ;; root of tree first.
-           ))))))
-
-(cl-defmethod wisi-xref-completion-table ((_xref gpr-query-xref) project)
-  (let ((session (gpr-query-cached-session project)))
-    (unless (consp (gpr-query--session-symbol-locs session))
-      (gpr-query-session-wait session 'symbols));; ensure symbol-locs is ready
-    (gpr-query--session-symbol-locs session)))
-
-(cl-defmethod wisi-xref-completion-delim-regex ((_xref gpr-query-xref))
-  (concat "[_(.<>*]"))
-
-(cl-defmethod wisi-xref-completion-regexp ((_xref gpr-query-xref))
-  gpr-query-completion-regexp)
-
-(cl-defmethod wisi-xref-completion-at-point-table ((_xref gpr-query-xref) 
project)
-  (let ((session (gpr-query-cached-session project)))
-    ;; no wait for symbols to be ready; this is supposed to be fast
-    (gpr-query--session-symbols session)))
-
-(cl-defmethod wisi-xref-definitions ((_xref gpr-query-xref) project item)
-  (gpr-query-tree-refs project item "tree_defs"))
-
-(cl-defmethod wisi-xref-references ((_xref gpr-query-xref) project item)
-  (gpr-query-tree-refs project item "tree_refs"))
-
-(cl-defmethod wisi-xref-other ((_xref gpr-query-xref) project &key identifier 
filename line column)
-  (when (eq ?\" (aref identifier 0))
-    ;; gpr_query wants the quotes stripped
-    (setq column (+ 1 column))
-    (setq identifier (substring identifier 1 (1- (length identifier))))
-    )
-
-  (let ((temp filename))
-
-    (unless (file-name-absolute-p temp)
-      (setq temp (locate-file filename compilation-search-path)))
-
-    (if temp
-       (setq filename temp)
-      (user-error "'%s' not found in current project - renamed?" filename)))
-
-  (setq filename (gpr-query--normalize-filename filename))
-
-  (let ((cmd (format "refs %s:%s:%s:%s global full_file_names"
-                    identifier
-                    (file-name-nondirectory filename)
-                    (or line "")
-                    (if column (1+ column) "")))
-       (decl-loc nil)
-       (body-loc nil)
-       (search-type nil)
-       (min-distance most-positive-fixnum)
-       (result nil)
-       (session (gpr-query-cached-session project)))
-
-    (with-current-buffer (gpr-query--session-send session cmd t)
-      ;; 'gpr_query refs' returns a list containing the declaration,
-      ;; the body, and all the references, in no particular order.
-      ;;
-      ;; We search the list, looking for the input location,
-      ;; declaration and body, then return the declaration or body as
-      ;; appropriate.
-      ;;
-      ;; the format of each line is file:line:column (type)
-      ;;                            1    2    3       4
-      ;;
-      ;; 'type' can be:
-      ;;   body
-      ;;   declaration
-      ;;   full declaration  (for a private type)
-      ;;   implicit reference
-      ;;   reference
-      ;;   static call
-      ;;
-      ;; 
Module_Type:/home/Projects/GDS/work_stephe_2/common/1553/gds-hardware-bus_1553-wrapper.ads:171:9
 (full declaration)
-      ;;
-      ;; 
itc_assert:/home/Projects/GDS/work_stephe_2/common/itc/opsim/itc_dscovr_gdsi/Gds1553/src/Gds1553.cpp:830:9
 (reference)
-
-      (message "parsing result ...")
-
-      (goto-char (point-min))
-
-      (while (not (eobp))
-       (cond
-        ((looking-at gpr-query-ident-file-type-regexp)
-         ;; process line
-         (let* ((found-file (match-string 1))
-                (found-line (string-to-number (match-string 2)))
-                (found-col  (string-to-number (match-string 3)))
-                (found-type (match-string 4))
-                (dist       (if (and line column)
-                                (gpr-query-dist found-line line found-col 
column)
-                              most-positive-fixnum))
-                )
-
-           (unless found-file
-             ;; can be nil if actual file is renamed but gpr-query database 
not updated
-             (user-error "file '%s' not found; refresh?" (match-string 1)))
-
-            (setq found-file (gpr-query--normalize-filename found-file))
-
-           (cond
-            ((string-equal found-type "declaration")
-             (setq decl-loc (list found-file found-line (1- found-col))))
-
-            ((or
-              (string-equal found-type "body")
-              (string-equal found-type "full declaration"))
-             (setq body-loc (list found-file found-line (1- found-col))))
-            )
-
-           (when (and (equal found-file filename)
-                      (or
-                       (string-equal found-type "body")
-                       (string-equal found-type "full declaration")
-                       (string-equal found-type "declaration"))
-                      (<= dist min-distance))
-             ;; The source may have changed since the xref database
-             ;; was computed, so allow for fuzzy matches.
-             (setq min-distance dist)
-             (setq search-type found-type))
-           ))
-
-        (t ;; ignore line
-         ;;
-         ;; This skips GPR_PROJECT_PATH and echoed command at start of buffer.
-         ;;
-         ;; It also skips warning lines. For example,
-         ;; gnatcoll-1.6w-20130902 can't handle the Auto_Text_IO
-         ;; language, because it doesn't use the gprconfig
-         ;; configuration project. That gives lines like:
-         ;;
-         ;; common_text_io.gpr:15:07: language unknown for 
"gds-hardware-bus_1553-time_tone.ads"
-         ;;
-         ;; There are probably other warnings that might be reported as well.
-         )
-        )
-       (forward-line 1)
-       )
-
-      (cond
-       ((and
-        line
-        (string-equal search-type "declaration")
-        body-loc)
-       ;; We started the search on the declaration; find the body
-       (setq result body-loc))
-
-       ((and
-        (not line)
-        (string-equal search-type "declaration"))
-       ;; We started in the spec file; find the declaration
-       ;;
-       ;; If the file has both declaration and body, this will go to
-       ;; declaration. Then a search with line, column can go to body.
-       (setq result decl-loc))
-
-       ((and
-        (not line)
-        (or
-         (string-equal search-type "body")
-         (string-equal search-type "full declaration")))
-       ;; We started n the body file; find the body
-       (setq result body-loc))
-
-       (decl-loc
-       (setq result decl-loc))
-       )
-
-      (when (null result)
-       (user-error "gpr_query did not return other item; refresh?"))
-
-      (message "parsing result ... done")
-      result)))
-
-(cl-defmethod wisi-xref-parents ((_xref gpr-query-xref) project &key 
identifier filename line column)
-  (gpr-query-compilation project identifier filename line column 
"parent_types" 'gpr-query-ident-file))
-
-(cl-defmethod wisi-xref-all ((_xref gpr-query-xref) project &key identifier 
filename line column local-only append)
-  (gpr-query-compilation project identifier filename line column "refs" 
'gpr-query-ident-file local-only append))
-
-(cl-defmethod wisi-xref-overriding ((_xref gpr-query-xref) project &key 
identifier filename line column)
-  (gpr-query-compilation project identifier filename line column "overriding" 
'gpr-query-ident-file))
-
-(cl-defmethod wisi-xref-overridden ((_xref gpr-query-xref) project &key 
identifier filename line column)
-  (when (eq ?\" (aref identifier 0))
-    ;; gpr_query wants the quotes stripped
-    (setq column (+ 1 column))
-    (setq identifier (substring identifier 1 (1- (length identifier))))
-    )
-
-  (let ((cmd (format "overridden %s:%s:%d:%d %s"
-                    identifier (file-name-nondirectory filename) line (1+ 
column)
-                    (if wisi-xref-full-path "full_file_names" 
"short_file_names")))
-       (session (gpr-query-cached-session project))
-       result)
-    (with-current-buffer (gpr-query--session-send session cmd t)
-
-      (goto-char (point-min))
-      (while (and (not result)
-                 (not (eobp)))
-       (cond
-        ((looking-at wisi-file-line-col-regexp)
-         (setq result
-             (list
-              (match-string 1)
-              (string-to-number (match-string 2))
-              (string-to-number (match-string 3)))))
-
-        (t
-         (forward-line))
-        ))
-
-      (when (null result)
-       (user-error "gpr_query did not return a result; refresh?"))
-
-      (message "parsing result ... done")
-      result)))
-
-(add-to-list 'compilation-error-regexp-alist-alist
-            (cons 'gpr-query-ident-file gpr-query-ident-file-regexp-alist))
-
-(provide 'gpr-query)
-;;; end of file
diff --git a/packages/ada-mode/gpr-skel.el b/packages/ada-mode/gpr-skel.el
deleted file mode 100644
index 3f0cb0f..0000000
--- a/packages/ada-mode/gpr-skel.el
+++ /dev/null
@@ -1,136 +0,0 @@
-;; gpr-skel.el --- Extension to gpr-mode for inserting statement skeletons  
-*- lexical-binding:t -*-
-
-;; Copyright (C) 2013-2015, 2018, 2019 Free Software Foundation, Inc.
-
-;; Authors: Stephen Leake <stephen_leake@stephe-leake.org>
-
-;; 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/>.
-
-;;; Design:
-;;
-;; The primary user command is `wisi-skel-expand', which inserts the
-;; skeleton associated with the previous word (possibly skipping a
-;; name).
-;;
-;; We don't define skeletons that prompt for most of the content; it
-;; is easier just to type in the buffer.
-;;
-;; These skeletons are not intended to teach a novice the language,
-;; just to make it easier to write code that the gpr-wisi parser
-;; likes, and handle repeated names nicely.
-
-;;; History:
-
-;; Created Dec 2013
-
-(require 'skeleton)
-(require 'wisi-skel)
-
-;;;;; user variables, example skeletons intended to be overwritten
-
-(defgroup gpr nil
-  "Major mode for editing GNAT project files in Emacs."
-  :group 'languages)
-
-(defcustom gpr-skel-initial-string "{header}\n{project}"
-  "String to insert in empty buffer.
-This could end in a token recognized by `gpr-skel-expand'."
-  :type 'string
-  :safe #'stringp)
-
-(define-skeleton gpr-skel-user-restricted
-  "Example copyright/license skeleton, with automatic year and owner."
-  ()
-  "--  Copyright (C) " (format-time-string "%Y ") user-full-name " All Rights 
Reserved.\n"
-)
-
-(define-skeleton gpr-skel-gpl
-  "Example copyright/license skeleton, with automatic year and owner, GPLv3."
-  ()
-  "--  Copyright (C) " (format-time-string "%Y ") user-full-name " All Rights 
Reserved.\n"
-  "--\n"
-  "--  This program is free software; you can redistribute it and/or\n"
-  "--  modify it under terms of the GNU General Public License as\n"
-  "--  published by the Free Software Foundation; either version 3, or (at\n"
-  "--  your option) any later version. This program is distributed in the\n"
-  "--  hope that it will be useful, but WITHOUT ANY WARRANTY; without even\n"
-  "--  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR\n"
-  "--  PURPOSE. See the GNU General Public License for more details. You\n"
-  "--  should have received a copy of the GNU General Public License\n"
-  "--  distributed with this program; see file COPYING. If not, write to\n"
-  "--  the Free Software Foundation, 51 Franklin Street, Suite 500, Boston,\n"
-  "--  MA 02110-1335, USA.\n"
-)
-
-;;;;; Gpr skeletons (alphabetical)
-
-(define-skeleton gpr-skel-case
-  "Insert case statement."
-  ()
-  "case " str " is\n"
-  "when " _ "=>\n"
-  "end case;")
-
-(define-skeleton gpr-skel-header
-  "Insert a file header comment, with automatic copyright year and prompt for 
copyright owner/license.
-Each user will probably want to override this."
-  ()
-  "--  Abstract :\n"
-  "--\n"
-  "--  " _ "\n"
-  "--\n"
-  "{copyright_license}\n"
-  )
-
-(define-skeleton gpr-skel-package
-  "Insert a package with name from `str'."
-  "Package name: "
-  "package " str " is\n"
-  _
-  "end " str ";")
-
-(define-skeleton gpr-skel-project
-  "Insert a project with name from `str'."
-  "Project name: "
-  "project " str " is\n"
-  _
-  "end " str ";")
-
-;;;;; token alist, setup
-
-(defconst gpr-skel-token-alist
-  '(("case" . gpr-skel-case)
-    ("copyright_license"
-     ("GPL" . gpr-skel-gpl)
-     ("restricted" . gpr-skel-user-restricted))
-    ("header" . gpr-skel-header)
-    ("package" . gpr-skel-package)
-    ("project" . gpr-skel-project))
-"For `wisi-skel-token-alist', used by `wisi-skel-expand'.")
-
-(defun gpr-skel-setup ()
-  "Setup a buffer for gpr-skel."
-  (setq wisi-skel-token-alist gpr-skel-token-alist)
-  (add-hook 'skeleton-end-hook 'wisi-indent-statement nil t)
-  (when (and gpr-skel-initial-string
-            (= (buffer-size) 0))
-    (insert gpr-skel-initial-string))
-  )
-
-(add-hook 'gpr-mode-hook #'gpr-skel-setup)
-
-(provide 'gpr-skel)
-;;; end of file
diff --git a/packages/ada-mode/gpr.wy b/packages/ada-mode/gpr.wy
deleted file mode 100644
index bb7d5a7..0000000
--- a/packages/ada-mode/gpr.wy
+++ /dev/null
@@ -1,377 +0,0 @@
-;;; WisiToken grammar for GNAT project files
-;;
-;; Author: Stephen Leake <stephe-leake@stephe-leake.org>
-;; Maintainer: Stephen Leake <stephe-leake@stephe-leake.org>
-;; Created: Jan 2013
-;; Keywords: syntax
-
-%code copyright_license %{
-;;  Copyright (C) 2013 - 2020 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
-;;  published by the Free Software Foundation; either version 3, or (at
-;;  your option) any later version.
-;;
-;;  This software 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/>.
-}%
-
-%code actions spec post %{
-   Partial_Parse_Active : Boolean := False;
-}%
-
-;;; Commentary:
-;;
-;; This is a wisi grammar file for the gpr language. It is derived
-;; from the gprbuild user guide, with the following substitutions:
-;;
-;; simple_name -> IDENTIFIER
-;;
-;; and some simplifications. Repeating constructs are implemented with
-;; extra productions. Optional constructs are implemented by repeated
-;; productions
-
-;; GNAT GPL 2017 (info "(gprbuild_ug) Configuration File Reference")
-
-%token <punctuation> AMPERSAND "&"
-%token <punctuation> COLON ":"
-%token <punctuation> COLON_EQUALS ":="
-%token <punctuation> COMMA ","
-%token <punctuation> DOT "."
-%token <punctuation> EQUAL_GREATER "=>"
-%token <punctuation> QUOTE "'"
-%token <punctuation> SEMICOLON ";"
-%token <punctuation> VERTICAL_BAR "|"
-
-%case_insensitive
-
-%keyword ABSTRACT "abstract"
-%keyword AT "at"
-%keyword AGGREGATE "aggregate"
-%keyword CASE "case"
-%keyword CONFIGURATION "configuration"
-%keyword END "end"
-%keyword EXTENDS "extends"
-%keyword EXTERNAL "external"
-%keyword EXTERNAL_AS_LIST "external_as_list"
-%keyword FOR "for"
-%keyword IS "is"
-%keyword LEFT_PAREN "("
-%keyword LIBRARY "library"
-%keyword NULL "null"
-%keyword OTHERS "others"
-%keyword PACKAGE "package"
-%keyword PROJECT "project"
-%keyword RENAMES "renames"
-%keyword RIGHT_PAREN ")"
-%keyword STANDARD "standard"
-%keyword TYPE "type"
-%keyword USE "use"
-%keyword WHEN "when"
-%keyword WITH "with"
-
-%non_grammar <non-reporting> WHITESPACE %[ [ \t] ]%
-
-;; handle DOS or Unix newline
-%non_grammar <new-line> NEW_LINE %[ [\x0a]|[\x0d][\x0a] ]%
-
-%non_grammar <comment> COMMENT %[ "--"[^\x04\n]* ]%
-
-%token <number> NUMERIC_LITERAL
-    %[ [0-9]+ ]%
-  "1234567890"
-
-%token <symbol> IDENTIFIER
-    %[ [a-zA-Z\x80-\U0010FFFF][0-9a-zA-Z_\x80-\U0010FFFF]* ]%
-  "A_Bogus_Identifier"
-
-%token <string-double> STRING_LITERAL
-    %[ (["][\x20-\x21\x23-\U0010FFFF]*["])+ ]%
-  '""'
-
-%start compilation_unit
-
-%generate LR1 Ada_Emacs re2c Process
-;; LR1 gives better error correction performance.
-
-%elisp_face font-lock-function-name-face
-%elisp_face font-lock-keyword-face
-%elisp_face nil
-
-%mckenzie_cost_default 4 4 2 2
-%mckenzie_enqueue_limit 10_000
-%mckenzie_check_limit 3
-%mckenzie_check_delta_limit 200
-
-%end_names_optional_option End_Names_Optional
-
-%conflict SHIFT/REDUCE in state aggregate_g, aggregate_g  on token RIGHT_PAREN
-%conflict SHIFT/REDUCE in state case_statement, case_statement  on token WHEN
-
-;; grammar rules, non-terminal alphabetical order
-
-aggregate_g
-  : LEFT_PAREN string_list RIGHT_PAREN
-    %((wisi-indent-action [0 (wisi-anchored 1 1) (wisi-anchored 1 0)]))%
-  ;
-
-attribute_declaration
-  : FOR IDENTIFIER USE expression SEMICOLON
-    %((progn
-        (wisi-statement-action [1 statement-start 5 statement-end])
-        (wisi-name-action 2)
-        (wisi-face-apply-action [2 nil font-lock-function-name-face])
-        (wisi-indent-action [0 gpr-indent-broken 0 gpr-indent-broken 0])))%
-  | FOR IDENTIFIER LEFT_PAREN discrete_choice RIGHT_PAREN USE expression 
SEMICOLON
-    %((progn
-        (wisi-statement-action [1 statement-start 8 statement-end])
-        (wisi-name-action 2)
-        (wisi-face-apply-action [2 nil font-lock-function-name-face])
-        (wisi-indent-action [0 gpr-indent-broken (- gpr-indent-broken 1) 
gpr-indent-broken (- gpr-indent-broken 1) 0
-                               gpr-indent-broken 0])))%
-  | FOR IDENTIFIER LEFT_PAREN discrete_choice RIGHT_PAREN USE expression AT 
NUMERIC_LITERAL SEMICOLON
-    %((progn
-        (wisi-statement-action [1 statement-start 10 statement-end])
-        (wisi-name-action 2)
-        (wisi-face-apply-action [2 nil font-lock-function-name-face])
-        (wisi-indent-action [0 gpr-indent-broken (- gpr-indent-broken 1) 
gpr-indent-broken (- gpr-indent-broken 1) 0
-                             gpr-indent-broken 0 0 0])))%
-  | FOR EXTERNAL LEFT_PAREN STRING_LITERAL RIGHT_PAREN USE expression SEMICOLON
-    %((progn
-        (wisi-statement-action [1 statement-start 8 statement-end])
-        (wisi-indent-action [0 gpr-indent-broken (- gpr-indent-broken 1) 
gpr-indent-broken (- gpr-indent-broken 1) 0
-                               gpr-indent-broken 0])))%
-  ;
-
-;; (info "(gprbuild_ug)Attributes")
-attribute_prefix
-  : PROJECT
-  ;; not a keyword; no face
-  | name
-  ;
-
-attribute_reference
-  : attribute_prefix QUOTE IDENTIFIER
-  | attribute_prefix QUOTE IDENTIFIER LEFT_PAREN STRING_LITERAL RIGHT_PAREN
-  ;
-
-;; (info "(gprbuild_ug)Case Statements")
-case_statement
-  : CASE name IS case_items END CASE SEMICOLON
-    %((progn
-        (wisi-statement-action [1 statement-start 7 statement-end])
-        (wisi-indent-action [0 gpr-indent-broken 0 [gpr-indent-when 
gpr-indent-when] 0 0 0])))%
-  ;
-
-;; declarations allowed in a case statement are a subset of
-;; declarative_items, but this simplifies the grammar.
-case_item
-  : WHEN discrete_choice_list EQUAL_GREATER declarative_items_opt
-    %((progn
-        (wisi-statement-action [1 motion])
-        (wisi-indent-action [0 gpr-indent-broken gpr-indent gpr-indent])))%
-  ;
-
-case_items
-  : ;; empty
-  | case_item
-  | case_items case_item
-  ;
-
-;; Compute indent for trailing comments.
-compilation_unit
-  : context_clause_opt project_qualifier_opt project_declaration_opt
-    %((wisi-indent-action [0 0 [0 0]]))%
-  ;
-
-context_clause
-  : with_clause
-  | context_clause with_clause
-  ;
-
-context_clause_opt
-  : ;; empty
-  | context_clause
-  ;
-
-;; (info "(gprbuild_ug)Declarations")
-declarative_item
-  : simple_declarative_item
-  | typed_string_declaration
-  | package_declaration
-  ;
-
-declarative_items
-  : declarative_item
-  | declarative_items declarative_item
-  ;
-
-declarative_items_opt
-  : ;; empty
-  | declarative_items
-  ;
-
-discrete_choice
-  : ;; empty
-  | STRING_LITERAL
-  | OTHERS
-  ;
-
-discrete_choice_list
-  : discrete_choice
-  | discrete_choice_list VERTICAL_BAR discrete_choice
-  ;
-
-;; (info "(gprbuild_ug)Expressions")
-expression
-  : term
-  | expression AMPERSAND term
-  ;
-
-external_value
-  : EXTERNAL aggregate_g
-  | EXTERNAL_AS_LIST aggregate_g
-  ;
-
-identifier_opt
-  : ;; empty
-  | IDENTIFIER
-    %()%
-    %((wisi-propagate-name 1))%
-  ;
-
-name
-  : identifier_opt
-  | name DOT IDENTIFIER
-  ;
-
-;; (info "(gprbuild_ug)Packages")
-package_declaration
-  : package_spec
-  | package_extension
-  | package_renaming
-  ;
-
-package_spec
-  : PACKAGE identifier_opt IS declarative_items_opt END identifier_opt 
SEMICOLON
-    %((progn
-        (wisi-statement-action [1 statement-start 7 statement-end])
-        (wisi-name-action 2)
-        (wisi-face-apply-action [2 nil font-lock-function-name-face 6 nil 
font-lock-function-name-face])
-        (wisi-indent-action [0 gpr-indent-broken 0 [gpr-indent gpr-indent] 0 0 
0])))%
-    %((wisi-match-names 2 6))%
-  ;
-
-package_extension
-  : PACKAGE identifier_opt EXTENDS name IS declarative_items_opt END 
identifier_opt SEMICOLON
-    %((progn
-        (wisi-statement-action [1 statement-start 9 statement-end])
-        (wisi-name-action 2)
-        (wisi-face-apply-action [2 nil font-lock-function-name-face 8 nil 
font-lock-function-name-face])
-        (wisi-indent-action [0 gpr-indent-broken 0 gpr-indent-broken 0 
[gpr-indent gpr-indent] 0 0 0])))%
-    %((wisi-match-names 2 8))%
-  ;
-
-package_renaming
-  : PACKAGE identifier_opt RENAMES name SEMICOLON
-    %((progn
-        (wisi-statement-action [1 statement-start 5 statement-end])
-        (wisi-face-apply-action [2 nil font-lock-function-name-face 4 nil 
font-lock-function-name-face])))%
-  ;
-
-project_declaration_opt
-  : ;; empty
-  | simple_project_declaration
-  | project_extension
-  ;
-
-project_extension
-  : PROJECT identifier_opt EXTENDS STRING_LITERAL IS declarative_items_opt END 
identifier_opt SEMICOLON
-    %((progn
-        (wisi-statement-action [1 statement-start 9 statement-end])
-        (wisi-name-action 2)
-        (wisi-face-apply-action [1 nil font-lock-keyword-face 2 nil 
font-lock-function-name-face 8 nil font-lock-function-name-face])
-        (wisi-indent-action [0 gpr-indent-broken 0 gpr-indent-broken 0 
[gpr-indent gpr-indent] 0 0 0])))%
-    %((wisi-match-names 2 8))%
-  ;
-
-;; (info "(gprbuild_ug)Qualified Projects")
-project_qualifier_opt
-  : ;; empty
-  | ABSTRACT
-  | STANDARD
-  | AGGREGATE
-  | AGGREGATE LIBRARY
-  | LIBRARY
-  | CONFIGURATION
-  ;
-
-;; (info "(gprbuild_ug)Declarations" "*info gpr*")
-simple_declarative_item
-  : IDENTIFIER COLON_EQUALS expression SEMICOLON ;; variable_declaration
-    %((progn
-        (wisi-statement-action [1 statement-start 4 statement-end])
-        (wisi-indent-action [0 gpr-indent-broken gpr-indent-broken 0])))%
-  | IDENTIFIER COLON IDENTIFIER COLON_EQUALS expression SEMICOLON ;; 
typed_variable_declaration
-    %((progn
-        (wisi-statement-action [1 statement-start 6 statement-end])
-        (wisi-indent-action [0 gpr-indent-broken gpr-indent-broken 
gpr-indent-broken gpr-indent-broken 0])))%
-  | attribute_declaration
-  | case_statement
-  | NULL SEMICOLON
-    %((wisi-statement-action [1 statement-start 2 statement-end]))%
-  ;
-
-simple_project_declaration
-  : PROJECT identifier_opt IS declarative_items_opt END identifier_opt 
SEMICOLON
-    %((progn
-        (wisi-statement-action [1 statement-start 7 statement-end])
-        (wisi-name-action 2)
-        (wisi-face-apply-action [1 nil font-lock-keyword-face
-                                   2 nil font-lock-function-name-face
-                                   6 nil font-lock-function-name-face])
-        (wisi-indent-action [0 gpr-indent-broken 0 [gpr-indent gpr-indent] 0 0 
0])))%
-    %((wisi-match-names 2 6))%
-  ;
-
-;; (info "(gprbuild_ug)Expressions")
-string_primary
-  : STRING_LITERAL
-  | name;; variable_name
-  | external_value
-  | attribute_reference
-  ;
-
-;; (info "(gprbuild_ug)Expressions")
-;; we merge that string_list into term, and use 'string_list' for 
'string_expression {, string_expression}'
-string_list
-  : expression
-  | string_list COMMA expression
-  ;
-
-;; see string_list for info reference
-;; string_variable_name covered by string_primary
-term
-  : string_primary
-  | LEFT_PAREN RIGHT_PAREN
-  | aggregate_g
-  ;
-
-typed_string_declaration
-  : TYPE IDENTIFIER IS aggregate_g SEMICOLON
-    %((progn
-        (wisi-statement-action [1 statement-start 5 statement-end])
-        (wisi-indent-action [0 gpr-indent-broken gpr-indent-broken 
gpr-indent-broken 0])))%
-  ;
-
-with_clause
-  : WITH string_list SEMICOLON
-  ;
-
-;;; end of file
diff --git a/packages/ada-mode/gpr_mode_wisi_parse.ads 
b/packages/ada-mode/gpr_mode_wisi_parse.ads
deleted file mode 100644
index 623d1da..0000000
--- a/packages/ada-mode/gpr_mode_wisi_parse.ads
+++ /dev/null
@@ -1,34 +0,0 @@
---  Abstract :
---
---  External process parser for gpr mode
---
---  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
---  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 Gen_Emacs_Wisi_LR_Parse;
-with Gpr_Process_Actions;
-with Gpr_Process_Main;
-with Wisi.Gpr;
-procedure Gpr_Mode_Wisi_Parse is new Gen_Emacs_Wisi_LR_Parse
-  (Parse_Data_Type                => Wisi.Gpr.Parse_Data_Type,
-   Language_Protocol_Version      => Wisi.Gpr.Language_Protocol_Version,
-   Name                           => "gpr_mode_wisi_parse",
-   Descriptor                     => Gpr_Process_Actions.Descriptor,
-   Partial_Parse_Active           => Gpr_Process_Actions.Partial_Parse_Active,
-   Language_Fixes                 => null,
-   Language_Matching_Begin_Tokens => null,
-   Language_String_ID_Set         => null,
-   Create_Parser                  => Gpr_Process_Main.Create_Parser);
diff --git a/packages/ada-mode/gpr_process_actions.adb 
b/packages/ada-mode/gpr_process_actions.adb
deleted file mode 100644
index d1e5248..0000000
--- a/packages/ada-mode/gpr_process_actions.adb
+++ /dev/null
@@ -1,431 +0,0 @@
---  generated parser support file.
---  command line: wisitoken-bnf-generate.exe  --generate LR1 Ada_Emacs re2c 
PROCESS gpr.wy
---
-
---  Copyright (C) 2013 - 2020 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
---  published by the Free Software Foundation; either version 3, or (at
---  your option) any later version.
---
---  This software 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/>.
-
-with Wisi; use Wisi;
-with Wisi.Gpr; use Wisi.Gpr;
-package body Gpr_Process_Actions is
-
-   use WisiToken.Semantic_Checks;
-
-   procedure aggregate_g_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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,
-         (Anchored_0, 1, 1))), (False, (Simple, (Anchored_0, 1, 0)))));
-      end case;
-   end aggregate_g_0;
-
-   procedure attribute_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (5, Statement_End)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 2);
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (2, 2, 
0)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Int, 0))), (False, (Simple, (Int,
-         Gpr_Indent_Broken))), (False, (Simple, (Int, 0))), (False, (Simple, 
(Int, Gpr_Indent_Broken))), (False,
-         (Simple, (Int, 0)))));
-      end case;
-   end attribute_declaration_0;
-
-   procedure attribute_declaration_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (8, Statement_End)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 2);
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (2, 2, 
0)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Int, 0))), (False, (Simple, (Int,
-         Gpr_Indent_Broken))), (False, (Simple, (Int, Gpr_Indent_Broken - 
1))), (False, (Simple, (Int,
-         Gpr_Indent_Broken))), (False, (Simple, (Int, Gpr_Indent_Broken - 
1))), (False, (Simple, (Int, 0))), (False,
-         (Simple, (Int, Gpr_Indent_Broken))), (False, (Simple, (Int, 0)))));
-      end case;
-   end attribute_declaration_1;
-
-   procedure attribute_declaration_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (10, Statement_End)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 2);
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (2, 2, 
0)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Int, 0))), (False, (Simple, (Int,
-         Gpr_Indent_Broken))), (False, (Simple, (Int, Gpr_Indent_Broken - 
1))), (False, (Simple, (Int,
-         Gpr_Indent_Broken))), (False, (Simple, (Int, Gpr_Indent_Broken - 
1))), (False, (Simple, (Int, 0))), (False,
-         (Simple, (Int, Gpr_Indent_Broken))), (False, (Simple, (Int, 0))), 
(False, (Simple, (Int, 0))), (False,
-         (Simple, (Int, 0)))));
-      end case;
-   end attribute_declaration_2;
-
-   procedure attribute_declaration_3
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (8, Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Int, 0))), (False, (Simple, (Int,
-         Gpr_Indent_Broken))), (False, (Simple, (Int, Gpr_Indent_Broken - 
1))), (False, (Simple, (Int,
-         Gpr_Indent_Broken))), (False, (Simple, (Int, Gpr_Indent_Broken - 
1))), (False, (Simple, (Int, 0))), (False,
-         (Simple, (Int, Gpr_Indent_Broken))), (False, (Simple, (Int, 0)))));
-      end case;
-   end attribute_declaration_3;
-
-   procedure case_statement_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (7, Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Int, 0))), (False, (Simple, (Int,
-         Gpr_Indent_Broken))), (False, (Simple, (Int, 0))), (True, (Simple, 
(Int, Gpr_Indent_When)), (Simple, (Int,
-         Gpr_Indent_When))), (False, (Simple, (Int, 0))), (False, (Simple, 
(Int, 0))), (False, (Simple, (Int, 0)))));
-      end case;
-   end case_statement_0;
-
-   procedure case_item_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (1, 
Motion)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Int, 0))), (False, (Simple, (Int,
-         Gpr_Indent_Broken))), (False, (Simple, (Int, Gpr_Indent))), (False, 
(Simple, (Int, Gpr_Indent)))));
-      end case;
-   end case_item_0;
-
-   procedure compilation_unit_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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))),
-         (True, (Simple, (Int, 0)), (Simple, (Int, 0)))));
-      end case;
-   end compilation_unit_0;
-
-   function identifier_opt_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, Recover_Active);
-   begin
-      return Propagate_Name (Nonterm, Tokens, 1);
-   end identifier_opt_1_check;
-
-   procedure package_spec_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (7, Statement_End)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 2);
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, ((2, 2, 0), (6, 
2, 0)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Int, 0))), (False, (Simple, (Int,
-         Gpr_Indent_Broken))), (False, (Simple, (Int, 0))), (True, (Simple, 
(Int, Gpr_Indent)), (Simple, (Int,
-         Gpr_Indent))), (False, (Simple, (Int, 0))), (False, (Simple, (Int, 
0))), (False, (Simple, (Int, 0)))));
-      end case;
-   end package_spec_0;
-
-   function package_spec_0_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 (Nonterm, Recover_Active);
-   begin
-      return Match_Names (Lexer, Descriptor, Tokens, 2, 6, End_Names_Optional);
-   end package_spec_0_check;
-
-   procedure package_extension_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (9, Statement_End)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 2);
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, ((2, 2, 0), (8, 
2, 0)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Int, 0))), (False, (Simple, (Int,
-         Gpr_Indent_Broken))), (False, (Simple, (Int, 0))), (False, (Simple, 
(Int, Gpr_Indent_Broken))), (False,
-         (Simple, (Int, 0))), (True, (Simple, (Int, Gpr_Indent)), (Simple, 
(Int, Gpr_Indent))), (False, (Simple, (Int,
-         0))), (False, (Simple, (Int, 0))), (False, (Simple, (Int, 0)))));
-      end case;
-   end package_extension_0;
-
-   function package_extension_0_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 (Nonterm, Recover_Active);
-   begin
-      return Match_Names (Lexer, Descriptor, Tokens, 2, 8, End_Names_Optional);
-   end package_extension_0_check;
-
-   procedure package_renaming_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (5, Statement_End)));
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, ((2, 2, 0), (4, 
2, 0)));
-      when Indent =>
-         null;
-      end case;
-   end package_renaming_0;
-
-   procedure project_extension_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (9, Statement_End)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 2);
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 2, 1), (2, 
2, 0), (8, 2, 0)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Int, 0))), (False, (Simple, (Int,
-         Gpr_Indent_Broken))), (False, (Simple, (Int, 0))), (False, (Simple, 
(Int, Gpr_Indent_Broken))), (False,
-         (Simple, (Int, 0))), (True, (Simple, (Int, Gpr_Indent)), (Simple, 
(Int, Gpr_Indent))), (False, (Simple, (Int,
-         0))), (False, (Simple, (Int, 0))), (False, (Simple, (Int, 0)))));
-      end case;
-   end project_extension_0;
-
-   function project_extension_0_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 (Nonterm, Recover_Active);
-   begin
-      return Match_Names (Lexer, Descriptor, Tokens, 2, 8, End_Names_Optional);
-   end project_extension_0_check;
-
-   procedure simple_declarative_item_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (4, Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Int, 0))), (False, (Simple, (Int,
-         Gpr_Indent_Broken))), (False, (Simple, (Int, Gpr_Indent_Broken))), 
(False, (Simple, (Int, 0)))));
-      end case;
-   end simple_declarative_item_0;
-
-   procedure simple_declarative_item_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (6, Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Int, 0))), (False, (Simple, (Int,
-         Gpr_Indent_Broken))), (False, (Simple, (Int, Gpr_Indent_Broken))), 
(False, (Simple, (Int,
-         Gpr_Indent_Broken))), (False, (Simple, (Int, Gpr_Indent_Broken))), 
(False, (Simple, (Int, 0)))));
-      end case;
-   end simple_declarative_item_1;
-
-   procedure simple_declarative_item_4
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (2, Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         null;
-      end case;
-   end simple_declarative_item_4;
-
-   procedure simple_project_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (7, Statement_End)));
-         Name_Action (Parse_Data, Tree, Nonterm, Tokens, 2);
-      when Face =>
-         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 2, 1), (2, 
2, 0), (6, 2, 0)));
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Int, 0))), (False, (Simple, (Int,
-         Gpr_Indent_Broken))), (False, (Simple, (Int, 0))), (True, (Simple, 
(Int, Gpr_Indent)), (Simple, (Int,
-         Gpr_Indent))), (False, (Simple, (Int, 0))), (False, (Simple, (Int, 
0))), (False, (Simple, (Int, 0)))));
-      end case;
-   end simple_project_declaration_0;
-
-   function simple_project_declaration_0_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 (Nonterm, Recover_Active);
-   begin
-      return Match_Names (Lexer, Descriptor, Tokens, 2, 6, End_Names_Optional);
-   end simple_project_declaration_0_check;
-
-   procedure typed_string_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.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 =>
-         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (5, Statement_End)));
-      when Face =>
-         null;
-      when Indent =>
-         Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Int, 0))), (False, (Simple, (Int,
-         Gpr_Indent_Broken))), (False, (Simple, (Int, Gpr_Indent_Broken))), 
(False, (Simple, (Int,
-         Gpr_Indent_Broken))), (False, (Simple, (Int, 0)))));
-      end case;
-   end typed_string_declaration_0;
-
-end Gpr_Process_Actions;
diff --git a/packages/ada-mode/gpr_process_actions.ads 
b/packages/ada-mode/gpr_process_actions.ads
deleted file mode 100644
index 61bf195..0000000
--- a/packages/ada-mode/gpr_process_actions.ads
+++ /dev/null
@@ -1,316 +0,0 @@
---  generated parser support file.
---  command line: wisitoken-bnf-generate.exe  --generate LR1 Ada_Emacs re2c 
PROCESS gpr.wy
---
-
---  Copyright (C) 2013 - 2020 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
---  published by the Free Software Foundation; either version 3, or (at
---  your option) any later version.
---
---  This software 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/>.
-
-with WisiToken.Syntax_Trees;
-with WisiToken.Lexer;
-with WisiToken.Semantic_Checks;
-package Gpr_Process_Actions is
-
-   Descriptor : aliased WisiToken.Descriptor :=
-     (First_Terminal    => 3,
-      Last_Terminal     => 39,
-      First_Nonterminal => 40,
-      Last_Nonterminal  => 73,
-      EOI_ID            => 39,
-      Accept_ID         => 40,
-      Case_Insensitive  => True,
-      New_Line_ID       => 1,
-      String_1_ID       => 2147483647,
-      String_2_ID       => 38,
-      Image             =>
-        (new String'("WHITESPACE"),
-         new String'("NEW_LINE"),
-         new String'("COMMENT"),
-         new String'("ABSTRACT"),
-         new String'("AT"),
-         new String'("AGGREGATE"),
-         new String'("CASE"),
-         new String'("CONFIGURATION"),
-         new String'("END"),
-         new String'("EXTENDS"),
-         new String'("EXTERNAL"),
-         new String'("EXTERNAL_AS_LIST"),
-         new String'("FOR"),
-         new String'("IS"),
-         new String'("LEFT_PAREN"),
-         new String'("LIBRARY"),
-         new String'("NULL"),
-         new String'("OTHERS"),
-         new String'("PACKAGE"),
-         new String'("PROJECT"),
-         new String'("RENAMES"),
-         new String'("RIGHT_PAREN"),
-         new String'("STANDARD"),
-         new String'("TYPE"),
-         new String'("USE"),
-         new String'("WHEN"),
-         new String'("WITH"),
-         new String'("AMPERSAND"),
-         new String'("COLON"),
-         new String'("COLON_EQUALS"),
-         new String'("COMMA"),
-         new String'("DOT"),
-         new String'("EQUAL_GREATER"),
-         new String'("QUOTE"),
-         new String'("SEMICOLON"),
-         new String'("VERTICAL_BAR"),
-         new String'("NUMERIC_LITERAL"),
-         new String'("IDENTIFIER"),
-         new String'("STRING_LITERAL"),
-         new String'("Wisi_EOI"),
-         new String'("wisitoken_accept"),
-         new String'("aggregate_g"),
-         new String'("attribute_declaration"),
-         new String'("attribute_prefix"),
-         new String'("attribute_reference"),
-         new String'("case_statement"),
-         new String'("case_item"),
-         new String'("case_items"),
-         new String'("compilation_unit"),
-         new String'("context_clause"),
-         new String'("context_clause_opt"),
-         new String'("declarative_item"),
-         new String'("declarative_items"),
-         new String'("declarative_items_opt"),
-         new String'("discrete_choice"),
-         new String'("discrete_choice_list"),
-         new String'("expression"),
-         new String'("external_value"),
-         new String'("identifier_opt"),
-         new String'("name"),
-         new String'("package_declaration"),
-         new String'("package_spec"),
-         new String'("package_extension"),
-         new String'("package_renaming"),
-         new String'("project_declaration_opt"),
-         new String'("project_extension"),
-         new String'("project_qualifier_opt"),
-         new String'("simple_declarative_item"),
-         new String'("simple_project_declaration"),
-         new String'("string_primary"),
-         new String'("string_list"),
-         new String'("term"),
-         new String'("typed_string_declaration"),
-         new String'("with_clause")),
-      Terminal_Image_Width => 16,
-      Image_Width          => 26,
-      Last_Lookahead       => 39);
-
-   type Token_Enum_ID is
-     (WHITESPACE_ID,
-      NEW_LINE_ID,
-      COMMENT_ID,
-      ABSTRACT_ID,
-      AT_ID,
-      AGGREGATE_ID,
-      CASE_ID,
-      CONFIGURATION_ID,
-      END_ID,
-      EXTENDS_ID,
-      EXTERNAL_ID,
-      EXTERNAL_AS_LIST_ID,
-      FOR_ID,
-      IS_ID,
-      LEFT_PAREN_ID,
-      LIBRARY_ID,
-      NULL_ID,
-      OTHERS_ID,
-      PACKAGE_ID,
-      PROJECT_ID,
-      RENAMES_ID,
-      RIGHT_PAREN_ID,
-      STANDARD_ID,
-      TYPE_ID,
-      USE_ID,
-      WHEN_ID,
-      WITH_ID,
-      AMPERSAND_ID,
-      COLON_ID,
-      COLON_EQUALS_ID,
-      COMMA_ID,
-      DOT_ID,
-      EQUAL_GREATER_ID,
-      QUOTE_ID,
-      SEMICOLON_ID,
-      VERTICAL_BAR_ID,
-      NUMERIC_LITERAL_ID,
-      IDENTIFIER_ID,
-      STRING_LITERAL_ID,
-      Wisi_EOI_ID,
-      wisitoken_accept_ID,
-      aggregate_g_ID,
-      attribute_declaration_ID,
-      attribute_prefix_ID,
-      attribute_reference_ID,
-      case_statement_ID,
-      case_item_ID,
-      case_items_ID,
-      compilation_unit_ID,
-      context_clause_ID,
-      context_clause_opt_ID,
-      declarative_item_ID,
-      declarative_items_ID,
-      declarative_items_opt_ID,
-      discrete_choice_ID,
-      discrete_choice_list_ID,
-      expression_ID,
-      external_value_ID,
-      identifier_opt_ID,
-      name_ID,
-      package_declaration_ID,
-      package_spec_ID,
-      package_extension_ID,
-      package_renaming_ID,
-      project_declaration_opt_ID,
-      project_extension_ID,
-      project_qualifier_opt_ID,
-      simple_declarative_item_ID,
-      simple_project_declaration_ID,
-      string_primary_ID,
-      string_list_ID,
-      term_ID,
-      typed_string_declaration_ID,
-      with_clause_ID);
-
-   type Token_Enum_ID_Array is array (Positive range <>) of Token_Enum_ID;
-   use all type WisiToken.Token_ID;
-   function "+" (Item : in Token_Enum_ID) return WisiToken.Token_ID
-     is (WisiToken.Token_ID'First + Token_Enum_ID'Pos (Item));
-   function To_Token_Enum (Item : in WisiToken.Token_ID) return Token_Enum_ID
-     is (Token_Enum_ID'Val (Item - WisiToken.Token_ID'First));
-   function "-" (Item : in WisiToken.Token_ID) return Token_Enum_ID renames 
To_Token_Enum;
-
-   procedure aggregate_g_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure attribute_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure attribute_declaration_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure attribute_declaration_2
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure attribute_declaration_3
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure case_statement_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure case_item_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure compilation_unit_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure package_spec_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure package_extension_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure package_renaming_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure project_extension_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure simple_declarative_item_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure simple_declarative_item_1
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure simple_declarative_item_4
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure simple_project_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   procedure typed_string_declaration_0
-    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
-     Tree      : in out WisiToken.Syntax_Trees.Tree;
-     Nonterm   : in     WisiToken.Valid_Node_Index;
-     Tokens    : in     WisiToken.Valid_Node_Index_Array);
-   function identifier_opt_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 package_spec_0_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 package_extension_0_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 project_extension_0_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 simple_project_declaration_0_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;
-
-   Partial_Parse_Active : Boolean := False;
-end Gpr_Process_Actions;
diff --git a/packages/ada-mode/gpr_process_main.adb 
b/packages/ada-mode/gpr_process_main.adb
deleted file mode 100644
index 02eb679..0000000
--- a/packages/ada-mode/gpr_process_main.adb
+++ /dev/null
@@ -1,2405 +0,0 @@
---  generated parser support file.
---  command line: wisitoken-bnf-generate.exe  --generate LR1 Ada_Emacs re2c 
PROCESS gpr.wy
---
-
---  Copyright (C) 2013 - 2020 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
---  published by the Free Software Foundation; either version 3, or (at
---  your option) any later version.
---
---  This software 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/>.
-
-with Gpr_Process_Actions; use Gpr_Process_Actions;
-with WisiToken.Lexer.re2c;
-with gpr_re2c_c;
-package body Gpr_Process_Main is
-
-   package Lexer is new WisiToken.Lexer.re2c
-     (gpr_re2c_c.New_Lexer,
-      gpr_re2c_c.Free_Lexer,
-      gpr_re2c_c.Reset_Lexer,
-      gpr_re2c_c.Next_Token);
-
-   procedure Create_Parser
-     (Parser                         :    out WisiToken.Parse.LR.Parser.Parser;
-      Language_Fixes                 : in     
WisiToken.Parse.LR.Parser.Language_Fixes_Access;
-      Language_Matching_Begin_Tokens : in     
WisiToken.Parse.LR.Parser.Language_Matching_Begin_Tokens_Access;
-      Language_String_ID_Set       : in     
WisiToken.Parse.LR.Parser.Language_String_ID_Set_Access;
-      Trace                        : not null access WisiToken.Trace'Class;
-      User_Data                    : in     
WisiToken.Syntax_Trees.User_Data_Access)
-   is
-      use WisiToken.Parse.LR;
-      McKenzie_Param : constant McKenzie_Param_Type :=
-        (First_Terminal    => 3,
-         Last_Terminal     => 39,
-         First_Nonterminal => 40,
-         Last_Nonterminal  => 73,
-         Insert =>
-           (4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
-            4),
-         Delete =>
-           (4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
-            4),
-         Push_Back =>
-           (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, 2, 2, 2, 2, 2, 2, 2, 2, 
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2),
-         Undo_Reduce =>
-           (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),
-         Minimal_Complete_Cost_Delta => -1,
-         Fast_Forward =>  0,
-         Matching_Begin =>  0,
-         Ignore_Check_Fail  => 2,
-         Task_Count  => 0,
-         Check_Limit => 3,
-         Check_Delta_Limit => 200,
-         Enqueue_Limit => 10000);
-
-      Table : constant Parse_Table_Ptr := new Parse_Table
-        (State_First       => 0,
-         State_Last        => 322,
-         First_Terminal    => 3,
-         Last_Terminal     => 39,
-         First_Nonterminal => 40,
-         Last_Nonterminal  => 73);
-   begin
-      Table.McKenzie_Param := McKenzie_Param;
-      declare
-         procedure Subr_1
-         is begin
-            Table.States (0).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (0), 3, Reduce, (50, 0),  0, null, null);
-            Add_Action (Table.States (0), 5, Reduce, (50, 0),  0, null, null);
-            Add_Action (Table.States (0), 7, Reduce, (50, 0),  0, null, null);
-            Add_Action (Table.States (0), 15, Reduce, (50, 0),  0, null, null);
-            Add_Action (Table.States (0), 19, Reduce, (50, 0),  0, null, null);
-            Add_Action (Table.States (0), 22, Reduce, (50, 0),  0, null, null);
-            Add_Action (Table.States (0), 26, (73, 0), 1);
-            Add_Action (Table.States (0), 39, Reduce, (50, 0),  0, null, null);
-            Table.States (0).Goto_List.Set_Capacity (4);
-            Add_Goto (Table.States (0), 48, 2);
-            Add_Goto (Table.States (0), 49, 3);
-            Add_Goto (Table.States (0), 50, 4);
-            Add_Goto (Table.States (0), 73, 5);
-            Table.States (1).Action_List.Set_Capacity (11);
-            Add_Action (Table.States (1), 10, (57, 0), 6);
-            Add_Action (Table.States (1), 11, (57, 1), 7);
-            Add_Action (Table.States (1), 14, (41, 0), 8);
-            Add_Action (Table.States (1), 19, (43, 0), 9);
-            Add_Action (Table.States (1), 27, Reduce, (58, 0),  0, null, null);
-            Add_Action (Table.States (1), 30, Reduce, (58, 0),  0, null, null);
-            Add_Action (Table.States (1), 31, Reduce, (58, 0),  0, null, null);
-            Add_Action (Table.States (1), 33, Reduce, (58, 0),  0, null, null);
-            Add_Action (Table.States (1), 34, Reduce, (58, 0),  0, null, null);
-            Add_Action (Table.States (1), 37, (58, 1), 10);
-            Add_Action (Table.States (1), 38, (69, 0), 11);
-            Table.States (1).Goto_List.Set_Capacity (10);
-            Add_Goto (Table.States (1), 41, 12);
-            Add_Goto (Table.States (1), 43, 13);
-            Add_Goto (Table.States (1), 44, 14);
-            Add_Goto (Table.States (1), 56, 15);
-            Add_Goto (Table.States (1), 57, 16);
-            Add_Goto (Table.States (1), 58, 17);
-            Add_Goto (Table.States (1), 59, 18);
-            Add_Goto (Table.States (1), 69, 19);
-            Add_Goto (Table.States (1), 70, 20);
-            Add_Goto (Table.States (1), 71, 21);
-            Table.States (1).Kernel := To_Vector ((0 => ((73, 0),  26,  1, 
(2147483647, 0),  0)));
-            Table.States (1).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (70, 0),  0)));
-            Table.States (2).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (2), 39, Accept_It, (40, 0),  1, null, 
null);
-            Table.States (3).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (3), 3, Reduce, (50, 1),  1, null, null);
-            Add_Action (Table.States (3), 5, Reduce, (50, 1),  1, null, null);
-            Add_Action (Table.States (3), 7, Reduce, (50, 1),  1, null, null);
-            Add_Action (Table.States (3), 15, Reduce, (50, 1),  1, null, null);
-            Add_Action (Table.States (3), 19, Reduce, (50, 1),  1, null, null);
-            Add_Action (Table.States (3), 22, Reduce, (50, 1),  1, null, null);
-            Add_Action (Table.States (3), 26, (73, 0), 1);
-            Add_Action (Table.States (3), 39, Reduce, (50, 1),  1, null, null);
-            Table.States (3).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (3), 73, 22);
-            Table.States (3).Kernel := To_Vector ((((49, 1),  49,  2, 
(2147483647, 0),  0), ((50, 1),  49,  0, (50, 1),
-             1)));
-            Table.States (3).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (50, 1),  1)));
-            Table.States (4).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (4), 3, (66, 1), 23);
-            Add_Action (Table.States (4), 5, (66, 3), 24);
-            Add_Action (Table.States (4), 7, (66, 6), 25);
-            Add_Action (Table.States (4), 15, (66, 5), 26);
-            Add_Action (Table.States (4), 19, Reduce, (66, 0),  0, null, null);
-            Add_Action (Table.States (4), 22, (66, 2), 27);
-            Add_Action (Table.States (4), 39, Reduce, (66, 0),  0, null, null);
-            Table.States (4).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (4), 66, 28);
-            Table.States (4).Kernel := To_Vector ((0 => ((48, 0),  50,  0, 
(66, 0),  0)));
-            Table.States (4).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (66, 0),  0)));
-            Table.States (5).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (5), (3, 5, 7, 15, 19, 22, 26, 39), (49, 
0),  1, null, null);
-            Table.States (5).Kernel := To_Vector ((0 => ((49, 0),  73,  0, 
(49, 0),  1)));
-            Table.States (5).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (49, 0),  1)));
-            Table.States (6).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (6), 14, (41, 0), 29);
-            Table.States (6).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (6), 41, 30);
-            Table.States (6).Kernel := To_Vector ((0 => ((57, 0),  10,  2, 
(2147483647, 0),  0)));
-            Table.States (6).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (41, 0),  14, 29)));
-            Table.States (7).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (7), 14, (41, 0), 29);
-            Table.States (7).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (7), 41, 31);
-            Table.States (7).Kernel := To_Vector ((0 => ((57, 1),  11,  2, 
(2147483647, 0),  0)));
-            Table.States (7).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (41, 0),  14, 29)));
-            Table.States (8).Action_List.Set_Capacity (11);
-            Add_Action (Table.States (8), 10, (57, 0), 32);
-            Add_Action (Table.States (8), 11, (57, 1), 33);
-            Add_Action (Table.States (8), 14, (41, 0), 34);
-            Add_Action (Table.States (8), 19, (43, 0), 9);
-            Add_Action (Table.States (8), 21, (71, 1), 35);
-            Add_Conflict (Table.States (8), 21, (58, 0),  0, null, null);
-            Add_Action (Table.States (8), 27, Reduce, (58, 0),  0, null, null);
-            Add_Action (Table.States (8), 30, Reduce, (58, 0),  0, null, null);
-            Add_Action (Table.States (8), 31, Reduce, (58, 0),  0, null, null);
-            Add_Action (Table.States (8), 33, Reduce, (58, 0),  0, null, null);
-            Add_Action (Table.States (8), 37, (58, 1), 36);
-            Add_Action (Table.States (8), 38, (69, 0), 37);
-            Table.States (8).Goto_List.Set_Capacity (10);
-            Add_Goto (Table.States (8), 41, 38);
-            Add_Goto (Table.States (8), 43, 39);
-            Add_Goto (Table.States (8), 44, 40);
-            Add_Goto (Table.States (8), 56, 41);
-            Add_Goto (Table.States (8), 57, 42);
-            Add_Goto (Table.States (8), 58, 43);
-            Add_Goto (Table.States (8), 59, 44);
-            Add_Goto (Table.States (8), 69, 45);
-            Add_Goto (Table.States (8), 70, 46);
-            Add_Goto (Table.States (8), 71, 47);
-            Table.States (8).Kernel := To_Vector ((((41, 0),  14,  1, 
(2147483647, 0),  0), ((71, 1),  14,  1,
-            (2147483647, 0),  0)));
-            Table.States (8).Minimal_Complete_Actions := To_Vector (((Reduce, 
(70, 0),  0), (Shift, (71, 1),  21,
-            35)));
-            Table.States (9).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (9), (1 =>  33), (43, 0),  1, null, null);
-            Table.States (9).Kernel := To_Vector ((0 => ((43, 0),  19,  0, 
(43, 0),  1)));
-            Table.States (9).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (43, 0),  1)));
-            Table.States (10).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (10), (27, 30, 31, 33, 34), (58, 1),  1, 
null, identifier_opt_1_check'Access);
-            Table.States (10).Kernel := To_Vector ((0 => ((58, 1),  37,  0, 
(58, 1),  1)));
-            Table.States (10).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (58, 1),  1)));
-            Table.States (11).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (11), (27, 30, 34), (69, 0),  1, null, 
null);
-            Table.States (11).Kernel := To_Vector ((0 => ((69, 0),  38,  0, 
(69, 0),  1)));
-            Table.States (11).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (69, 0),  1)));
-            Table.States (12).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (12), (27, 30, 34), (71, 2),  1, null, 
null);
-            Table.States (12).Kernel := To_Vector ((0 => ((71, 2),  41,  0, 
(71, 2),  1)));
-            Table.States (12).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (71, 2),  1)));
-            Table.States (13).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (13), 33, (44, 0), 48);
-            Table.States (13).Kernel := To_Vector ((((44, 0),  43,  2, 
(2147483647, 0),  0), ((44, 1),  43,  5,
-            (2147483647, 0),  0)));
-            Table.States (13).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (44, 0),  33, 48)));
-            Table.States (14).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (14), (27, 30, 34), (69, 3),  1, null, 
null);
-            Table.States (14).Kernel := To_Vector ((0 => ((69, 3),  44,  0, 
(69, 3),  1)));
-            Table.States (14).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (69, 3),  1)));
-            Table.States (15).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (15), 27, (56, 1), 49);
-            Add_Action (Table.States (15), 30, Reduce, (70, 0),  1, null, 
null);
-            Add_Action (Table.States (15), 34, Reduce, (70, 0),  1, null, 
null);
-            Table.States (15).Kernel := To_Vector ((((56, 1),  56,  1, 
(2147483647, 0),  0), ((70, 0),  56,  0, (70,
-            0),  1)));
-            Table.States (15).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (70, 0),  1)));
-            Table.States (16).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (16), (27, 30, 34), (69, 2),  1, null, 
null);
-            Table.States (16).Kernel := To_Vector ((0 => ((69, 2),  57,  0, 
(69, 2),  1)));
-            Table.States (16).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (69, 2),  1)));
-            Table.States (17).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (17), (27, 30, 31, 33, 34), (59, 0),  1, 
null, null);
-            Table.States (17).Kernel := To_Vector ((0 => ((59, 0),  58,  0, 
(59, 0),  1)));
-            Table.States (17).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (59, 0),  1)));
-            Table.States (18).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (18), 27, Reduce, (69, 1),  1, null, 
null);
-            Add_Action (Table.States (18), 30, Reduce, (69, 1),  1, null, 
null);
-            Add_Action (Table.States (18), 31, (59, 1), 50);
-            Add_Action (Table.States (18), 33, Reduce, (43, 1),  1, null, 
null);
-            Add_Action (Table.States (18), 34, Reduce, (69, 1),  1, null, 
null);
-            Table.States (18).Kernel := To_Vector ((((43, 1),  59,  0, (43, 
1),  1), ((59, 1),  59,  2, (2147483647,
-            0),  0), ((69, 1),  59,  0, (69, 1),  1)));
-            Table.States (18).Minimal_Complete_Actions := To_Vector (((Reduce, 
(43, 1),  1), (Reduce, (69, 1),  1)));
-            Table.States (19).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (19), (27, 30, 34), (71, 0),  1, null, 
null);
-            Table.States (19).Kernel := To_Vector ((0 => ((71, 0),  69,  0, 
(71, 0),  1)));
-            Table.States (19).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (71, 0),  1)));
-            Table.States (20).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (20), 30, (70, 1), 51);
-            Add_Action (Table.States (20), 34, (73, 0), 52);
-            Table.States (20).Kernel := To_Vector ((((70, 1),  70,  1, 
(2147483647, 0),  0), ((73, 0),  70,  1,
-            (2147483647, 0),  0)));
-            Table.States (20).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (73, 0),  34, 52)));
-            Table.States (21).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (21), (27, 30, 34), (56, 0),  1, null, 
null);
-            Table.States (21).Kernel := To_Vector ((0 => ((56, 0),  71,  0, 
(56, 0),  1)));
-            Table.States (21).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (56, 0),  1)));
-            Table.States (22).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (22), (3, 5, 7, 15, 19, 22, 26, 39), (49, 
1),  2, null, null);
-            Table.States (22).Kernel := To_Vector ((0 => ((49, 1),  73,  0, 
(49, 1),  2)));
-            Table.States (22).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (49, 1),  2)));
-            Table.States (23).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (23), (19, 39), (66, 1),  1, null, null);
-            Table.States (23).Kernel := To_Vector ((0 => ((66, 1),  3,  0, 
(66, 1),  1)));
-            Table.States (23).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (66, 1),  1)));
-            Table.States (24).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (24), 15, (66, 4), 53);
-            Add_Action (Table.States (24), 19, Reduce, (66, 3),  1, null, 
null);
-            Add_Action (Table.States (24), 39, Reduce, (66, 3),  1, null, 
null);
-            Table.States (24).Kernel := To_Vector ((((66, 3),  5,  0, (66, 3), 
 1), ((66, 4),  5,  1, (2147483647, 0),
-            0)));
-            Table.States (24).Minimal_Complete_Actions := To_Vector (((Reduce, 
(66, 3),  1), (Shift, (66, 4),  15,
-            53)));
-            Table.States (25).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (25), (19, 39), (66, 6),  1, null, null);
-            Table.States (25).Kernel := To_Vector ((0 => ((66, 6),  7,  0, 
(66, 6),  1)));
-            Table.States (25).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (66, 6),  1)));
-            Table.States (26).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (26), (19, 39), (66, 5),  1, null, null);
-            Table.States (26).Kernel := To_Vector ((0 => ((66, 5),  15,  0, 
(66, 5),  1)));
-            Table.States (26).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (66, 5),  1)));
-            Table.States (27).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (27), (19, 39), (66, 2),  1, null, null);
-            Table.States (27).Kernel := To_Vector ((0 => ((66, 2),  22,  0, 
(66, 2),  1)));
-            Table.States (27).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (66, 2),  1)));
-            Table.States (28).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (28), 19, (65, 0), 54);
-            Add_Action (Table.States (28), 39, Reduce, (64, 0),  0, null, 
null);
-            Table.States (28).Goto_List.Set_Capacity (3);
-            Add_Goto (Table.States (28), 64, 55);
-            Add_Goto (Table.States (28), 65, 56);
-            Add_Goto (Table.States (28), 68, 57);
-            Table.States (28).Kernel := To_Vector ((0 => ((48, 0),  66,  0, 
(64, 0),  0)));
-            Table.States (28).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (64, 0),  0)));
-            Table.States (29).Action_List.Set_Capacity (11);
-            Add_Action (Table.States (29), 10, (57, 0), 32);
-            Add_Action (Table.States (29), 11, (57, 1), 33);
-            Add_Action (Table.States (29), 14, (41, 0), 34);
-            Add_Action (Table.States (29), 19, (43, 0), 9);
-            Add_Action (Table.States (29), 21, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (29), 27, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (29), 30, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (29), 31, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (29), 33, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (29), 37, (58, 1), 36);
-            Add_Action (Table.States (29), 38, (69, 0), 37);
-            Table.States (29).Goto_List.Set_Capacity (10);
-            Add_Goto (Table.States (29), 41, 38);
-            Add_Goto (Table.States (29), 43, 39);
-            Add_Goto (Table.States (29), 44, 40);
-            Add_Goto (Table.States (29), 56, 41);
-            Add_Goto (Table.States (29), 57, 42);
-            Add_Goto (Table.States (29), 58, 43);
-            Add_Goto (Table.States (29), 59, 44);
-            Add_Goto (Table.States (29), 69, 45);
-            Add_Goto (Table.States (29), 70, 46);
-            Add_Goto (Table.States (29), 71, 47);
-            Table.States (29).Kernel := To_Vector ((0 => ((41, 0),  14,  1, 
(2147483647, 0),  0)));
-            Table.States (29).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (70, 0),  0)));
-            Table.States (30).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (30), (27, 30, 34), (57, 0),  2, null, 
null);
-            Table.States (30).Kernel := To_Vector ((0 => ((57, 0),  41,  0, 
(57, 0),  2)));
-            Table.States (30).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (57, 0),  2)));
-            Table.States (31).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (31), (27, 30, 34), (57, 1),  2, null, 
null);
-            Table.States (31).Kernel := To_Vector ((0 => ((57, 1),  41,  0, 
(57, 1),  2)));
-            Table.States (31).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (57, 1),  2)));
-            Table.States (32).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (32), 14, (41, 0), 58);
-            Table.States (32).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (32), 41, 59);
-            Table.States (32).Kernel := To_Vector ((0 => ((57, 0),  10,  2, 
(2147483647, 0),  0)));
-            Table.States (32).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (41, 0),  14, 58)));
-            Table.States (33).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (33), 14, (41, 0), 58);
-            Table.States (33).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (33), 41, 60);
-            Table.States (33).Kernel := To_Vector ((0 => ((57, 1),  11,  2, 
(2147483647, 0),  0)));
-            Table.States (33).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (41, 0),  14, 58)));
-            Table.States (34).Action_List.Set_Capacity (11);
-            Add_Action (Table.States (34), 10, (57, 0), 32);
-            Add_Action (Table.States (34), 11, (57, 1), 33);
-            Add_Action (Table.States (34), 14, (41, 0), 34);
-            Add_Action (Table.States (34), 19, (43, 0), 9);
-            Add_Action (Table.States (34), 21, (71, 1), 61);
-            Add_Conflict (Table.States (34), 21, (58, 0),  0, null, null);
-            Add_Action (Table.States (34), 27, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (34), 30, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (34), 31, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (34), 33, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (34), 37, (58, 1), 36);
-            Add_Action (Table.States (34), 38, (69, 0), 37);
-            Table.States (34).Goto_List.Set_Capacity (10);
-            Add_Goto (Table.States (34), 41, 38);
-            Add_Goto (Table.States (34), 43, 39);
-            Add_Goto (Table.States (34), 44, 40);
-            Add_Goto (Table.States (34), 56, 41);
-            Add_Goto (Table.States (34), 57, 42);
-            Add_Goto (Table.States (34), 58, 43);
-            Add_Goto (Table.States (34), 59, 44);
-            Add_Goto (Table.States (34), 69, 45);
-            Add_Goto (Table.States (34), 70, 62);
-            Add_Goto (Table.States (34), 71, 47);
-            Table.States (34).Kernel := To_Vector ((((41, 0),  14,  1, 
(2147483647, 0),  0), ((71, 1),  14,  1,
-            (2147483647, 0),  0)));
-            Table.States (34).Minimal_Complete_Actions := To_Vector (((Reduce, 
(70, 0),  0), (Shift, (71, 1),  21,
-            61)));
-            Table.States (35).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (35), (27, 30, 34), (71, 1),  2, null, 
null);
-            Table.States (35).Kernel := To_Vector ((0 => ((71, 1),  21,  0, 
(71, 1),  2)));
-            Table.States (35).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (71, 1),  2)));
-            Table.States (36).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (36), (21, 27, 30, 31, 33), (58, 1),  1, 
null, identifier_opt_1_check'Access);
-            Table.States (36).Kernel := To_Vector ((0 => ((58, 1),  37,  0, 
(58, 1),  1)));
-            Table.States (36).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (58, 1),  1)));
-            Table.States (37).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (37), (21, 27, 30), (69, 0),  1, null, 
null);
-            Table.States (37).Kernel := To_Vector ((0 => ((69, 0),  38,  0, 
(69, 0),  1)));
-            Table.States (37).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (69, 0),  1)));
-            Table.States (38).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (38), (21, 27, 30), (71, 2),  1, null, 
null);
-            Table.States (38).Kernel := To_Vector ((0 => ((71, 2),  41,  0, 
(71, 2),  1)));
-            Table.States (38).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (71, 2),  1)));
-            Table.States (39).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (39), 33, (44, 0), 63);
-            Table.States (39).Kernel := To_Vector ((((44, 0),  43,  2, 
(2147483647, 0),  0), ((44, 1),  43,  5,
-            (2147483647, 0),  0)));
-            Table.States (39).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (44, 0),  33, 63)));
-            Table.States (40).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (40), (21, 27, 30), (69, 3),  1, null, 
null);
-            Table.States (40).Kernel := To_Vector ((0 => ((69, 3),  44,  0, 
(69, 3),  1)));
-            Table.States (40).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (69, 3),  1)));
-            Table.States (41).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (41), 21, Reduce, (70, 0),  1, null, 
null);
-            Add_Action (Table.States (41), 27, (56, 1), 64);
-            Add_Action (Table.States (41), 30, Reduce, (70, 0),  1, null, 
null);
-            Table.States (41).Kernel := To_Vector ((((56, 1),  56,  1, 
(2147483647, 0),  0), ((70, 0),  56,  0, (70,
-            0),  1)));
-            Table.States (41).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (70, 0),  1)));
-            Table.States (42).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (42), (21, 27, 30), (69, 2),  1, null, 
null);
-            Table.States (42).Kernel := To_Vector ((0 => ((69, 2),  57,  0, 
(69, 2),  1)));
-            Table.States (42).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (69, 2),  1)));
-            Table.States (43).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (43), (21, 27, 30, 31, 33), (59, 0),  1, 
null, null);
-            Table.States (43).Kernel := To_Vector ((0 => ((59, 0),  58,  0, 
(59, 0),  1)));
-            Table.States (43).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (59, 0),  1)));
-            Table.States (44).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (44), 21, Reduce, (69, 1),  1, null, 
null);
-            Add_Action (Table.States (44), 27, Reduce, (69, 1),  1, null, 
null);
-            Add_Action (Table.States (44), 30, Reduce, (69, 1),  1, null, 
null);
-            Add_Action (Table.States (44), 31, (59, 1), 65);
-            Add_Action (Table.States (44), 33, Reduce, (43, 1),  1, null, 
null);
-            Table.States (44).Kernel := To_Vector ((((43, 1),  59,  0, (43, 
1),  1), ((59, 1),  59,  2, (2147483647,
-            0),  0), ((69, 1),  59,  0, (69, 1),  1)));
-            Table.States (44).Minimal_Complete_Actions := To_Vector (((Reduce, 
(43, 1),  1), (Reduce, (69, 1),  1)));
-            Table.States (45).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (45), (21, 27, 30), (71, 0),  1, null, 
null);
-            Table.States (45).Kernel := To_Vector ((0 => ((71, 0),  69,  0, 
(71, 0),  1)));
-            Table.States (45).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (71, 0),  1)));
-            Table.States (46).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (46), 21, (41, 0), 66);
-            Add_Action (Table.States (46), 30, (70, 1), 67);
-            Table.States (46).Kernel := To_Vector ((((41, 0),  70,  1, 
(2147483647, 0),  0), ((70, 1),  70,  1,
-            (2147483647, 0),  0)));
-            Table.States (46).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (41, 0),  21, 66)));
-            Table.States (47).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (47), (21, 27, 30), (56, 0),  1, null, 
null);
-            Table.States (47).Kernel := To_Vector ((0 => ((56, 0),  71,  0, 
(56, 0),  1)));
-            Table.States (47).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (56, 0),  1)));
-            Table.States (48).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (48), 37, (44, 0), 68);
-            Table.States (48).Kernel := To_Vector ((((44, 0),  33,  1, 
(2147483647, 0),  0), ((44, 1),  33,  4,
-            (2147483647, 0),  0)));
-            Table.States (48).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (44, 0),  37, 68)));
-            Table.States (49).Action_List.Set_Capacity (11);
-            Add_Action (Table.States (49), 10, (57, 0), 6);
-            Add_Action (Table.States (49), 11, (57, 1), 7);
-            Add_Action (Table.States (49), 14, (41, 0), 8);
-            Add_Action (Table.States (49), 19, (43, 0), 9);
-            Add_Action (Table.States (49), 27, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (49), 30, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (49), 31, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (49), 33, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (49), 34, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (49), 37, (58, 1), 10);
-            Add_Action (Table.States (49), 38, (69, 0), 11);
-            Table.States (49).Goto_List.Set_Capacity (8);
-            Add_Goto (Table.States (49), 41, 12);
-            Add_Goto (Table.States (49), 43, 13);
-            Add_Goto (Table.States (49), 44, 14);
-            Add_Goto (Table.States (49), 57, 16);
-            Add_Goto (Table.States (49), 58, 17);
-            Add_Goto (Table.States (49), 59, 18);
-            Add_Goto (Table.States (49), 69, 19);
-            Add_Goto (Table.States (49), 71, 69);
-            Table.States (49).Kernel := To_Vector ((0 => ((56, 1),  27,  0, 
(71, 0),  1)));
-            Table.States (49).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (71, 0),  1)));
-            Table.States (50).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (50), 37, (59, 1), 70);
-            Table.States (50).Kernel := To_Vector ((0 => ((59, 1),  31,  1, 
(2147483647, 0),  0)));
-            Table.States (50).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (59, 1),  37, 70)));
-            Table.States (51).Action_List.Set_Capacity (11);
-            Add_Action (Table.States (51), 10, (57, 0), 6);
-            Add_Action (Table.States (51), 11, (57, 1), 7);
-            Add_Action (Table.States (51), 14, (41, 0), 8);
-            Add_Action (Table.States (51), 19, (43, 0), 9);
-            Add_Action (Table.States (51), 27, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (51), 30, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (51), 31, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (51), 33, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (51), 34, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (51), 37, (58, 1), 10);
-            Add_Action (Table.States (51), 38, (69, 0), 11);
-            Table.States (51).Goto_List.Set_Capacity (9);
-            Add_Goto (Table.States (51), 41, 12);
-            Add_Goto (Table.States (51), 43, 13);
-            Add_Goto (Table.States (51), 44, 14);
-            Add_Goto (Table.States (51), 56, 71);
-            Add_Goto (Table.States (51), 57, 16);
-            Add_Goto (Table.States (51), 58, 17);
-            Add_Goto (Table.States (51), 59, 18);
-            Add_Goto (Table.States (51), 69, 19);
-            Add_Goto (Table.States (51), 71, 21);
-            Table.States (51).Kernel := To_Vector ((0 => ((70, 1),  30,  0, 
(56, 1),  3)));
-            Table.States (51).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (56, 1),  3)));
-            Table.States (52).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (52), (3, 5, 7, 15, 19, 22, 26, 39), (73, 
0),  3, null, null);
-            Table.States (52).Kernel := To_Vector ((0 => ((73, 0),  34,  0, 
(73, 0),  3)));
-            Table.States (52).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (73, 0),  3)));
-            Table.States (53).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (53), (19, 39), (66, 4),  2, null, null);
-            Table.States (53).Kernel := To_Vector ((0 => ((66, 4),  15,  0, 
(66, 4),  2)));
-            Table.States (53).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (66, 4),  2)));
-            Table.States (54).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (54), 9, Reduce, (58, 0),  0, null, null);
-            Add_Action (Table.States (54), 13, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (54), 37, (58, 1), 72);
-            Table.States (54).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (54), 58, 73);
-            Table.States (54).Kernel := To_Vector ((((65, 0),  19,  5, 
(2147483647, 0),  0), ((68, 0),  19,  3,
-            (2147483647, 0),  0)));
-            Table.States (54).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (58, 0),  0)));
-            Table.States (55).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (55), (1 =>  39), (48, 0),  3, 
compilation_unit_0'Access, null);
-            Table.States (55).Kernel := To_Vector ((0 => ((48, 0),  64,  0, 
(48, 0),  3)));
-            Table.States (55).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (48, 0),  3)));
-            Table.States (56).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (56), (1 =>  39), (64, 2),  1, null, 
null);
-            Table.States (56).Kernel := To_Vector ((0 => ((64, 2),  65,  0, 
(64, 2),  1)));
-            Table.States (56).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (64, 2),  1)));
-            Table.States (57).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (57), (1 =>  39), (64, 1),  1, null, 
null);
-            Table.States (57).Kernel := To_Vector ((0 => ((64, 1),  68,  0, 
(64, 1),  1)));
-            Table.States (57).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (64, 1),  1)));
-            Table.States (58).Action_List.Set_Capacity (11);
-            Add_Action (Table.States (58), 10, (57, 0), 32);
-            Add_Action (Table.States (58), 11, (57, 1), 33);
-            Add_Action (Table.States (58), 14, (41, 0), 34);
-            Add_Action (Table.States (58), 19, (43, 0), 9);
-            Add_Action (Table.States (58), 21, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (58), 27, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (58), 30, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (58), 31, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (58), 33, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (58), 37, (58, 1), 36);
-            Add_Action (Table.States (58), 38, (69, 0), 37);
-            Table.States (58).Goto_List.Set_Capacity (10);
-            Add_Goto (Table.States (58), 41, 38);
-            Add_Goto (Table.States (58), 43, 39);
-            Add_Goto (Table.States (58), 44, 40);
-            Add_Goto (Table.States (58), 56, 41);
-            Add_Goto (Table.States (58), 57, 42);
-            Add_Goto (Table.States (58), 58, 43);
-            Add_Goto (Table.States (58), 59, 44);
-            Add_Goto (Table.States (58), 69, 45);
-            Add_Goto (Table.States (58), 70, 62);
-            Add_Goto (Table.States (58), 71, 47);
-            Table.States (58).Kernel := To_Vector ((0 => ((41, 0),  14,  1, 
(2147483647, 0),  0)));
-            Table.States (58).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (70, 0),  0)));
-            Table.States (59).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (59), (21, 27, 30), (57, 0),  2, null, 
null);
-            Table.States (59).Kernel := To_Vector ((0 => ((57, 0),  41,  0, 
(57, 0),  2)));
-            Table.States (59).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (57, 0),  2)));
-            Table.States (60).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (60), (21, 27, 30), (57, 1),  2, null, 
null);
-            Table.States (60).Kernel := To_Vector ((0 => ((57, 1),  41,  0, 
(57, 1),  2)));
-            Table.States (60).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (57, 1),  2)));
-            Table.States (61).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (61), (21, 27, 30), (71, 1),  2, null, 
null);
-            Table.States (61).Kernel := To_Vector ((0 => ((71, 1),  21,  0, 
(71, 1),  2)));
-            Table.States (61).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (71, 1),  2)));
-            Table.States (62).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (62), 21, (41, 0), 74);
-            Add_Action (Table.States (62), 30, (70, 1), 67);
-            Table.States (62).Kernel := To_Vector ((((41, 0),  70,  1, 
(2147483647, 0),  0), ((70, 1),  70,  1,
-            (2147483647, 0),  0)));
-            Table.States (62).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (41, 0),  21, 74)));
-            Table.States (63).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (63), 37, (44, 0), 75);
-            Table.States (63).Kernel := To_Vector ((((44, 0),  33,  1, 
(2147483647, 0),  0), ((44, 1),  33,  4,
-            (2147483647, 0),  0)));
-            Table.States (63).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (44, 0),  37, 75)));
-            Table.States (64).Action_List.Set_Capacity (11);
-            Add_Action (Table.States (64), 10, (57, 0), 32);
-            Add_Action (Table.States (64), 11, (57, 1), 33);
-            Add_Action (Table.States (64), 14, (41, 0), 34);
-            Add_Action (Table.States (64), 19, (43, 0), 9);
-            Add_Action (Table.States (64), 21, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (64), 27, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (64), 30, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (64), 31, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (64), 33, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (64), 37, (58, 1), 36);
-            Add_Action (Table.States (64), 38, (69, 0), 37);
-            Table.States (64).Goto_List.Set_Capacity (8);
-            Add_Goto (Table.States (64), 41, 38);
-            Add_Goto (Table.States (64), 43, 39);
-            Add_Goto (Table.States (64), 44, 40);
-            Add_Goto (Table.States (64), 57, 42);
-            Add_Goto (Table.States (64), 58, 43);
-            Add_Goto (Table.States (64), 59, 44);
-            Add_Goto (Table.States (64), 69, 45);
-            Add_Goto (Table.States (64), 71, 76);
-            Table.States (64).Kernel := To_Vector ((0 => ((56, 1),  27,  0, 
(71, 0),  1)));
-            Table.States (64).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (71, 0),  1)));
-            Table.States (65).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (65), 37, (59, 1), 77);
-            Table.States (65).Kernel := To_Vector ((0 => ((59, 1),  31,  1, 
(2147483647, 0),  0)));
-            Table.States (65).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (59, 1),  37, 77)));
-            Table.States (66).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (66), (27, 30, 34), (41, 0),  3, 
aggregate_g_0'Access, null);
-            Table.States (66).Kernel := To_Vector ((0 => ((41, 0),  21,  0, 
(41, 0),  3)));
-            Table.States (66).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (41, 0),  3)));
-            Table.States (67).Action_List.Set_Capacity (11);
-            Add_Action (Table.States (67), 10, (57, 0), 32);
-            Add_Action (Table.States (67), 11, (57, 1), 33);
-            Add_Action (Table.States (67), 14, (41, 0), 34);
-            Add_Action (Table.States (67), 19, (43, 0), 9);
-            Add_Action (Table.States (67), 21, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (67), 27, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (67), 30, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (67), 31, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (67), 33, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (67), 37, (58, 1), 36);
-            Add_Action (Table.States (67), 38, (69, 0), 37);
-            Table.States (67).Goto_List.Set_Capacity (9);
-            Add_Goto (Table.States (67), 41, 38);
-            Add_Goto (Table.States (67), 43, 39);
-            Add_Goto (Table.States (67), 44, 40);
-            Add_Goto (Table.States (67), 56, 78);
-            Add_Goto (Table.States (67), 57, 42);
-            Add_Goto (Table.States (67), 58, 43);
-            Add_Goto (Table.States (67), 59, 44);
-            Add_Goto (Table.States (67), 69, 45);
-            Add_Goto (Table.States (67), 71, 47);
-            Table.States (67).Kernel := To_Vector ((0 => ((70, 1),  30,  0, 
(56, 1),  3)));
-            Table.States (67).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (56, 1),  3)));
-            Table.States (68).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (68), 14, (44, 1), 79);
-            Add_Action (Table.States (68), 27, Reduce, (44, 0),  3, null, 
null);
-            Add_Action (Table.States (68), 30, Reduce, (44, 0),  3, null, 
null);
-            Add_Action (Table.States (68), 34, Reduce, (44, 0),  3, null, 
null);
-            Table.States (68).Kernel := To_Vector ((((44, 0),  37,  0, (44, 
0),  3), ((44, 1),  37,  3, (2147483647,
-            0),  0)));
-            Table.States (68).Minimal_Complete_Actions := To_Vector (((Reduce, 
(44, 0),  3), (Shift, (44, 1),  14,
-            79)));
-            Table.States (69).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (69), (27, 30, 34), (56, 1),  3, null, 
null);
-            Table.States (69).Kernel := To_Vector ((0 => ((56, 1),  71,  0, 
(56, 1),  3)));
-            Table.States (69).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (56, 1),  3)));
-            Table.States (70).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (70), (27, 30, 31, 33, 34), (59, 1),  3, 
null, null);
-            Table.States (70).Kernel := To_Vector ((0 => ((59, 1),  37,  0, 
(59, 1),  3)));
-            Table.States (70).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (59, 1),  3)));
-            Table.States (71).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (71), 27, (56, 1), 49);
-            Add_Action (Table.States (71), 30, Reduce, (70, 1),  3, null, 
null);
-            Add_Action (Table.States (71), 34, Reduce, (70, 1),  3, null, 
null);
-            Table.States (71).Kernel := To_Vector ((((56, 1),  56,  1, 
(2147483647, 0),  0), ((70, 1),  56,  0, (70,
-            1),  3)));
-            Table.States (71).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (70, 1),  3)));
-            Table.States (72).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (72), (9, 13), (58, 1),  1, null, 
identifier_opt_1_check'Access);
-            Table.States (72).Kernel := To_Vector ((0 => ((58, 1),  37,  0, 
(58, 1),  1)));
-            Table.States (72).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (58, 1),  1)));
-            Table.States (73).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (73), 9, (65, 0), 80);
-            Add_Action (Table.States (73), 13, (68, 0), 81);
-            Table.States (73).Kernel := To_Vector ((((65, 0),  58,  5, 
(2147483647, 0),  0), ((68, 0),  58,  3,
-            (2147483647, 0),  0)));
-            Table.States (73).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (68, 0),  13, 81)));
-            Table.States (74).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (74), (21, 27, 30), (41, 0),  3, 
aggregate_g_0'Access, null);
-            Table.States (74).Kernel := To_Vector ((0 => ((41, 0),  21,  0, 
(41, 0),  3)));
-            Table.States (74).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (41, 0),  3)));
-            Table.States (75).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (75), 14, (44, 1), 82);
-            Add_Action (Table.States (75), 21, Reduce, (44, 0),  3, null, 
null);
-            Add_Action (Table.States (75), 27, Reduce, (44, 0),  3, null, 
null);
-            Add_Action (Table.States (75), 30, Reduce, (44, 0),  3, null, 
null);
-            Table.States (75).Kernel := To_Vector ((((44, 0),  37,  0, (44, 
0),  3), ((44, 1),  37,  3, (2147483647,
-            0),  0)));
-            Table.States (75).Minimal_Complete_Actions := To_Vector (((Reduce, 
(44, 0),  3), (Shift, (44, 1),  14,
-            82)));
-            Table.States (76).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (76), (21, 27, 30), (56, 1),  3, null, 
null);
-            Table.States (76).Kernel := To_Vector ((0 => ((56, 1),  71,  0, 
(56, 1),  3)));
-            Table.States (76).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (56, 1),  3)));
-            Table.States (77).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (77), (21, 27, 30, 31, 33), (59, 1),  3, 
null, null);
-            Table.States (77).Kernel := To_Vector ((0 => ((59, 1),  37,  0, 
(59, 1),  3)));
-            Table.States (77).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (59, 1),  3)));
-            Table.States (78).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (78), 21, Reduce, (70, 1),  3, null, 
null);
-            Add_Action (Table.States (78), 27, (56, 1), 64);
-            Add_Action (Table.States (78), 30, Reduce, (70, 1),  3, null, 
null);
-            Table.States (78).Kernel := To_Vector ((((56, 1),  56,  1, 
(2147483647, 0),  0), ((70, 1),  56,  0, (70,
-            1),  3)));
-            Table.States (78).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (70, 1),  3)));
-            Table.States (79).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (79), 38, (44, 1), 83);
-            Table.States (79).Kernel := To_Vector ((0 => ((44, 1),  14,  2, 
(2147483647, 0),  0)));
-            Table.States (79).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (44, 1),  38, 83)));
-            Table.States (80).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (80), 38, (65, 0), 84);
-            Table.States (80).Kernel := To_Vector ((0 => ((65, 0),  9,  4, 
(2147483647, 0),  0)));
-            Table.States (80).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (65, 0),  38, 84)));
-            Table.States (81).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (81), 6, (45, 0), 85);
-            Add_Action (Table.States (81), 8, Reduce, (53, 0),  0, null, null);
-            Add_Action (Table.States (81), 12, (42, 0), 86);
-            Add_Action (Table.States (81), 16, (67, 4), 87);
-            Add_Action (Table.States (81), 18, (61, 0), 88);
-            Add_Action (Table.States (81), 23, (72, 0), 89);
-            Add_Action (Table.States (81), 37, (67, 0), 90);
-            Table.States (81).Goto_List.Set_Capacity (11);
-            Add_Goto (Table.States (81), 42, 91);
-            Add_Goto (Table.States (81), 45, 92);
-            Add_Goto (Table.States (81), 51, 93);
-            Add_Goto (Table.States (81), 52, 94);
-            Add_Goto (Table.States (81), 53, 95);
-            Add_Goto (Table.States (81), 60, 96);
-            Add_Goto (Table.States (81), 61, 97);
-            Add_Goto (Table.States (81), 62, 98);
-            Add_Goto (Table.States (81), 63, 99);
-            Add_Goto (Table.States (81), 67, 100);
-            Add_Goto (Table.States (81), 72, 101);
-            Table.States (81).Kernel := To_Vector ((0 => ((68, 0),  13,  2, 
(2147483647, 0),  0)));
-            Table.States (81).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (53, 0),  0)));
-            Table.States (82).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (82), 38, (44, 1), 102);
-            Table.States (82).Kernel := To_Vector ((0 => ((44, 1),  14,  2, 
(2147483647, 0),  0)));
-            Table.States (82).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (44, 1),  38, 102)));
-            Table.States (83).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (83), 21, (44, 1), 103);
-            Table.States (83).Kernel := To_Vector ((0 => ((44, 1),  38,  1, 
(2147483647, 0),  0)));
-            Table.States (83).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (44, 1),  21, 103)));
-            Table.States (84).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (84), 13, (65, 0), 104);
-            Table.States (84).Kernel := To_Vector ((0 => ((65, 0),  38,  3, 
(2147483647, 0),  0)));
-            Table.States (84).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (65, 0),  13, 104)));
-            Table.States (85).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (85), 13, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (85), 31, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (85), 37, (58, 1), 105);
-            Table.States (85).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (85), 58, 106);
-            Add_Goto (Table.States (85), 59, 107);
-            Table.States (85).Kernel := To_Vector ((0 => ((45, 0),  6,  4, 
(2147483647, 0),  0)));
-            Table.States (85).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (59, 0),  0)));
-            Table.States (86).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (86), 10, (42, 3), 108);
-            Add_Action (Table.States (86), 37, (42, 0), 109);
-            Table.States (86).Kernel := To_Vector ((((42, 0),  12,  3, 
(2147483647, 0),  0), ((42, 1),  12,  5,
-            (2147483647, 0),  0), ((42, 2),  12,  7, (2147483647, 0),  0), 
((42, 3),  12,  6, (2147483647, 0),  0)));
-            Table.States (86).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (42, 0),  37, 109)));
-            Table.States (87).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (87), 34, (67, 4), 110);
-            Table.States (87).Kernel := To_Vector ((0 => ((67, 4),  16,  1, 
(2147483647, 0),  0)));
-            Table.States (87).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (67, 4),  34, 110)));
-            Table.States (88).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (88), 9, Reduce, (58, 0),  0, null, null);
-            Add_Action (Table.States (88), 13, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (88), 20, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (88), 37, (58, 1), 111);
-            Table.States (88).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (88), 58, 112);
-            Table.States (88).Kernel := To_Vector ((((61, 0),  18,  3, 
(2147483647, 0),  0), ((62, 0),  18,  4,
-            (2147483647, 0),  0), ((63, 0),  18,  2, (2147483647, 0),  0)));
-            Table.States (88).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (58, 0),  0)));
-            Table.States (89).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (89), 37, (72, 0), 113);
-            Table.States (89).Kernel := To_Vector ((0 => ((72, 0),  23,  5, 
(2147483647, 0),  0)));
-            Table.States (89).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (72, 0),  37, 113)));
-            Table.States (90).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (90), 28, (67, 1), 114);
-            Add_Action (Table.States (90), 29, (67, 0), 115);
-            Table.States (90).Kernel := To_Vector ((((67, 0),  37,  2, 
(2147483647, 0),  0), ((67, 1),  37,  4,
-            (2147483647, 0),  0)));
-            Table.States (90).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (67, 0),  29, 115)));
-            Table.States (91).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (91), (6, 8, 12, 16, 18, 23, 37), (67, 
2),  1, null, null);
-            Table.States (91).Kernel := To_Vector ((0 => ((67, 2),  42,  0, 
(67, 2),  1)));
-            Table.States (91).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (67, 2),  1)));
-            Table.States (92).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (92), (6, 8, 12, 16, 18, 23, 37), (67, 
3),  1, null, null);
-            Table.States (92).Kernel := To_Vector ((0 => ((67, 3),  45,  0, 
(67, 3),  1)));
-            Table.States (92).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (67, 3),  1)));
-            Table.States (93).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (93), (6, 8, 12, 16, 18, 23, 37), (52, 
0),  1, null, null);
-            Table.States (93).Kernel := To_Vector ((0 => ((52, 0),  51,  0, 
(52, 0),  1)));
-            Table.States (93).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (52, 0),  1)));
-            Table.States (94).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (94), 6, (45, 0), 85);
-            Add_Action (Table.States (94), 8, Reduce, (53, 1),  1, null, null);
-            Add_Action (Table.States (94), 12, (42, 0), 86);
-            Add_Action (Table.States (94), 16, (67, 4), 87);
-            Add_Action (Table.States (94), 18, (61, 0), 88);
-            Add_Action (Table.States (94), 23, (72, 0), 89);
-            Add_Action (Table.States (94), 37, (67, 0), 90);
-            Table.States (94).Goto_List.Set_Capacity (9);
-            Add_Goto (Table.States (94), 42, 91);
-            Add_Goto (Table.States (94), 45, 92);
-            Add_Goto (Table.States (94), 51, 116);
-            Add_Goto (Table.States (94), 60, 96);
-            Add_Goto (Table.States (94), 61, 97);
-            Add_Goto (Table.States (94), 62, 98);
-            Add_Goto (Table.States (94), 63, 99);
-            Add_Goto (Table.States (94), 67, 100);
-            Add_Goto (Table.States (94), 72, 101);
-            Table.States (94).Kernel := To_Vector ((((52, 1),  52,  2, 
(2147483647, 0),  0), ((53, 1),  52,  0, (53,
-            1),  1)));
-            Table.States (94).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (53, 1),  1)));
-            Table.States (95).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (95), 8, (68, 0), 117);
-            Table.States (95).Kernel := To_Vector ((0 => ((68, 0),  53,  2, 
(2147483647, 0),  0)));
-            Table.States (95).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (68, 0),  8, 117)));
-            Table.States (96).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (96), (6, 8, 12, 16, 18, 23, 37), (51, 
2),  1, null, null);
-            Table.States (96).Kernel := To_Vector ((0 => ((51, 2),  60,  0, 
(51, 2),  1)));
-            Table.States (96).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (51, 2),  1)));
-            Table.States (97).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (97), (6, 8, 12, 16, 18, 23, 37), (60, 
0),  1, null, null);
-            Table.States (97).Kernel := To_Vector ((0 => ((60, 0),  61,  0, 
(60, 0),  1)));
-            Table.States (97).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (60, 0),  1)));
-            Table.States (98).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (98), (6, 8, 12, 16, 18, 23, 37), (60, 
1),  1, null, null);
-            Table.States (98).Kernel := To_Vector ((0 => ((60, 1),  62,  0, 
(60, 1),  1)));
-            Table.States (98).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (60, 1),  1)));
-            Table.States (99).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (99), (6, 8, 12, 16, 18, 23, 37), (60, 
2),  1, null, null);
-            Table.States (99).Kernel := To_Vector ((0 => ((60, 2),  63,  0, 
(60, 2),  1)));
-            Table.States (99).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (60, 2),  1)));
-            Table.States (100).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (100), (6, 8, 12, 16, 18, 23, 37), (51, 
0),  1, null, null);
-            Table.States (100).Kernel := To_Vector ((0 => ((51, 0),  67,  0, 
(51, 0),  1)));
-            Table.States (100).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (51, 0),  1)));
-            Table.States (101).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (101), (6, 8, 12, 16, 18, 23, 37), (51, 
1),  1, null, null);
-            Table.States (101).Kernel := To_Vector ((0 => ((51, 1),  72,  0, 
(51, 1),  1)));
-            Table.States (101).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (51, 1),  1)));
-         end Subr_1;
-         procedure Subr_2
-         is begin
-            Table.States (102).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (102), 21, (44, 1), 118);
-            Table.States (102).Kernel := To_Vector ((0 => ((44, 1),  38,  1, 
(2147483647, 0),  0)));
-            Table.States (102).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (44, 1),  21, 118)));
-            Table.States (103).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (103), (27, 30, 34), (44, 1),  6, null, 
null);
-            Table.States (103).Kernel := To_Vector ((0 => ((44, 1),  21,  0, 
(44, 1),  6)));
-            Table.States (103).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (44, 1),  6)));
-            Table.States (104).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (104), 6, (45, 0), 85);
-            Add_Action (Table.States (104), 8, Reduce, (53, 0),  0, null, 
null);
-            Add_Action (Table.States (104), 12, (42, 0), 86);
-            Add_Action (Table.States (104), 16, (67, 4), 87);
-            Add_Action (Table.States (104), 18, (61, 0), 88);
-            Add_Action (Table.States (104), 23, (72, 0), 89);
-            Add_Action (Table.States (104), 37, (67, 0), 90);
-            Table.States (104).Goto_List.Set_Capacity (11);
-            Add_Goto (Table.States (104), 42, 91);
-            Add_Goto (Table.States (104), 45, 92);
-            Add_Goto (Table.States (104), 51, 93);
-            Add_Goto (Table.States (104), 52, 94);
-            Add_Goto (Table.States (104), 53, 119);
-            Add_Goto (Table.States (104), 60, 96);
-            Add_Goto (Table.States (104), 61, 97);
-            Add_Goto (Table.States (104), 62, 98);
-            Add_Goto (Table.States (104), 63, 99);
-            Add_Goto (Table.States (104), 67, 100);
-            Add_Goto (Table.States (104), 72, 101);
-            Table.States (104).Kernel := To_Vector ((0 => ((65, 0),  13,  2, 
(2147483647, 0),  0)));
-            Table.States (104).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (53, 0),  0)));
-            Table.States (105).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (105), (13, 31), (58, 1),  1, null, 
identifier_opt_1_check'Access);
-            Table.States (105).Kernel := To_Vector ((0 => ((58, 1),  37,  0, 
(58, 1),  1)));
-            Table.States (105).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (58, 1),  1)));
-            Table.States (106).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (106), (13, 31), (59, 0),  1, null, null);
-            Table.States (106).Kernel := To_Vector ((0 => ((59, 0),  58,  0, 
(59, 0),  1)));
-            Table.States (106).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (59, 0),  1)));
-            Table.States (107).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (107), 13, (45, 0), 120);
-            Add_Action (Table.States (107), 31, (59, 1), 121);
-            Table.States (107).Kernel := To_Vector ((((45, 0),  59,  4, 
(2147483647, 0),  0), ((59, 1),  59,  2,
-            (2147483647, 0),  0)));
-            Table.States (107).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (45, 0),  13, 120)));
-            Table.States (108).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (108), 14, (42, 3), 122);
-            Table.States (108).Kernel := To_Vector ((0 => ((42, 3),  10,  5, 
(2147483647, 0),  0)));
-            Table.States (108).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (42, 3),  14, 122)));
-            Table.States (109).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (109), 14, (42, 1), 123);
-            Add_Action (Table.States (109), 24, (42, 0), 124);
-            Table.States (109).Kernel := To_Vector ((((42, 0),  37,  2, 
(2147483647, 0),  0), ((42, 1),  37,  4,
-            (2147483647, 0),  0), ((42, 2),  37,  6, (2147483647, 0),  0)));
-            Table.States (109).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (42, 0),  24, 124)));
-            Table.States (110).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (110), (6, 8, 12, 16, 18, 23, 37), (67, 
4),  2, simple_declarative_item_4'Access,
-            null);
-            Table.States (110).Kernel := To_Vector ((0 => ((67, 4),  34,  0, 
(67, 4),  2)));
-            Table.States (110).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (67, 4),  2)));
-            Table.States (111).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (111), (9, 13, 20), (58, 1),  1, null, 
identifier_opt_1_check'Access);
-            Table.States (111).Kernel := To_Vector ((0 => ((58, 1),  37,  0, 
(58, 1),  1)));
-            Table.States (111).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (58, 1),  1)));
-            Table.States (112).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (112), 9, (62, 0), 125);
-            Add_Action (Table.States (112), 13, (61, 0), 126);
-            Add_Action (Table.States (112), 20, (63, 0), 127);
-            Table.States (112).Kernel := To_Vector ((((61, 0),  58,  3, 
(2147483647, 0),  0), ((62, 0),  58,  4,
-            (2147483647, 0),  0), ((63, 0),  58,  2, (2147483647, 0),  0)));
-            Table.States (112).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (63, 0),  20, 127)));
-            Table.States (113).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (113), 13, (72, 0), 128);
-            Table.States (113).Kernel := To_Vector ((0 => ((72, 0),  37,  4, 
(2147483647, 0),  0)));
-            Table.States (113).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (72, 0),  13, 128)));
-            Table.States (114).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (114), 37, (67, 1), 129);
-            Table.States (114).Kernel := To_Vector ((0 => ((67, 1),  28,  3, 
(2147483647, 0),  0)));
-            Table.States (114).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (67, 1),  37, 129)));
-            Table.States (115).Action_List.Set_Capacity (10);
-            Add_Action (Table.States (115), 10, (57, 0), 130);
-            Add_Action (Table.States (115), 11, (57, 1), 131);
-            Add_Action (Table.States (115), 14, (41, 0), 132);
-            Add_Action (Table.States (115), 19, (43, 0), 9);
-            Add_Action (Table.States (115), 27, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (115), 31, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (115), 33, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (115), 34, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (115), 37, (58, 1), 133);
-            Add_Action (Table.States (115), 38, (69, 0), 134);
-            Table.States (115).Goto_List.Set_Capacity (9);
-            Add_Goto (Table.States (115), 41, 135);
-            Add_Goto (Table.States (115), 43, 136);
-            Add_Goto (Table.States (115), 44, 137);
-            Add_Goto (Table.States (115), 56, 138);
-            Add_Goto (Table.States (115), 57, 139);
-            Add_Goto (Table.States (115), 58, 140);
-            Add_Goto (Table.States (115), 59, 141);
-            Add_Goto (Table.States (115), 69, 142);
-            Add_Goto (Table.States (115), 71, 143);
-            Table.States (115).Kernel := To_Vector ((0 => ((67, 0),  29,  1, 
(2147483647, 0),  0)));
-            Table.States (115).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (56, 0),  0)));
-            Table.States (116).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (116), (6, 8, 12, 16, 18, 23, 37), (52, 
1),  2, null, null);
-            Table.States (116).Kernel := To_Vector ((0 => ((52, 1),  51,  0, 
(52, 1),  2)));
-            Table.States (116).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (52, 1),  2)));
-            Table.States (117).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (117), 34, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (117), 37, (58, 1), 144);
-            Table.States (117).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (117), 58, 145);
-            Table.States (117).Kernel := To_Vector ((0 => ((68, 0),  8,  1, 
(2147483647, 0),  0)));
-            Table.States (117).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (58, 0),  0)));
-            Table.States (118).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (118), (21, 27, 30), (44, 1),  6, null, 
null);
-            Table.States (118).Kernel := To_Vector ((0 => ((44, 1),  21,  0, 
(44, 1),  6)));
-            Table.States (118).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (44, 1),  6)));
-            Table.States (119).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (119), 8, (65, 0), 146);
-            Table.States (119).Kernel := To_Vector ((0 => ((65, 0),  53,  2, 
(2147483647, 0),  0)));
-            Table.States (119).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (65, 0),  8, 146)));
-            Table.States (120).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (120), 8, Reduce, (47, 0),  0, null, 
null);
-            Add_Action (Table.States (120), 25, (46, 0), 147);
-            Add_Conflict (Table.States (120), 25, (47, 0),  0, null, null);
-            Table.States (120).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (120), 46, 148);
-            Add_Goto (Table.States (120), 47, 149);
-            Table.States (120).Kernel := To_Vector ((0 => ((45, 0),  13,  3, 
(2147483647, 0),  0)));
-            Table.States (120).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (47, 0),  0)));
-            Table.States (121).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (121), 37, (59, 1), 150);
-            Table.States (121).Kernel := To_Vector ((0 => ((59, 1),  31,  1, 
(2147483647, 0),  0)));
-            Table.States (121).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (59, 1),  37, 150)));
-            Table.States (122).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (122), 38, (42, 3), 151);
-            Table.States (122).Kernel := To_Vector ((0 => ((42, 3),  14,  4, 
(2147483647, 0),  0)));
-            Table.States (122).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (42, 3),  38, 151)));
-            Table.States (123).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (123), 17, (54, 2), 152);
-            Add_Action (Table.States (123), 21, Reduce, (54, 0),  0, null, 
null);
-            Add_Action (Table.States (123), 38, (54, 1), 153);
-            Table.States (123).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (123), 54, 154);
-            Table.States (123).Kernel := To_Vector ((((42, 1),  14,  3, 
(2147483647, 0),  0), ((42, 2),  14,  5,
-            (2147483647, 0),  0)));
-            Table.States (123).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (54, 0),  0)));
-            Table.States (124).Action_List.Set_Capacity (10);
-            Add_Action (Table.States (124), 10, (57, 0), 130);
-            Add_Action (Table.States (124), 11, (57, 1), 131);
-            Add_Action (Table.States (124), 14, (41, 0), 132);
-            Add_Action (Table.States (124), 19, (43, 0), 9);
-            Add_Action (Table.States (124), 27, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (124), 31, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (124), 33, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (124), 34, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (124), 37, (58, 1), 133);
-            Add_Action (Table.States (124), 38, (69, 0), 134);
-            Table.States (124).Goto_List.Set_Capacity (9);
-            Add_Goto (Table.States (124), 41, 135);
-            Add_Goto (Table.States (124), 43, 136);
-            Add_Goto (Table.States (124), 44, 137);
-            Add_Goto (Table.States (124), 56, 155);
-            Add_Goto (Table.States (124), 57, 139);
-            Add_Goto (Table.States (124), 58, 140);
-            Add_Goto (Table.States (124), 59, 141);
-            Add_Goto (Table.States (124), 69, 142);
-            Add_Goto (Table.States (124), 71, 143);
-            Table.States (124).Kernel := To_Vector ((0 => ((42, 0),  24,  1, 
(2147483647, 0),  0)));
-            Table.States (124).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (56, 0),  0)));
-            Table.States (125).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (125), 13, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (125), 31, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (125), 37, (58, 1), 105);
-            Table.States (125).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (125), 58, 106);
-            Add_Goto (Table.States (125), 59, 156);
-            Table.States (125).Kernel := To_Vector ((0 => ((62, 0),  9,  3, 
(2147483647, 0),  0)));
-            Table.States (125).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (59, 0),  0)));
-            Table.States (126).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (126), 6, (45, 0), 85);
-            Add_Action (Table.States (126), 8, Reduce, (53, 0),  0, null, 
null);
-            Add_Action (Table.States (126), 12, (42, 0), 86);
-            Add_Action (Table.States (126), 16, (67, 4), 87);
-            Add_Action (Table.States (126), 18, (61, 0), 88);
-            Add_Action (Table.States (126), 23, (72, 0), 89);
-            Add_Action (Table.States (126), 37, (67, 0), 90);
-            Table.States (126).Goto_List.Set_Capacity (11);
-            Add_Goto (Table.States (126), 42, 91);
-            Add_Goto (Table.States (126), 45, 92);
-            Add_Goto (Table.States (126), 51, 93);
-            Add_Goto (Table.States (126), 52, 94);
-            Add_Goto (Table.States (126), 53, 157);
-            Add_Goto (Table.States (126), 60, 96);
-            Add_Goto (Table.States (126), 61, 97);
-            Add_Goto (Table.States (126), 62, 98);
-            Add_Goto (Table.States (126), 63, 99);
-            Add_Goto (Table.States (126), 67, 100);
-            Add_Goto (Table.States (126), 72, 101);
-            Table.States (126).Kernel := To_Vector ((0 => ((61, 0),  13,  2, 
(2147483647, 0),  0)));
-            Table.States (126).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (53, 0),  0)));
-            Table.States (127).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (127), 31, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (127), 34, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (127), 37, (58, 1), 158);
-            Table.States (127).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (127), 58, 159);
-            Add_Goto (Table.States (127), 59, 160);
-            Table.States (127).Kernel := To_Vector ((0 => ((63, 0),  20,  1, 
(2147483647, 0),  0)));
-            Table.States (127).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (59, 0),  0)));
-            Table.States (128).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (128), 14, (41, 0), 161);
-            Table.States (128).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (128), 41, 162);
-            Table.States (128).Kernel := To_Vector ((0 => ((72, 0),  13,  3, 
(2147483647, 0),  0)));
-            Table.States (128).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (41, 0),  14, 161)));
-            Table.States (129).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (129), 29, (67, 1), 163);
-            Table.States (129).Kernel := To_Vector ((0 => ((67, 1),  37,  2, 
(2147483647, 0),  0)));
-            Table.States (129).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (67, 1),  29, 163)));
-            Table.States (130).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (130), 14, (41, 0), 164);
-            Table.States (130).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (130), 41, 165);
-            Table.States (130).Kernel := To_Vector ((0 => ((57, 0),  10,  2, 
(2147483647, 0),  0)));
-            Table.States (130).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (41, 0),  14, 164)));
-            Table.States (131).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (131), 14, (41, 0), 164);
-            Table.States (131).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (131), 41, 166);
-            Table.States (131).Kernel := To_Vector ((0 => ((57, 1),  11,  2, 
(2147483647, 0),  0)));
-            Table.States (131).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (41, 0),  14, 164)));
-            Table.States (132).Action_List.Set_Capacity (11);
-            Add_Action (Table.States (132), 10, (57, 0), 32);
-            Add_Action (Table.States (132), 11, (57, 1), 33);
-            Add_Action (Table.States (132), 14, (41, 0), 34);
-            Add_Action (Table.States (132), 19, (43, 0), 9);
-            Add_Action (Table.States (132), 21, (71, 1), 167);
-            Add_Conflict (Table.States (132), 21, (58, 0),  0, null, null);
-            Add_Action (Table.States (132), 27, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (132), 30, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (132), 31, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (132), 33, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (132), 37, (58, 1), 36);
-            Add_Action (Table.States (132), 38, (69, 0), 37);
-            Table.States (132).Goto_List.Set_Capacity (10);
-            Add_Goto (Table.States (132), 41, 38);
-            Add_Goto (Table.States (132), 43, 39);
-            Add_Goto (Table.States (132), 44, 40);
-            Add_Goto (Table.States (132), 56, 41);
-            Add_Goto (Table.States (132), 57, 42);
-            Add_Goto (Table.States (132), 58, 43);
-            Add_Goto (Table.States (132), 59, 44);
-            Add_Goto (Table.States (132), 69, 45);
-            Add_Goto (Table.States (132), 70, 168);
-            Add_Goto (Table.States (132), 71, 47);
-            Table.States (132).Kernel := To_Vector ((((41, 0),  14,  1, 
(2147483647, 0),  0), ((71, 1),  14,  1,
-            (2147483647, 0),  0)));
-            Table.States (132).Minimal_Complete_Actions := To_Vector 
(((Reduce, (70, 0),  0), (Shift, (71, 1),  21,
-            167)));
-            Table.States (133).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (133), (27, 31, 33, 34), (58, 1),  1, 
null, identifier_opt_1_check'Access);
-            Table.States (133).Kernel := To_Vector ((0 => ((58, 1),  37,  0, 
(58, 1),  1)));
-            Table.States (133).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (58, 1),  1)));
-            Table.States (134).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (134), (27, 34), (69, 0),  1, null, null);
-            Table.States (134).Kernel := To_Vector ((0 => ((69, 0),  38,  0, 
(69, 0),  1)));
-            Table.States (134).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (69, 0),  1)));
-            Table.States (135).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (135), (27, 34), (71, 2),  1, null, null);
-            Table.States (135).Kernel := To_Vector ((0 => ((71, 2),  41,  0, 
(71, 2),  1)));
-            Table.States (135).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (71, 2),  1)));
-            Table.States (136).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (136), 33, (44, 0), 169);
-            Table.States (136).Kernel := To_Vector ((((44, 0),  43,  2, 
(2147483647, 0),  0), ((44, 1),  43,  5,
-            (2147483647, 0),  0)));
-            Table.States (136).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (44, 0),  33, 169)));
-            Table.States (137).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (137), (27, 34), (69, 3),  1, null, null);
-            Table.States (137).Kernel := To_Vector ((0 => ((69, 3),  44,  0, 
(69, 3),  1)));
-            Table.States (137).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (69, 3),  1)));
-            Table.States (138).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (138), 27, (56, 1), 170);
-            Add_Action (Table.States (138), 34, (67, 0), 171);
-            Table.States (138).Kernel := To_Vector ((((56, 1),  56,  1, 
(2147483647, 0),  0), ((67, 0),  56,  1,
-            (2147483647, 0),  0)));
-            Table.States (138).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (67, 0),  34, 171)));
-            Table.States (139).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (139), (27, 34), (69, 2),  1, null, null);
-            Table.States (139).Kernel := To_Vector ((0 => ((69, 2),  57,  0, 
(69, 2),  1)));
-            Table.States (139).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (69, 2),  1)));
-            Table.States (140).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (140), (27, 31, 33, 34), (59, 0),  1, 
null, null);
-            Table.States (140).Kernel := To_Vector ((0 => ((59, 0),  58,  0, 
(59, 0),  1)));
-            Table.States (140).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (59, 0),  1)));
-            Table.States (141).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (141), 27, Reduce, (69, 1),  1, null, 
null);
-            Add_Action (Table.States (141), 31, (59, 1), 172);
-            Add_Action (Table.States (141), 33, Reduce, (43, 1),  1, null, 
null);
-            Add_Action (Table.States (141), 34, Reduce, (69, 1),  1, null, 
null);
-            Table.States (141).Kernel := To_Vector ((((43, 1),  59,  0, (43, 
1),  1), ((59, 1),  59,  2, (2147483647,
-            0),  0), ((69, 1),  59,  0, (69, 1),  1)));
-            Table.States (141).Minimal_Complete_Actions := To_Vector 
(((Reduce, (43, 1),  1), (Reduce, (69, 1),  1)));
-            Table.States (142).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (142), (27, 34), (71, 0),  1, null, null);
-            Table.States (142).Kernel := To_Vector ((0 => ((71, 0),  69,  0, 
(71, 0),  1)));
-            Table.States (142).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (71, 0),  1)));
-            Table.States (143).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (143), (27, 34), (56, 0),  1, null, null);
-            Table.States (143).Kernel := To_Vector ((0 => ((56, 0),  71,  0, 
(56, 0),  1)));
-            Table.States (143).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (56, 0),  1)));
-            Table.States (144).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (144), (1 =>  34), (58, 1),  1, null, 
identifier_opt_1_check'Access);
-            Table.States (144).Kernel := To_Vector ((0 => ((58, 1),  37,  0, 
(58, 1),  1)));
-            Table.States (144).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (58, 1),  1)));
-            Table.States (145).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (145), 34, (68, 0), 173);
-            Table.States (145).Kernel := To_Vector ((0 => ((68, 0),  58,  1, 
(2147483647, 0),  0)));
-            Table.States (145).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (68, 0),  34, 173)));
-            Table.States (146).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (146), 34, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (146), 37, (58, 1), 144);
-            Table.States (146).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (146), 58, 174);
-            Table.States (146).Kernel := To_Vector ((0 => ((65, 0),  8,  1, 
(2147483647, 0),  0)));
-            Table.States (146).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (58, 0),  0)));
-            Table.States (147).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (147), 17, (54, 2), 175);
-            Add_Action (Table.States (147), 32, Reduce, (54, 0),  0, null, 
null);
-            Add_Action (Table.States (147), 35, Reduce, (54, 0),  0, null, 
null);
-            Add_Action (Table.States (147), 38, (54, 1), 176);
-            Table.States (147).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (147), 54, 177);
-            Add_Goto (Table.States (147), 55, 178);
-            Table.States (147).Kernel := To_Vector ((0 => ((46, 0),  25,  1, 
(2147483647, 0),  0)));
-            Table.States (147).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (55, 0),  0)));
-            Table.States (148).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (148), (8, 25), (47, 1),  1, null, null);
-            Table.States (148).Kernel := To_Vector ((0 => ((47, 1),  46,  0, 
(47, 1),  1)));
-            Table.States (148).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (47, 1),  1)));
-            Table.States (149).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (149), 8, (45, 0), 179);
-            Add_Action (Table.States (149), 25, (46, 0), 147);
-            Table.States (149).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (149), 46, 180);
-            Table.States (149).Kernel := To_Vector ((((45, 0),  47,  3, 
(2147483647, 0),  0), ((47, 2),  47,  2,
-            (2147483647, 0),  0)));
-            Table.States (149).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (45, 0),  8, 179)));
-            Table.States (150).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (150), (13, 31), (59, 1),  3, null, null);
-            Table.States (150).Kernel := To_Vector ((0 => ((59, 1),  37,  0, 
(59, 1),  3)));
-            Table.States (150).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (59, 1),  3)));
-            Table.States (151).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (151), 21, (42, 3), 181);
-            Table.States (151).Kernel := To_Vector ((0 => ((42, 3),  38,  3, 
(2147483647, 0),  0)));
-            Table.States (151).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (42, 3),  21, 181)));
-            Table.States (152).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (152), (1 =>  21), (54, 2),  1, null, 
null);
-            Table.States (152).Kernel := To_Vector ((0 => ((54, 2),  17,  0, 
(54, 2),  1)));
-            Table.States (152).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (54, 2),  1)));
-            Table.States (153).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (153), (1 =>  21), (54, 1),  1, null, 
null);
-            Table.States (153).Kernel := To_Vector ((0 => ((54, 1),  38,  0, 
(54, 1),  1)));
-            Table.States (153).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (54, 1),  1)));
-            Table.States (154).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (154), 21, (42, 1), 182);
-            Table.States (154).Kernel := To_Vector ((((42, 1),  54,  3, 
(2147483647, 0),  0), ((42, 2),  54,  5,
-            (2147483647, 0),  0)));
-            Table.States (154).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (42, 1),  21, 182)));
-            Table.States (155).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (155), 27, (56, 1), 170);
-            Add_Action (Table.States (155), 34, (42, 0), 183);
-            Table.States (155).Kernel := To_Vector ((((42, 0),  56,  1, 
(2147483647, 0),  0), ((56, 1),  56,  1,
-            (2147483647, 0),  0)));
-            Table.States (155).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (42, 0),  34, 183)));
-            Table.States (156).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (156), 13, (62, 0), 184);
-            Add_Action (Table.States (156), 31, (59, 1), 121);
-            Table.States (156).Kernel := To_Vector ((((59, 1),  59,  2, 
(2147483647, 0),  0), ((62, 0),  59,  3,
-            (2147483647, 0),  0)));
-            Table.States (156).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (62, 0),  13, 184)));
-            Table.States (157).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (157), 8, (61, 0), 185);
-            Table.States (157).Kernel := To_Vector ((0 => ((61, 0),  53,  2, 
(2147483647, 0),  0)));
-            Table.States (157).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (61, 0),  8, 185)));
-            Table.States (158).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (158), (31, 34), (58, 1),  1, null, 
identifier_opt_1_check'Access);
-            Table.States (158).Kernel := To_Vector ((0 => ((58, 1),  37,  0, 
(58, 1),  1)));
-            Table.States (158).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (58, 1),  1)));
-            Table.States (159).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (159), (31, 34), (59, 0),  1, null, null);
-            Table.States (159).Kernel := To_Vector ((0 => ((59, 0),  58,  0, 
(59, 0),  1)));
-            Table.States (159).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (59, 0),  1)));
-            Table.States (160).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (160), 31, (59, 1), 186);
-            Add_Action (Table.States (160), 34, (63, 0), 187);
-            Table.States (160).Kernel := To_Vector ((((59, 1),  59,  2, 
(2147483647, 0),  0), ((63, 0),  59,  1,
-            (2147483647, 0),  0)));
-            Table.States (160).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (63, 0),  34, 187)));
-            Table.States (161).Action_List.Set_Capacity (11);
-            Add_Action (Table.States (161), 10, (57, 0), 32);
-            Add_Action (Table.States (161), 11, (57, 1), 33);
-            Add_Action (Table.States (161), 14, (41, 0), 34);
-            Add_Action (Table.States (161), 19, (43, 0), 9);
-            Add_Action (Table.States (161), 21, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (161), 27, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (161), 30, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (161), 31, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (161), 33, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (161), 37, (58, 1), 36);
-            Add_Action (Table.States (161), 38, (69, 0), 37);
-            Table.States (161).Goto_List.Set_Capacity (10);
-            Add_Goto (Table.States (161), 41, 38);
-            Add_Goto (Table.States (161), 43, 39);
-            Add_Goto (Table.States (161), 44, 40);
-            Add_Goto (Table.States (161), 56, 41);
-            Add_Goto (Table.States (161), 57, 42);
-            Add_Goto (Table.States (161), 58, 43);
-            Add_Goto (Table.States (161), 59, 44);
-            Add_Goto (Table.States (161), 69, 45);
-            Add_Goto (Table.States (161), 70, 188);
-            Add_Goto (Table.States (161), 71, 47);
-            Table.States (161).Kernel := To_Vector ((0 => ((41, 0),  14,  1, 
(2147483647, 0),  0)));
-            Table.States (161).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (70, 0),  0)));
-            Table.States (162).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (162), 34, (72, 0), 189);
-            Table.States (162).Kernel := To_Vector ((0 => ((72, 0),  41,  1, 
(2147483647, 0),  0)));
-            Table.States (162).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (72, 0),  34, 189)));
-            Table.States (163).Action_List.Set_Capacity (10);
-            Add_Action (Table.States (163), 10, (57, 0), 130);
-            Add_Action (Table.States (163), 11, (57, 1), 131);
-            Add_Action (Table.States (163), 14, (41, 0), 132);
-            Add_Action (Table.States (163), 19, (43, 0), 9);
-            Add_Action (Table.States (163), 27, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (163), 31, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (163), 33, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (163), 34, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (163), 37, (58, 1), 133);
-            Add_Action (Table.States (163), 38, (69, 0), 134);
-            Table.States (163).Goto_List.Set_Capacity (9);
-            Add_Goto (Table.States (163), 41, 135);
-            Add_Goto (Table.States (163), 43, 136);
-            Add_Goto (Table.States (163), 44, 137);
-            Add_Goto (Table.States (163), 56, 190);
-            Add_Goto (Table.States (163), 57, 139);
-            Add_Goto (Table.States (163), 58, 140);
-            Add_Goto (Table.States (163), 59, 141);
-            Add_Goto (Table.States (163), 69, 142);
-            Add_Goto (Table.States (163), 71, 143);
-            Table.States (163).Kernel := To_Vector ((0 => ((67, 1),  29,  1, 
(2147483647, 0),  0)));
-            Table.States (163).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (56, 0),  0)));
-            Table.States (164).Action_List.Set_Capacity (11);
-            Add_Action (Table.States (164), 10, (57, 0), 32);
-            Add_Action (Table.States (164), 11, (57, 1), 33);
-            Add_Action (Table.States (164), 14, (41, 0), 34);
-            Add_Action (Table.States (164), 19, (43, 0), 9);
-            Add_Action (Table.States (164), 21, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (164), 27, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (164), 30, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (164), 31, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (164), 33, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (164), 37, (58, 1), 36);
-            Add_Action (Table.States (164), 38, (69, 0), 37);
-            Table.States (164).Goto_List.Set_Capacity (10);
-            Add_Goto (Table.States (164), 41, 38);
-            Add_Goto (Table.States (164), 43, 39);
-            Add_Goto (Table.States (164), 44, 40);
-            Add_Goto (Table.States (164), 56, 41);
-            Add_Goto (Table.States (164), 57, 42);
-            Add_Goto (Table.States (164), 58, 43);
-            Add_Goto (Table.States (164), 59, 44);
-            Add_Goto (Table.States (164), 69, 45);
-            Add_Goto (Table.States (164), 70, 168);
-            Add_Goto (Table.States (164), 71, 47);
-            Table.States (164).Kernel := To_Vector ((0 => ((41, 0),  14,  1, 
(2147483647, 0),  0)));
-            Table.States (164).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (70, 0),  0)));
-            Table.States (165).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (165), (27, 34), (57, 0),  2, null, null);
-            Table.States (165).Kernel := To_Vector ((0 => ((57, 0),  41,  0, 
(57, 0),  2)));
-            Table.States (165).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (57, 0),  2)));
-            Table.States (166).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (166), (27, 34), (57, 1),  2, null, null);
-            Table.States (166).Kernel := To_Vector ((0 => ((57, 1),  41,  0, 
(57, 1),  2)));
-            Table.States (166).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (57, 1),  2)));
-            Table.States (167).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (167), (27, 34), (71, 1),  2, null, null);
-            Table.States (167).Kernel := To_Vector ((0 => ((71, 1),  21,  0, 
(71, 1),  2)));
-            Table.States (167).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (71, 1),  2)));
-            Table.States (168).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (168), 21, (41, 0), 191);
-            Add_Action (Table.States (168), 30, (70, 1), 67);
-            Table.States (168).Kernel := To_Vector ((((41, 0),  70,  1, 
(2147483647, 0),  0), ((70, 1),  70,  1,
-            (2147483647, 0),  0)));
-            Table.States (168).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (41, 0),  21, 191)));
-            Table.States (169).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (169), 37, (44, 0), 192);
-            Table.States (169).Kernel := To_Vector ((((44, 0),  33,  1, 
(2147483647, 0),  0), ((44, 1),  33,  4,
-            (2147483647, 0),  0)));
-            Table.States (169).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (44, 0),  37, 192)));
-            Table.States (170).Action_List.Set_Capacity (10);
-            Add_Action (Table.States (170), 10, (57, 0), 130);
-            Add_Action (Table.States (170), 11, (57, 1), 131);
-            Add_Action (Table.States (170), 14, (41, 0), 132);
-            Add_Action (Table.States (170), 19, (43, 0), 9);
-            Add_Action (Table.States (170), 27, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (170), 31, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (170), 33, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (170), 34, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (170), 37, (58, 1), 133);
-            Add_Action (Table.States (170), 38, (69, 0), 134);
-            Table.States (170).Goto_List.Set_Capacity (8);
-            Add_Goto (Table.States (170), 41, 135);
-            Add_Goto (Table.States (170), 43, 136);
-            Add_Goto (Table.States (170), 44, 137);
-            Add_Goto (Table.States (170), 57, 139);
-            Add_Goto (Table.States (170), 58, 140);
-            Add_Goto (Table.States (170), 59, 141);
-            Add_Goto (Table.States (170), 69, 142);
-            Add_Goto (Table.States (170), 71, 193);
-            Table.States (170).Kernel := To_Vector ((0 => ((56, 1),  27,  0, 
(71, 0),  1)));
-            Table.States (170).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (71, 0),  1)));
-            Table.States (171).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (171), (6, 8, 12, 16, 18, 23, 37), (67, 
0),  4, simple_declarative_item_0'Access,
-            null);
-            Table.States (171).Kernel := To_Vector ((0 => ((67, 0),  34,  0, 
(67, 0),  4)));
-            Table.States (171).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (67, 0),  4)));
-            Table.States (172).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (172), 37, (59, 1), 194);
-            Table.States (172).Kernel := To_Vector ((0 => ((59, 1),  31,  1, 
(2147483647, 0),  0)));
-            Table.States (172).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (59, 1),  37, 194)));
-            Table.States (173).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (173), (1 =>  39), (68, 0),  7, 
simple_project_declaration_0'Access,
-            simple_project_declaration_0_check'Access);
-            Table.States (173).Kernel := To_Vector ((0 => ((68, 0),  34,  0, 
(68, 0),  7)));
-            Table.States (173).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (68, 0),  7)));
-            Table.States (174).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (174), 34, (65, 0), 195);
-            Table.States (174).Kernel := To_Vector ((0 => ((65, 0),  58,  1, 
(2147483647, 0),  0)));
-            Table.States (174).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (65, 0),  34, 195)));
-            Table.States (175).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (175), (32, 35), (54, 2),  1, null, null);
-            Table.States (175).Kernel := To_Vector ((0 => ((54, 2),  17,  0, 
(54, 2),  1)));
-            Table.States (175).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (54, 2),  1)));
-            Table.States (176).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (176), (32, 35), (54, 1),  1, null, null);
-            Table.States (176).Kernel := To_Vector ((0 => ((54, 1),  38,  0, 
(54, 1),  1)));
-            Table.States (176).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (54, 1),  1)));
-            Table.States (177).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (177), (32, 35), (55, 0),  1, null, null);
-            Table.States (177).Kernel := To_Vector ((0 => ((55, 0),  54,  0, 
(55, 0),  1)));
-            Table.States (177).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (55, 0),  1)));
-            Table.States (178).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (178), 32, (46, 0), 196);
-            Add_Action (Table.States (178), 35, (55, 1), 197);
-            Table.States (178).Kernel := To_Vector ((((46, 0),  55,  1, 
(2147483647, 0),  0), ((55, 1),  55,  1,
-            (2147483647, 0),  0)));
-            Table.States (178).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (46, 0),  32, 196)));
-            Table.States (179).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (179), 6, (45, 0), 198);
-            Table.States (179).Kernel := To_Vector ((0 => ((45, 0),  8,  2, 
(2147483647, 0),  0)));
-            Table.States (179).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (45, 0),  6, 198)));
-            Table.States (180).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (180), (8, 25), (47, 2),  2, null, null);
-            Table.States (180).Kernel := To_Vector ((0 => ((47, 2),  46,  0, 
(47, 2),  2)));
-            Table.States (180).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (47, 2),  2)));
-            Table.States (181).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (181), 24, (42, 3), 199);
-            Table.States (181).Kernel := To_Vector ((0 => ((42, 3),  21,  2, 
(2147483647, 0),  0)));
-            Table.States (181).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (42, 3),  24, 199)));
-            Table.States (182).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (182), 24, (42, 1), 200);
-            Table.States (182).Kernel := To_Vector ((((42, 1),  21,  2, 
(2147483647, 0),  0), ((42, 2),  21,  4,
-            (2147483647, 0),  0)));
-            Table.States (182).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (42, 1),  24, 200)));
-            Table.States (183).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (183), (6, 8, 12, 16, 18, 23, 37), (42, 
0),  5, attribute_declaration_0'Access,
-            null);
-            Table.States (183).Kernel := To_Vector ((0 => ((42, 0),  34,  0, 
(42, 0),  5)));
-            Table.States (183).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (42, 0),  5)));
-            Table.States (184).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (184), 6, (45, 0), 85);
-            Add_Action (Table.States (184), 8, Reduce, (53, 0),  0, null, 
null);
-            Add_Action (Table.States (184), 12, (42, 0), 86);
-            Add_Action (Table.States (184), 16, (67, 4), 87);
-            Add_Action (Table.States (184), 18, (61, 0), 88);
-            Add_Action (Table.States (184), 23, (72, 0), 89);
-            Add_Action (Table.States (184), 37, (67, 0), 90);
-            Table.States (184).Goto_List.Set_Capacity (11);
-            Add_Goto (Table.States (184), 42, 91);
-            Add_Goto (Table.States (184), 45, 92);
-            Add_Goto (Table.States (184), 51, 93);
-            Add_Goto (Table.States (184), 52, 94);
-            Add_Goto (Table.States (184), 53, 201);
-            Add_Goto (Table.States (184), 60, 96);
-            Add_Goto (Table.States (184), 61, 97);
-            Add_Goto (Table.States (184), 62, 98);
-            Add_Goto (Table.States (184), 63, 99);
-            Add_Goto (Table.States (184), 67, 100);
-            Add_Goto (Table.States (184), 72, 101);
-            Table.States (184).Kernel := To_Vector ((0 => ((62, 0),  13,  2, 
(2147483647, 0),  0)));
-            Table.States (184).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (53, 0),  0)));
-            Table.States (185).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (185), 34, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (185), 37, (58, 1), 144);
-            Table.States (185).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (185), 58, 202);
-            Table.States (185).Kernel := To_Vector ((0 => ((61, 0),  8,  1, 
(2147483647, 0),  0)));
-            Table.States (185).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (58, 0),  0)));
-            Table.States (186).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (186), 37, (59, 1), 203);
-            Table.States (186).Kernel := To_Vector ((0 => ((59, 1),  31,  1, 
(2147483647, 0),  0)));
-            Table.States (186).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (59, 1),  37, 203)));
-            Table.States (187).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (187), (6, 8, 12, 16, 18, 23, 37), (63, 
0),  5, package_renaming_0'Access, null);
-            Table.States (187).Kernel := To_Vector ((0 => ((63, 0),  34,  0, 
(63, 0),  5)));
-            Table.States (187).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (63, 0),  5)));
-            Table.States (188).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (188), 21, (41, 0), 204);
-            Add_Action (Table.States (188), 30, (70, 1), 67);
-            Table.States (188).Kernel := To_Vector ((((41, 0),  70,  1, 
(2147483647, 0),  0), ((70, 1),  70,  1,
-            (2147483647, 0),  0)));
-            Table.States (188).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (41, 0),  21, 204)));
-            Table.States (189).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (189), (6, 8, 12, 16, 18, 23, 37), (72, 
0),  5, typed_string_declaration_0'Access,
-            null);
-            Table.States (189).Kernel := To_Vector ((0 => ((72, 0),  34,  0, 
(72, 0),  5)));
-            Table.States (189).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (72, 0),  5)));
-            Table.States (190).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (190), 27, (56, 1), 170);
-            Add_Action (Table.States (190), 34, (67, 1), 205);
-            Table.States (190).Kernel := To_Vector ((((56, 1),  56,  1, 
(2147483647, 0),  0), ((67, 1),  56,  1,
-            (2147483647, 0),  0)));
-            Table.States (190).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (67, 1),  34, 205)));
-            Table.States (191).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (191), (27, 34), (41, 0),  3, 
aggregate_g_0'Access, null);
-            Table.States (191).Kernel := To_Vector ((0 => ((41, 0),  21,  0, 
(41, 0),  3)));
-            Table.States (191).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (41, 0),  3)));
-            Table.States (192).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (192), 14, (44, 1), 206);
-            Add_Action (Table.States (192), 27, Reduce, (44, 0),  3, null, 
null);
-            Add_Action (Table.States (192), 34, Reduce, (44, 0),  3, null, 
null);
-            Table.States (192).Kernel := To_Vector ((((44, 0),  37,  0, (44, 
0),  3), ((44, 1),  37,  3, (2147483647,
-            0),  0)));
-            Table.States (192).Minimal_Complete_Actions := To_Vector 
(((Reduce, (44, 0),  3), (Shift, (44, 1),  14,
-            206)));
-            Table.States (193).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (193), (27, 34), (56, 1),  3, null, null);
-            Table.States (193).Kernel := To_Vector ((0 => ((56, 1),  71,  0, 
(56, 1),  3)));
-            Table.States (193).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (56, 1),  3)));
-            Table.States (194).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (194), (27, 31, 33, 34), (59, 1),  3, 
null, null);
-            Table.States (194).Kernel := To_Vector ((0 => ((59, 1),  37,  0, 
(59, 1),  3)));
-            Table.States (194).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (59, 1),  3)));
-            Table.States (195).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (195), (1 =>  39), (65, 0),  9, 
project_extension_0'Access,
-            project_extension_0_check'Access);
-            Table.States (195).Kernel := To_Vector ((0 => ((65, 0),  34,  0, 
(65, 0),  9)));
-            Table.States (195).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (65, 0),  9)));
-            Table.States (196).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (196), 6, (45, 0), 207);
-            Add_Action (Table.States (196), 8, Reduce, (53, 0),  0, null, 
null);
-            Add_Action (Table.States (196), 12, (42, 0), 208);
-            Add_Action (Table.States (196), 16, (67, 4), 209);
-            Add_Action (Table.States (196), 18, (61, 0), 210);
-            Add_Action (Table.States (196), 23, (72, 0), 211);
-            Add_Action (Table.States (196), 25, Reduce, (53, 0),  0, null, 
null);
-            Add_Action (Table.States (196), 37, (67, 0), 212);
-            Table.States (196).Goto_List.Set_Capacity (11);
-            Add_Goto (Table.States (196), 42, 213);
-            Add_Goto (Table.States (196), 45, 214);
-            Add_Goto (Table.States (196), 51, 215);
-            Add_Goto (Table.States (196), 52, 216);
-            Add_Goto (Table.States (196), 53, 217);
-            Add_Goto (Table.States (196), 60, 218);
-            Add_Goto (Table.States (196), 61, 219);
-            Add_Goto (Table.States (196), 62, 220);
-            Add_Goto (Table.States (196), 63, 221);
-            Add_Goto (Table.States (196), 67, 222);
-            Add_Goto (Table.States (196), 72, 223);
-            Table.States (196).Kernel := To_Vector ((0 => ((46, 0),  32,  0, 
(53, 0),  0)));
-            Table.States (196).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (53, 0),  0)));
-            Table.States (197).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (197), 17, (54, 2), 175);
-            Add_Action (Table.States (197), 32, Reduce, (54, 0),  0, null, 
null);
-            Add_Action (Table.States (197), 35, Reduce, (54, 0),  0, null, 
null);
-            Add_Action (Table.States (197), 38, (54, 1), 176);
-            Table.States (197).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (197), 54, 224);
-            Table.States (197).Kernel := To_Vector ((0 => ((55, 1),  35,  0, 
(54, 0),  0)));
-            Table.States (197).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (54, 0),  0)));
-            Table.States (198).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (198), 34, (45, 0), 225);
-            Table.States (198).Kernel := To_Vector ((0 => ((45, 0),  6,  1, 
(2147483647, 0),  0)));
-            Table.States (198).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (45, 0),  34, 225)));
-            Table.States (199).Action_List.Set_Capacity (10);
-            Add_Action (Table.States (199), 10, (57, 0), 130);
-            Add_Action (Table.States (199), 11, (57, 1), 131);
-            Add_Action (Table.States (199), 14, (41, 0), 132);
-            Add_Action (Table.States (199), 19, (43, 0), 9);
-            Add_Action (Table.States (199), 27, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (199), 31, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (199), 33, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (199), 34, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (199), 37, (58, 1), 133);
-            Add_Action (Table.States (199), 38, (69, 0), 134);
-            Table.States (199).Goto_List.Set_Capacity (9);
-            Add_Goto (Table.States (199), 41, 135);
-            Add_Goto (Table.States (199), 43, 136);
-            Add_Goto (Table.States (199), 44, 137);
-            Add_Goto (Table.States (199), 56, 226);
-            Add_Goto (Table.States (199), 57, 139);
-            Add_Goto (Table.States (199), 58, 140);
-            Add_Goto (Table.States (199), 59, 141);
-            Add_Goto (Table.States (199), 69, 142);
-            Add_Goto (Table.States (199), 71, 143);
-            Table.States (199).Kernel := To_Vector ((0 => ((42, 3),  24,  1, 
(2147483647, 0),  0)));
-            Table.States (199).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (56, 0),  0)));
-            Table.States (200).Action_List.Set_Capacity (11);
-            Add_Action (Table.States (200), 4, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (200), 10, (57, 0), 227);
-            Add_Action (Table.States (200), 11, (57, 1), 228);
-            Add_Action (Table.States (200), 14, (41, 0), 229);
-            Add_Action (Table.States (200), 19, (43, 0), 9);
-            Add_Action (Table.States (200), 27, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (200), 31, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (200), 33, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (200), 34, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (200), 37, (58, 1), 230);
-            Add_Action (Table.States (200), 38, (69, 0), 231);
-            Table.States (200).Goto_List.Set_Capacity (9);
-            Add_Goto (Table.States (200), 41, 232);
-            Add_Goto (Table.States (200), 43, 233);
-            Add_Goto (Table.States (200), 44, 234);
-            Add_Goto (Table.States (200), 56, 235);
-            Add_Goto (Table.States (200), 57, 236);
-            Add_Goto (Table.States (200), 58, 237);
-            Add_Goto (Table.States (200), 59, 238);
-            Add_Goto (Table.States (200), 69, 239);
-            Add_Goto (Table.States (200), 71, 240);
-            Table.States (200).Kernel := To_Vector ((((42, 1),  24,  1, 
(2147483647, 0),  0), ((42, 2),  24,  3,
-            (2147483647, 0),  0)));
-            Table.States (200).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (56, 0),  0)));
-            Table.States (201).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (201), 8, (62, 0), 241);
-            Table.States (201).Kernel := To_Vector ((0 => ((62, 0),  53,  2, 
(2147483647, 0),  0)));
-            Table.States (201).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (62, 0),  8, 241)));
-            Table.States (202).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (202), 34, (61, 0), 242);
-            Table.States (202).Kernel := To_Vector ((0 => ((61, 0),  58,  1, 
(2147483647, 0),  0)));
-            Table.States (202).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (61, 0),  34, 242)));
-            Table.States (203).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (203), (31, 34), (59, 1),  3, null, null);
-            Table.States (203).Kernel := To_Vector ((0 => ((59, 1),  37,  0, 
(59, 1),  3)));
-            Table.States (203).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (59, 1),  3)));
-         end Subr_2;
-         procedure Subr_3
-         is begin
-            Table.States (204).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (204), (1 =>  34), (41, 0),  3, 
aggregate_g_0'Access, null);
-            Table.States (204).Kernel := To_Vector ((0 => ((41, 0),  21,  0, 
(41, 0),  3)));
-            Table.States (204).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (41, 0),  3)));
-            Table.States (205).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (205), (6, 8, 12, 16, 18, 23, 37), (67, 
1),  6, simple_declarative_item_1'Access,
-            null);
-            Table.States (205).Kernel := To_Vector ((0 => ((67, 1),  34,  0, 
(67, 1),  6)));
-            Table.States (205).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (67, 1),  6)));
-            Table.States (206).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (206), 38, (44, 1), 243);
-            Table.States (206).Kernel := To_Vector ((0 => ((44, 1),  14,  2, 
(2147483647, 0),  0)));
-            Table.States (206).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (44, 1),  38, 243)));
-            Table.States (207).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (207), 13, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (207), 31, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (207), 37, (58, 1), 105);
-            Table.States (207).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (207), 58, 106);
-            Add_Goto (Table.States (207), 59, 244);
-            Table.States (207).Kernel := To_Vector ((0 => ((45, 0),  6,  4, 
(2147483647, 0),  0)));
-            Table.States (207).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (59, 0),  0)));
-            Table.States (208).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (208), 10, (42, 3), 245);
-            Add_Action (Table.States (208), 37, (42, 0), 246);
-            Table.States (208).Kernel := To_Vector ((((42, 0),  12,  3, 
(2147483647, 0),  0), ((42, 1),  12,  5,
-            (2147483647, 0),  0), ((42, 2),  12,  7, (2147483647, 0),  0), 
((42, 3),  12,  6, (2147483647, 0),  0)));
-            Table.States (208).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (42, 0),  37, 246)));
-            Table.States (209).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (209), 34, (67, 4), 247);
-            Table.States (209).Kernel := To_Vector ((0 => ((67, 4),  16,  1, 
(2147483647, 0),  0)));
-            Table.States (209).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (67, 4),  34, 247)));
-            Table.States (210).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (210), 9, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (210), 13, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (210), 20, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (210), 37, (58, 1), 111);
-            Table.States (210).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (210), 58, 248);
-            Table.States (210).Kernel := To_Vector ((((61, 0),  18,  3, 
(2147483647, 0),  0), ((62, 0),  18,  4,
-            (2147483647, 0),  0), ((63, 0),  18,  2, (2147483647, 0),  0)));
-            Table.States (210).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (58, 0),  0)));
-            Table.States (211).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (211), 37, (72, 0), 249);
-            Table.States (211).Kernel := To_Vector ((0 => ((72, 0),  23,  5, 
(2147483647, 0),  0)));
-            Table.States (211).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (72, 0),  37, 249)));
-            Table.States (212).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (212), 28, (67, 1), 250);
-            Add_Action (Table.States (212), 29, (67, 0), 251);
-            Table.States (212).Kernel := To_Vector ((((67, 0),  37,  2, 
(2147483647, 0),  0), ((67, 1),  37,  4,
-            (2147483647, 0),  0)));
-            Table.States (212).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (67, 0),  29, 251)));
-            Table.States (213).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (213), (6, 8, 12, 16, 18, 23, 25, 37), 
(67, 2),  1, null, null);
-            Table.States (213).Kernel := To_Vector ((0 => ((67, 2),  42,  0, 
(67, 2),  1)));
-            Table.States (213).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (67, 2),  1)));
-            Table.States (214).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (214), (6, 8, 12, 16, 18, 23, 25, 37), 
(67, 3),  1, null, null);
-            Table.States (214).Kernel := To_Vector ((0 => ((67, 3),  45,  0, 
(67, 3),  1)));
-            Table.States (214).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (67, 3),  1)));
-            Table.States (215).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (215), (6, 8, 12, 16, 18, 23, 25, 37), 
(52, 0),  1, null, null);
-            Table.States (215).Kernel := To_Vector ((0 => ((52, 0),  51,  0, 
(52, 0),  1)));
-            Table.States (215).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (52, 0),  1)));
-            Table.States (216).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (216), 6, (45, 0), 207);
-            Add_Action (Table.States (216), 8, Reduce, (53, 1),  1, null, 
null);
-            Add_Action (Table.States (216), 12, (42, 0), 208);
-            Add_Action (Table.States (216), 16, (67, 4), 209);
-            Add_Action (Table.States (216), 18, (61, 0), 210);
-            Add_Action (Table.States (216), 23, (72, 0), 211);
-            Add_Action (Table.States (216), 25, Reduce, (53, 1),  1, null, 
null);
-            Add_Action (Table.States (216), 37, (67, 0), 212);
-            Table.States (216).Goto_List.Set_Capacity (9);
-            Add_Goto (Table.States (216), 42, 213);
-            Add_Goto (Table.States (216), 45, 214);
-            Add_Goto (Table.States (216), 51, 252);
-            Add_Goto (Table.States (216), 60, 218);
-            Add_Goto (Table.States (216), 61, 219);
-            Add_Goto (Table.States (216), 62, 220);
-            Add_Goto (Table.States (216), 63, 221);
-            Add_Goto (Table.States (216), 67, 222);
-            Add_Goto (Table.States (216), 72, 223);
-            Table.States (216).Kernel := To_Vector ((((52, 1),  52,  2, 
(2147483647, 0),  0), ((53, 1),  52,  0, (53,
-            1),  1)));
-            Table.States (216).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (53, 1),  1)));
-            Table.States (217).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (217), (8, 25), (46, 0),  4, 
case_item_0'Access, null);
-            Table.States (217).Kernel := To_Vector ((0 => ((46, 0),  53,  0, 
(46, 0),  4)));
-            Table.States (217).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (46, 0),  4)));
-            Table.States (218).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (218), (6, 8, 12, 16, 18, 23, 25, 37), 
(51, 2),  1, null, null);
-            Table.States (218).Kernel := To_Vector ((0 => ((51, 2),  60,  0, 
(51, 2),  1)));
-            Table.States (218).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (51, 2),  1)));
-            Table.States (219).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (219), (6, 8, 12, 16, 18, 23, 25, 37), 
(60, 0),  1, null, null);
-            Table.States (219).Kernel := To_Vector ((0 => ((60, 0),  61,  0, 
(60, 0),  1)));
-            Table.States (219).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (60, 0),  1)));
-            Table.States (220).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (220), (6, 8, 12, 16, 18, 23, 25, 37), 
(60, 1),  1, null, null);
-            Table.States (220).Kernel := To_Vector ((0 => ((60, 1),  62,  0, 
(60, 1),  1)));
-            Table.States (220).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (60, 1),  1)));
-            Table.States (221).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (221), (6, 8, 12, 16, 18, 23, 25, 37), 
(60, 2),  1, null, null);
-            Table.States (221).Kernel := To_Vector ((0 => ((60, 2),  63,  0, 
(60, 2),  1)));
-            Table.States (221).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (60, 2),  1)));
-            Table.States (222).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (222), (6, 8, 12, 16, 18, 23, 25, 37), 
(51, 0),  1, null, null);
-            Table.States (222).Kernel := To_Vector ((0 => ((51, 0),  67,  0, 
(51, 0),  1)));
-            Table.States (222).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (51, 0),  1)));
-            Table.States (223).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (223), (6, 8, 12, 16, 18, 23, 25, 37), 
(51, 1),  1, null, null);
-            Table.States (223).Kernel := To_Vector ((0 => ((51, 1),  72,  0, 
(51, 1),  1)));
-            Table.States (223).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (51, 1),  1)));
-            Table.States (224).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (224), (32, 35), (55, 1),  3, null, null);
-            Table.States (224).Kernel := To_Vector ((0 => ((55, 1),  54,  0, 
(55, 1),  3)));
-            Table.States (224).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (55, 1),  3)));
-            Table.States (225).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (225), (6, 8, 12, 16, 18, 23, 37), (45, 
0),  7, case_statement_0'Access, null);
-            Table.States (225).Kernel := To_Vector ((0 => ((45, 0),  34,  0, 
(45, 0),  7)));
-            Table.States (225).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (45, 0),  7)));
-            Table.States (226).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (226), 27, (56, 1), 170);
-            Add_Action (Table.States (226), 34, (42, 3), 253);
-            Table.States (226).Kernel := To_Vector ((((42, 3),  56,  1, 
(2147483647, 0),  0), ((56, 1),  56,  1,
-            (2147483647, 0),  0)));
-            Table.States (226).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (42, 3),  34, 253)));
-            Table.States (227).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (227), 14, (41, 0), 254);
-            Table.States (227).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (227), 41, 255);
-            Table.States (227).Kernel := To_Vector ((0 => ((57, 0),  10,  2, 
(2147483647, 0),  0)));
-            Table.States (227).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (41, 0),  14, 254)));
-            Table.States (228).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (228), 14, (41, 0), 254);
-            Table.States (228).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (228), 41, 256);
-            Table.States (228).Kernel := To_Vector ((0 => ((57, 1),  11,  2, 
(2147483647, 0),  0)));
-            Table.States (228).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (41, 0),  14, 254)));
-            Table.States (229).Action_List.Set_Capacity (11);
-            Add_Action (Table.States (229), 10, (57, 0), 32);
-            Add_Action (Table.States (229), 11, (57, 1), 33);
-            Add_Action (Table.States (229), 14, (41, 0), 34);
-            Add_Action (Table.States (229), 19, (43, 0), 9);
-            Add_Action (Table.States (229), 21, (71, 1), 257);
-            Add_Conflict (Table.States (229), 21, (58, 0),  0, null, null);
-            Add_Action (Table.States (229), 27, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (229), 30, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (229), 31, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (229), 33, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (229), 37, (58, 1), 36);
-            Add_Action (Table.States (229), 38, (69, 0), 37);
-            Table.States (229).Goto_List.Set_Capacity (10);
-            Add_Goto (Table.States (229), 41, 38);
-            Add_Goto (Table.States (229), 43, 39);
-            Add_Goto (Table.States (229), 44, 40);
-            Add_Goto (Table.States (229), 56, 41);
-            Add_Goto (Table.States (229), 57, 42);
-            Add_Goto (Table.States (229), 58, 43);
-            Add_Goto (Table.States (229), 59, 44);
-            Add_Goto (Table.States (229), 69, 45);
-            Add_Goto (Table.States (229), 70, 258);
-            Add_Goto (Table.States (229), 71, 47);
-            Table.States (229).Kernel := To_Vector ((((41, 0),  14,  1, 
(2147483647, 0),  0), ((71, 1),  14,  1,
-            (2147483647, 0),  0)));
-            Table.States (229).Minimal_Complete_Actions := To_Vector 
(((Reduce, (70, 0),  0), (Shift, (71, 1),  21,
-            257)));
-            Table.States (230).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (230), (4, 27, 31, 33, 34), (58, 1),  1, 
null, identifier_opt_1_check'Access);
-            Table.States (230).Kernel := To_Vector ((0 => ((58, 1),  37,  0, 
(58, 1),  1)));
-            Table.States (230).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (58, 1),  1)));
-            Table.States (231).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (231), (4, 27, 34), (69, 0),  1, null, 
null);
-            Table.States (231).Kernel := To_Vector ((0 => ((69, 0),  38,  0, 
(69, 0),  1)));
-            Table.States (231).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (69, 0),  1)));
-            Table.States (232).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (232), (4, 27, 34), (71, 2),  1, null, 
null);
-            Table.States (232).Kernel := To_Vector ((0 => ((71, 2),  41,  0, 
(71, 2),  1)));
-            Table.States (232).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (71, 2),  1)));
-            Table.States (233).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (233), 33, (44, 0), 259);
-            Table.States (233).Kernel := To_Vector ((((44, 0),  43,  2, 
(2147483647, 0),  0), ((44, 1),  43,  5,
-            (2147483647, 0),  0)));
-            Table.States (233).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (44, 0),  33, 259)));
-            Table.States (234).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (234), (4, 27, 34), (69, 3),  1, null, 
null);
-            Table.States (234).Kernel := To_Vector ((0 => ((69, 3),  44,  0, 
(69, 3),  1)));
-            Table.States (234).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (69, 3),  1)));
-            Table.States (235).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (235), 4, (42, 2), 260);
-            Add_Action (Table.States (235), 27, (56, 1), 261);
-            Add_Action (Table.States (235), 34, (42, 1), 262);
-            Table.States (235).Kernel := To_Vector ((((42, 1),  56,  1, 
(2147483647, 0),  0), ((42, 2),  56,  3,
-            (2147483647, 0),  0), ((56, 1),  56,  1, (2147483647, 0),  0)));
-            Table.States (235).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (42, 1),  34, 262)));
-            Table.States (236).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (236), (4, 27, 34), (69, 2),  1, null, 
null);
-            Table.States (236).Kernel := To_Vector ((0 => ((69, 2),  57,  0, 
(69, 2),  1)));
-            Table.States (236).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (69, 2),  1)));
-            Table.States (237).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (237), (4, 27, 31, 33, 34), (59, 0),  1, 
null, null);
-            Table.States (237).Kernel := To_Vector ((0 => ((59, 0),  58,  0, 
(59, 0),  1)));
-            Table.States (237).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (59, 0),  1)));
-            Table.States (238).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (238), 4, Reduce, (69, 1),  1, null, 
null);
-            Add_Action (Table.States (238), 27, Reduce, (69, 1),  1, null, 
null);
-            Add_Action (Table.States (238), 31, (59, 1), 263);
-            Add_Action (Table.States (238), 33, Reduce, (43, 1),  1, null, 
null);
-            Add_Action (Table.States (238), 34, Reduce, (69, 1),  1, null, 
null);
-            Table.States (238).Kernel := To_Vector ((((43, 1),  59,  0, (43, 
1),  1), ((59, 1),  59,  2, (2147483647,
-            0),  0), ((69, 1),  59,  0, (69, 1),  1)));
-            Table.States (238).Minimal_Complete_Actions := To_Vector 
(((Reduce, (43, 1),  1), (Reduce, (69, 1),  1)));
-            Table.States (239).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (239), (4, 27, 34), (71, 0),  1, null, 
null);
-            Table.States (239).Kernel := To_Vector ((0 => ((71, 0),  69,  0, 
(71, 0),  1)));
-            Table.States (239).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (71, 0),  1)));
-            Table.States (240).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (240), (4, 27, 34), (56, 0),  1, null, 
null);
-            Table.States (240).Kernel := To_Vector ((0 => ((56, 0),  71,  0, 
(56, 0),  1)));
-            Table.States (240).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (56, 0),  1)));
-            Table.States (241).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (241), 34, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (241), 37, (58, 1), 144);
-            Table.States (241).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (241), 58, 264);
-            Table.States (241).Kernel := To_Vector ((0 => ((62, 0),  8,  1, 
(2147483647, 0),  0)));
-            Table.States (241).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (58, 0),  0)));
-            Table.States (242).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (242), (6, 8, 12, 16, 18, 23, 37), (61, 
0),  7, package_spec_0'Access,
-            package_spec_0_check'Access);
-            Table.States (242).Kernel := To_Vector ((0 => ((61, 0),  34,  0, 
(61, 0),  7)));
-            Table.States (242).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (61, 0),  7)));
-            Table.States (243).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (243), 21, (44, 1), 265);
-            Table.States (243).Kernel := To_Vector ((0 => ((44, 1),  38,  1, 
(2147483647, 0),  0)));
-            Table.States (243).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (44, 1),  21, 265)));
-            Table.States (244).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (244), 13, (45, 0), 266);
-            Add_Action (Table.States (244), 31, (59, 1), 121);
-            Table.States (244).Kernel := To_Vector ((((45, 0),  59,  4, 
(2147483647, 0),  0), ((59, 1),  59,  2,
-            (2147483647, 0),  0)));
-            Table.States (244).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (45, 0),  13, 266)));
-            Table.States (245).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (245), 14, (42, 3), 267);
-            Table.States (245).Kernel := To_Vector ((0 => ((42, 3),  10,  5, 
(2147483647, 0),  0)));
-            Table.States (245).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (42, 3),  14, 267)));
-            Table.States (246).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (246), 14, (42, 1), 268);
-            Add_Action (Table.States (246), 24, (42, 0), 269);
-            Table.States (246).Kernel := To_Vector ((((42, 0),  37,  2, 
(2147483647, 0),  0), ((42, 1),  37,  4,
-            (2147483647, 0),  0), ((42, 2),  37,  6, (2147483647, 0),  0)));
-            Table.States (246).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (42, 0),  24, 269)));
-            Table.States (247).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (247), (6, 8, 12, 16, 18, 23, 25, 37), 
(67, 4),  2,
-            simple_declarative_item_4'Access, null);
-            Table.States (247).Kernel := To_Vector ((0 => ((67, 4),  34,  0, 
(67, 4),  2)));
-            Table.States (247).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (67, 4),  2)));
-            Table.States (248).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (248), 9, (62, 0), 270);
-            Add_Action (Table.States (248), 13, (61, 0), 271);
-            Add_Action (Table.States (248), 20, (63, 0), 272);
-            Table.States (248).Kernel := To_Vector ((((61, 0),  58,  3, 
(2147483647, 0),  0), ((62, 0),  58,  4,
-            (2147483647, 0),  0), ((63, 0),  58,  2, (2147483647, 0),  0)));
-            Table.States (248).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (63, 0),  20, 272)));
-            Table.States (249).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (249), 13, (72, 0), 273);
-            Table.States (249).Kernel := To_Vector ((0 => ((72, 0),  37,  4, 
(2147483647, 0),  0)));
-            Table.States (249).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (72, 0),  13, 273)));
-            Table.States (250).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (250), 37, (67, 1), 274);
-            Table.States (250).Kernel := To_Vector ((0 => ((67, 1),  28,  3, 
(2147483647, 0),  0)));
-            Table.States (250).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (67, 1),  37, 274)));
-            Table.States (251).Action_List.Set_Capacity (10);
-            Add_Action (Table.States (251), 10, (57, 0), 130);
-            Add_Action (Table.States (251), 11, (57, 1), 131);
-            Add_Action (Table.States (251), 14, (41, 0), 132);
-            Add_Action (Table.States (251), 19, (43, 0), 9);
-            Add_Action (Table.States (251), 27, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (251), 31, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (251), 33, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (251), 34, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (251), 37, (58, 1), 133);
-            Add_Action (Table.States (251), 38, (69, 0), 134);
-            Table.States (251).Goto_List.Set_Capacity (9);
-            Add_Goto (Table.States (251), 41, 135);
-            Add_Goto (Table.States (251), 43, 136);
-            Add_Goto (Table.States (251), 44, 137);
-            Add_Goto (Table.States (251), 56, 275);
-            Add_Goto (Table.States (251), 57, 139);
-            Add_Goto (Table.States (251), 58, 140);
-            Add_Goto (Table.States (251), 59, 141);
-            Add_Goto (Table.States (251), 69, 142);
-            Add_Goto (Table.States (251), 71, 143);
-            Table.States (251).Kernel := To_Vector ((0 => ((67, 0),  29,  1, 
(2147483647, 0),  0)));
-            Table.States (251).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (56, 0),  0)));
-            Table.States (252).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (252), (6, 8, 12, 16, 18, 23, 25, 37), 
(52, 1),  2, null, null);
-            Table.States (252).Kernel := To_Vector ((0 => ((52, 1),  51,  0, 
(52, 1),  2)));
-            Table.States (252).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (52, 1),  2)));
-            Table.States (253).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (253), (6, 8, 12, 16, 18, 23, 37), (42, 
3),  8, attribute_declaration_3'Access,
-            null);
-            Table.States (253).Kernel := To_Vector ((0 => ((42, 3),  34,  0, 
(42, 3),  8)));
-            Table.States (253).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (42, 3),  8)));
-            Table.States (254).Action_List.Set_Capacity (11);
-            Add_Action (Table.States (254), 10, (57, 0), 32);
-            Add_Action (Table.States (254), 11, (57, 1), 33);
-            Add_Action (Table.States (254), 14, (41, 0), 34);
-            Add_Action (Table.States (254), 19, (43, 0), 9);
-            Add_Action (Table.States (254), 21, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (254), 27, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (254), 30, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (254), 31, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (254), 33, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (254), 37, (58, 1), 36);
-            Add_Action (Table.States (254), 38, (69, 0), 37);
-            Table.States (254).Goto_List.Set_Capacity (10);
-            Add_Goto (Table.States (254), 41, 38);
-            Add_Goto (Table.States (254), 43, 39);
-            Add_Goto (Table.States (254), 44, 40);
-            Add_Goto (Table.States (254), 56, 41);
-            Add_Goto (Table.States (254), 57, 42);
-            Add_Goto (Table.States (254), 58, 43);
-            Add_Goto (Table.States (254), 59, 44);
-            Add_Goto (Table.States (254), 69, 45);
-            Add_Goto (Table.States (254), 70, 258);
-            Add_Goto (Table.States (254), 71, 47);
-            Table.States (254).Kernel := To_Vector ((0 => ((41, 0),  14,  1, 
(2147483647, 0),  0)));
-            Table.States (254).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (70, 0),  0)));
-            Table.States (255).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (255), (4, 27, 34), (57, 0),  2, null, 
null);
-            Table.States (255).Kernel := To_Vector ((0 => ((57, 0),  41,  0, 
(57, 0),  2)));
-            Table.States (255).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (57, 0),  2)));
-            Table.States (256).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (256), (4, 27, 34), (57, 1),  2, null, 
null);
-            Table.States (256).Kernel := To_Vector ((0 => ((57, 1),  41,  0, 
(57, 1),  2)));
-            Table.States (256).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (57, 1),  2)));
-            Table.States (257).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (257), (4, 27, 34), (71, 1),  2, null, 
null);
-            Table.States (257).Kernel := To_Vector ((0 => ((71, 1),  21,  0, 
(71, 1),  2)));
-            Table.States (257).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (71, 1),  2)));
-            Table.States (258).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (258), 21, (41, 0), 276);
-            Add_Action (Table.States (258), 30, (70, 1), 67);
-            Table.States (258).Kernel := To_Vector ((((41, 0),  70,  1, 
(2147483647, 0),  0), ((70, 1),  70,  1,
-            (2147483647, 0),  0)));
-            Table.States (258).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (41, 0),  21, 276)));
-            Table.States (259).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (259), 37, (44, 0), 277);
-            Table.States (259).Kernel := To_Vector ((((44, 0),  33,  1, 
(2147483647, 0),  0), ((44, 1),  33,  4,
-            (2147483647, 0),  0)));
-            Table.States (259).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (44, 0),  37, 277)));
-            Table.States (260).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (260), 36, (42, 2), 278);
-            Table.States (260).Kernel := To_Vector ((0 => ((42, 2),  4,  2, 
(2147483647, 0),  0)));
-            Table.States (260).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (42, 2),  36, 278)));
-            Table.States (261).Action_List.Set_Capacity (11);
-            Add_Action (Table.States (261), 4, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (261), 10, (57, 0), 227);
-            Add_Action (Table.States (261), 11, (57, 1), 228);
-            Add_Action (Table.States (261), 14, (41, 0), 229);
-            Add_Action (Table.States (261), 19, (43, 0), 9);
-            Add_Action (Table.States (261), 27, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (261), 31, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (261), 33, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (261), 34, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (261), 37, (58, 1), 230);
-            Add_Action (Table.States (261), 38, (69, 0), 231);
-            Table.States (261).Goto_List.Set_Capacity (8);
-            Add_Goto (Table.States (261), 41, 232);
-            Add_Goto (Table.States (261), 43, 233);
-            Add_Goto (Table.States (261), 44, 234);
-            Add_Goto (Table.States (261), 57, 236);
-            Add_Goto (Table.States (261), 58, 237);
-            Add_Goto (Table.States (261), 59, 238);
-            Add_Goto (Table.States (261), 69, 239);
-            Add_Goto (Table.States (261), 71, 279);
-            Table.States (261).Kernel := To_Vector ((0 => ((56, 1),  27,  0, 
(71, 0),  1)));
-            Table.States (261).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (71, 0),  1)));
-            Table.States (262).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (262), (6, 8, 12, 16, 18, 23, 37), (42, 
1),  8, attribute_declaration_1'Access,
-            null);
-            Table.States (262).Kernel := To_Vector ((0 => ((42, 1),  34,  0, 
(42, 1),  8)));
-            Table.States (262).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (42, 1),  8)));
-            Table.States (263).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (263), 37, (59, 1), 280);
-            Table.States (263).Kernel := To_Vector ((0 => ((59, 1),  31,  1, 
(2147483647, 0),  0)));
-            Table.States (263).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (59, 1),  37, 280)));
-            Table.States (264).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (264), 34, (62, 0), 281);
-            Table.States (264).Kernel := To_Vector ((0 => ((62, 0),  58,  1, 
(2147483647, 0),  0)));
-            Table.States (264).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (62, 0),  34, 281)));
-            Table.States (265).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (265), (27, 34), (44, 1),  6, null, null);
-            Table.States (265).Kernel := To_Vector ((0 => ((44, 1),  21,  0, 
(44, 1),  6)));
-            Table.States (265).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (44, 1),  6)));
-            Table.States (266).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (266), 8, Reduce, (47, 0),  0, null, 
null);
-            Add_Action (Table.States (266), 25, (46, 0), 147);
-            Add_Conflict (Table.States (266), 25, (47, 0),  0, null, null);
-            Table.States (266).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (266), 46, 148);
-            Add_Goto (Table.States (266), 47, 282);
-            Table.States (266).Kernel := To_Vector ((0 => ((45, 0),  13,  3, 
(2147483647, 0),  0)));
-            Table.States (266).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (47, 0),  0)));
-            Table.States (267).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (267), 38, (42, 3), 283);
-            Table.States (267).Kernel := To_Vector ((0 => ((42, 3),  14,  4, 
(2147483647, 0),  0)));
-            Table.States (267).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (42, 3),  38, 283)));
-            Table.States (268).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (268), 17, (54, 2), 152);
-            Add_Action (Table.States (268), 21, Reduce, (54, 0),  0, null, 
null);
-            Add_Action (Table.States (268), 38, (54, 1), 153);
-            Table.States (268).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (268), 54, 284);
-            Table.States (268).Kernel := To_Vector ((((42, 1),  14,  3, 
(2147483647, 0),  0), ((42, 2),  14,  5,
-            (2147483647, 0),  0)));
-            Table.States (268).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (54, 0),  0)));
-            Table.States (269).Action_List.Set_Capacity (10);
-            Add_Action (Table.States (269), 10, (57, 0), 130);
-            Add_Action (Table.States (269), 11, (57, 1), 131);
-            Add_Action (Table.States (269), 14, (41, 0), 132);
-            Add_Action (Table.States (269), 19, (43, 0), 9);
-            Add_Action (Table.States (269), 27, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (269), 31, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (269), 33, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (269), 34, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (269), 37, (58, 1), 133);
-            Add_Action (Table.States (269), 38, (69, 0), 134);
-            Table.States (269).Goto_List.Set_Capacity (9);
-            Add_Goto (Table.States (269), 41, 135);
-            Add_Goto (Table.States (269), 43, 136);
-            Add_Goto (Table.States (269), 44, 137);
-            Add_Goto (Table.States (269), 56, 285);
-            Add_Goto (Table.States (269), 57, 139);
-            Add_Goto (Table.States (269), 58, 140);
-            Add_Goto (Table.States (269), 59, 141);
-            Add_Goto (Table.States (269), 69, 142);
-            Add_Goto (Table.States (269), 71, 143);
-            Table.States (269).Kernel := To_Vector ((0 => ((42, 0),  24,  1, 
(2147483647, 0),  0)));
-            Table.States (269).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (56, 0),  0)));
-            Table.States (270).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (270), 13, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (270), 31, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (270), 37, (58, 1), 105);
-            Table.States (270).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (270), 58, 106);
-            Add_Goto (Table.States (270), 59, 286);
-            Table.States (270).Kernel := To_Vector ((0 => ((62, 0),  9,  3, 
(2147483647, 0),  0)));
-            Table.States (270).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (59, 0),  0)));
-            Table.States (271).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (271), 6, (45, 0), 85);
-            Add_Action (Table.States (271), 8, Reduce, (53, 0),  0, null, 
null);
-            Add_Action (Table.States (271), 12, (42, 0), 86);
-            Add_Action (Table.States (271), 16, (67, 4), 87);
-            Add_Action (Table.States (271), 18, (61, 0), 88);
-            Add_Action (Table.States (271), 23, (72, 0), 89);
-            Add_Action (Table.States (271), 37, (67, 0), 90);
-            Table.States (271).Goto_List.Set_Capacity (11);
-            Add_Goto (Table.States (271), 42, 91);
-            Add_Goto (Table.States (271), 45, 92);
-            Add_Goto (Table.States (271), 51, 93);
-            Add_Goto (Table.States (271), 52, 94);
-            Add_Goto (Table.States (271), 53, 287);
-            Add_Goto (Table.States (271), 60, 96);
-            Add_Goto (Table.States (271), 61, 97);
-            Add_Goto (Table.States (271), 62, 98);
-            Add_Goto (Table.States (271), 63, 99);
-            Add_Goto (Table.States (271), 67, 100);
-            Add_Goto (Table.States (271), 72, 101);
-            Table.States (271).Kernel := To_Vector ((0 => ((61, 0),  13,  2, 
(2147483647, 0),  0)));
-            Table.States (271).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (53, 0),  0)));
-            Table.States (272).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (272), 31, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (272), 34, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (272), 37, (58, 1), 158);
-            Table.States (272).Goto_List.Set_Capacity (2);
-            Add_Goto (Table.States (272), 58, 159);
-            Add_Goto (Table.States (272), 59, 288);
-            Table.States (272).Kernel := To_Vector ((0 => ((63, 0),  20,  1, 
(2147483647, 0),  0)));
-            Table.States (272).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (59, 0),  0)));
-            Table.States (273).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (273), 14, (41, 0), 161);
-            Table.States (273).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (273), 41, 289);
-            Table.States (273).Kernel := To_Vector ((0 => ((72, 0),  13,  3, 
(2147483647, 0),  0)));
-            Table.States (273).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (41, 0),  14, 161)));
-            Table.States (274).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (274), 29, (67, 1), 290);
-            Table.States (274).Kernel := To_Vector ((0 => ((67, 1),  37,  2, 
(2147483647, 0),  0)));
-            Table.States (274).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (67, 1),  29, 290)));
-            Table.States (275).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (275), 27, (56, 1), 170);
-            Add_Action (Table.States (275), 34, (67, 0), 291);
-            Table.States (275).Kernel := To_Vector ((((56, 1),  56,  1, 
(2147483647, 0),  0), ((67, 0),  56,  1,
-            (2147483647, 0),  0)));
-            Table.States (275).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (67, 0),  34, 291)));
-            Table.States (276).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (276), (4, 27, 34), (41, 0),  3, 
aggregate_g_0'Access, null);
-            Table.States (276).Kernel := To_Vector ((0 => ((41, 0),  21,  0, 
(41, 0),  3)));
-            Table.States (276).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (41, 0),  3)));
-            Table.States (277).Action_List.Set_Capacity (4);
-            Add_Action (Table.States (277), 4, Reduce, (44, 0),  3, null, 
null);
-            Add_Action (Table.States (277), 14, (44, 1), 292);
-            Add_Action (Table.States (277), 27, Reduce, (44, 0),  3, null, 
null);
-            Add_Action (Table.States (277), 34, Reduce, (44, 0),  3, null, 
null);
-            Table.States (277).Kernel := To_Vector ((((44, 0),  37,  0, (44, 
0),  3), ((44, 1),  37,  3, (2147483647,
-            0),  0)));
-            Table.States (277).Minimal_Complete_Actions := To_Vector 
(((Reduce, (44, 0),  3), (Shift, (44, 1),  14,
-            292)));
-            Table.States (278).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (278), 34, (42, 2), 293);
-            Table.States (278).Kernel := To_Vector ((0 => ((42, 2),  36,  1, 
(2147483647, 0),  0)));
-            Table.States (278).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (42, 2),  34, 293)));
-            Table.States (279).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (279), (4, 27, 34), (56, 1),  3, null, 
null);
-            Table.States (279).Kernel := To_Vector ((0 => ((56, 1),  71,  0, 
(56, 1),  3)));
-            Table.States (279).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (56, 1),  3)));
-            Table.States (280).Action_List.Set_Capacity (5);
-            Add_Action (Table.States (280), (4, 27, 31, 33, 34), (59, 1),  3, 
null, null);
-            Table.States (280).Kernel := To_Vector ((0 => ((59, 1),  37,  0, 
(59, 1),  3)));
-            Table.States (280).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (59, 1),  3)));
-            Table.States (281).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (281), (6, 8, 12, 16, 18, 23, 37), (62, 
0),  9, package_extension_0'Access,
-            package_extension_0_check'Access);
-            Table.States (281).Kernel := To_Vector ((0 => ((62, 0),  34,  0, 
(62, 0),  9)));
-            Table.States (281).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (62, 0),  9)));
-            Table.States (282).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (282), 8, (45, 0), 294);
-            Add_Action (Table.States (282), 25, (46, 0), 147);
-            Table.States (282).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (282), 46, 180);
-            Table.States (282).Kernel := To_Vector ((((45, 0),  47,  3, 
(2147483647, 0),  0), ((47, 2),  47,  2,
-            (2147483647, 0),  0)));
-            Table.States (282).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (45, 0),  8, 294)));
-            Table.States (283).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (283), 21, (42, 3), 295);
-            Table.States (283).Kernel := To_Vector ((0 => ((42, 3),  38,  3, 
(2147483647, 0),  0)));
-            Table.States (283).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (42, 3),  21, 295)));
-            Table.States (284).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (284), 21, (42, 1), 296);
-            Table.States (284).Kernel := To_Vector ((((42, 1),  54,  3, 
(2147483647, 0),  0), ((42, 2),  54,  5,
-            (2147483647, 0),  0)));
-            Table.States (284).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (42, 1),  21, 296)));
-            Table.States (285).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (285), 27, (56, 1), 170);
-            Add_Action (Table.States (285), 34, (42, 0), 297);
-            Table.States (285).Kernel := To_Vector ((((42, 0),  56,  1, 
(2147483647, 0),  0), ((56, 1),  56,  1,
-            (2147483647, 0),  0)));
-            Table.States (285).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (42, 0),  34, 297)));
-            Table.States (286).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (286), 13, (62, 0), 298);
-            Add_Action (Table.States (286), 31, (59, 1), 121);
-            Table.States (286).Kernel := To_Vector ((((59, 1),  59,  2, 
(2147483647, 0),  0), ((62, 0),  59,  3,
-            (2147483647, 0),  0)));
-            Table.States (286).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (62, 0),  13, 298)));
-            Table.States (287).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (287), 8, (61, 0), 299);
-            Table.States (287).Kernel := To_Vector ((0 => ((61, 0),  53,  2, 
(2147483647, 0),  0)));
-            Table.States (287).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (61, 0),  8, 299)));
-            Table.States (288).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (288), 31, (59, 1), 186);
-            Add_Action (Table.States (288), 34, (63, 0), 300);
-            Table.States (288).Kernel := To_Vector ((((59, 1),  59,  2, 
(2147483647, 0),  0), ((63, 0),  59,  1,
-            (2147483647, 0),  0)));
-            Table.States (288).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (63, 0),  34, 300)));
-            Table.States (289).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (289), 34, (72, 0), 301);
-            Table.States (289).Kernel := To_Vector ((0 => ((72, 0),  41,  1, 
(2147483647, 0),  0)));
-            Table.States (289).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (72, 0),  34, 301)));
-            Table.States (290).Action_List.Set_Capacity (10);
-            Add_Action (Table.States (290), 10, (57, 0), 130);
-            Add_Action (Table.States (290), 11, (57, 1), 131);
-            Add_Action (Table.States (290), 14, (41, 0), 132);
-            Add_Action (Table.States (290), 19, (43, 0), 9);
-            Add_Action (Table.States (290), 27, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (290), 31, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (290), 33, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (290), 34, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (290), 37, (58, 1), 133);
-            Add_Action (Table.States (290), 38, (69, 0), 134);
-            Table.States (290).Goto_List.Set_Capacity (9);
-            Add_Goto (Table.States (290), 41, 135);
-            Add_Goto (Table.States (290), 43, 136);
-            Add_Goto (Table.States (290), 44, 137);
-            Add_Goto (Table.States (290), 56, 302);
-            Add_Goto (Table.States (290), 57, 139);
-            Add_Goto (Table.States (290), 58, 140);
-            Add_Goto (Table.States (290), 59, 141);
-            Add_Goto (Table.States (290), 69, 142);
-            Add_Goto (Table.States (290), 71, 143);
-            Table.States (290).Kernel := To_Vector ((0 => ((67, 1),  29,  1, 
(2147483647, 0),  0)));
-            Table.States (290).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (56, 0),  0)));
-            Table.States (291).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (291), (6, 8, 12, 16, 18, 23, 25, 37), 
(67, 0),  4,
-            simple_declarative_item_0'Access, null);
-            Table.States (291).Kernel := To_Vector ((0 => ((67, 0),  34,  0, 
(67, 0),  4)));
-            Table.States (291).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (67, 0),  4)));
-            Table.States (292).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (292), 38, (44, 1), 303);
-            Table.States (292).Kernel := To_Vector ((0 => ((44, 1),  14,  2, 
(2147483647, 0),  0)));
-            Table.States (292).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (44, 1),  38, 303)));
-            Table.States (293).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (293), (6, 8, 12, 16, 18, 23, 37), (42, 
2),  10, attribute_declaration_2'Access,
-            null);
-            Table.States (293).Kernel := To_Vector ((0 => ((42, 2),  34,  0, 
(42, 2),  10)));
-            Table.States (293).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (42, 2),  10)));
-            Table.States (294).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (294), 6, (45, 0), 304);
-            Table.States (294).Kernel := To_Vector ((0 => ((45, 0),  8,  2, 
(2147483647, 0),  0)));
-            Table.States (294).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (45, 0),  6, 304)));
-            Table.States (295).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (295), 24, (42, 3), 305);
-            Table.States (295).Kernel := To_Vector ((0 => ((42, 3),  21,  2, 
(2147483647, 0),  0)));
-            Table.States (295).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (42, 3),  24, 305)));
-            Table.States (296).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (296), 24, (42, 1), 306);
-            Table.States (296).Kernel := To_Vector ((((42, 1),  21,  2, 
(2147483647, 0),  0), ((42, 2),  21,  4,
-            (2147483647, 0),  0)));
-            Table.States (296).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (42, 1),  24, 306)));
-            Table.States (297).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (297), (6, 8, 12, 16, 18, 23, 25, 37), 
(42, 0),  5,
-            attribute_declaration_0'Access, null);
-            Table.States (297).Kernel := To_Vector ((0 => ((42, 0),  34,  0, 
(42, 0),  5)));
-            Table.States (297).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (42, 0),  5)));
-            Table.States (298).Action_List.Set_Capacity (7);
-            Add_Action (Table.States (298), 6, (45, 0), 85);
-            Add_Action (Table.States (298), 8, Reduce, (53, 0),  0, null, 
null);
-            Add_Action (Table.States (298), 12, (42, 0), 86);
-            Add_Action (Table.States (298), 16, (67, 4), 87);
-            Add_Action (Table.States (298), 18, (61, 0), 88);
-            Add_Action (Table.States (298), 23, (72, 0), 89);
-            Add_Action (Table.States (298), 37, (67, 0), 90);
-            Table.States (298).Goto_List.Set_Capacity (11);
-            Add_Goto (Table.States (298), 42, 91);
-            Add_Goto (Table.States (298), 45, 92);
-            Add_Goto (Table.States (298), 51, 93);
-            Add_Goto (Table.States (298), 52, 94);
-            Add_Goto (Table.States (298), 53, 307);
-            Add_Goto (Table.States (298), 60, 96);
-            Add_Goto (Table.States (298), 61, 97);
-            Add_Goto (Table.States (298), 62, 98);
-            Add_Goto (Table.States (298), 63, 99);
-            Add_Goto (Table.States (298), 67, 100);
-            Add_Goto (Table.States (298), 72, 101);
-            Table.States (298).Kernel := To_Vector ((0 => ((62, 0),  13,  2, 
(2147483647, 0),  0)));
-            Table.States (298).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (53, 0),  0)));
-            Table.States (299).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (299), 34, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (299), 37, (58, 1), 144);
-            Table.States (299).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (299), 58, 308);
-            Table.States (299).Kernel := To_Vector ((0 => ((61, 0),  8,  1, 
(2147483647, 0),  0)));
-            Table.States (299).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (58, 0),  0)));
-            Table.States (300).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (300), (6, 8, 12, 16, 18, 23, 25, 37), 
(63, 0),  5, package_renaming_0'Access,
-            null);
-            Table.States (300).Kernel := To_Vector ((0 => ((63, 0),  34,  0, 
(63, 0),  5)));
-            Table.States (300).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (63, 0),  5)));
-            Table.States (301).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (301), (6, 8, 12, 16, 18, 23, 25, 37), 
(72, 0),  5,
-            typed_string_declaration_0'Access, null);
-            Table.States (301).Kernel := To_Vector ((0 => ((72, 0),  34,  0, 
(72, 0),  5)));
-            Table.States (301).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (72, 0),  5)));
-            Table.States (302).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (302), 27, (56, 1), 170);
-            Add_Action (Table.States (302), 34, (67, 1), 309);
-            Table.States (302).Kernel := To_Vector ((((56, 1),  56,  1, 
(2147483647, 0),  0), ((67, 1),  56,  1,
-            (2147483647, 0),  0)));
-            Table.States (302).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (67, 1),  34, 309)));
-            Table.States (303).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (303), 21, (44, 1), 310);
-            Table.States (303).Kernel := To_Vector ((0 => ((44, 1),  38,  1, 
(2147483647, 0),  0)));
-            Table.States (303).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (44, 1),  21, 310)));
-            Table.States (304).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (304), 34, (45, 0), 311);
-            Table.States (304).Kernel := To_Vector ((0 => ((45, 0),  6,  1, 
(2147483647, 0),  0)));
-            Table.States (304).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (45, 0),  34, 311)));
-            Table.States (305).Action_List.Set_Capacity (10);
-            Add_Action (Table.States (305), 10, (57, 0), 130);
-            Add_Action (Table.States (305), 11, (57, 1), 131);
-            Add_Action (Table.States (305), 14, (41, 0), 132);
-            Add_Action (Table.States (305), 19, (43, 0), 9);
-            Add_Action (Table.States (305), 27, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (305), 31, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (305), 33, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (305), 34, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (305), 37, (58, 1), 133);
-            Add_Action (Table.States (305), 38, (69, 0), 134);
-            Table.States (305).Goto_List.Set_Capacity (9);
-            Add_Goto (Table.States (305), 41, 135);
-            Add_Goto (Table.States (305), 43, 136);
-            Add_Goto (Table.States (305), 44, 137);
-            Add_Goto (Table.States (305), 56, 312);
-            Add_Goto (Table.States (305), 57, 139);
-            Add_Goto (Table.States (305), 58, 140);
-            Add_Goto (Table.States (305), 59, 141);
-            Add_Goto (Table.States (305), 69, 142);
-            Add_Goto (Table.States (305), 71, 143);
-            Table.States (305).Kernel := To_Vector ((0 => ((42, 3),  24,  1, 
(2147483647, 0),  0)));
-            Table.States (305).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (56, 0),  0)));
-            Table.States (306).Action_List.Set_Capacity (11);
-            Add_Action (Table.States (306), 4, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (306), 10, (57, 0), 227);
-            Add_Action (Table.States (306), 11, (57, 1), 228);
-            Add_Action (Table.States (306), 14, (41, 0), 229);
-            Add_Action (Table.States (306), 19, (43, 0), 9);
-            Add_Action (Table.States (306), 27, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (306), 31, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (306), 33, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (306), 34, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (306), 37, (58, 1), 230);
-            Add_Action (Table.States (306), 38, (69, 0), 231);
-            Table.States (306).Goto_List.Set_Capacity (9);
-            Add_Goto (Table.States (306), 41, 232);
-            Add_Goto (Table.States (306), 43, 233);
-            Add_Goto (Table.States (306), 44, 234);
-            Add_Goto (Table.States (306), 56, 313);
-            Add_Goto (Table.States (306), 57, 236);
-            Add_Goto (Table.States (306), 58, 237);
-            Add_Goto (Table.States (306), 59, 238);
-            Add_Goto (Table.States (306), 69, 239);
-            Add_Goto (Table.States (306), 71, 240);
-            Table.States (306).Kernel := To_Vector ((((42, 1),  24,  1, 
(2147483647, 0),  0), ((42, 2),  24,  3,
-            (2147483647, 0),  0)));
-            Table.States (306).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (56, 0),  0)));
-            Table.States (307).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (307), 8, (62, 0), 314);
-            Table.States (307).Kernel := To_Vector ((0 => ((62, 0),  53,  2, 
(2147483647, 0),  0)));
-            Table.States (307).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (62, 0),  8, 314)));
-            Table.States (308).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (308), 34, (61, 0), 315);
-            Table.States (308).Kernel := To_Vector ((0 => ((61, 0),  58,  1, 
(2147483647, 0),  0)));
-            Table.States (308).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (61, 0),  34, 315)));
-            Table.States (309).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (309), (6, 8, 12, 16, 18, 23, 25, 37), 
(67, 1),  6,
-            simple_declarative_item_1'Access, null);
-            Table.States (309).Kernel := To_Vector ((0 => ((67, 1),  34,  0, 
(67, 1),  6)));
-            Table.States (309).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (67, 1),  6)));
-            Table.States (310).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (310), (4, 27, 34), (44, 1),  6, null, 
null);
-            Table.States (310).Kernel := To_Vector ((0 => ((44, 1),  21,  0, 
(44, 1),  6)));
-            Table.States (310).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (44, 1),  6)));
-            Table.States (311).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (311), (6, 8, 12, 16, 18, 23, 25, 37), 
(45, 0),  7, case_statement_0'Access,
-            null);
-            Table.States (311).Kernel := To_Vector ((0 => ((45, 0),  34,  0, 
(45, 0),  7)));
-            Table.States (311).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (45, 0),  7)));
-            Table.States (312).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (312), 27, (56, 1), 170);
-            Add_Action (Table.States (312), 34, (42, 3), 316);
-            Table.States (312).Kernel := To_Vector ((((42, 3),  56,  1, 
(2147483647, 0),  0), ((56, 1),  56,  1,
-            (2147483647, 0),  0)));
-            Table.States (312).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (42, 3),  34, 316)));
-         end Subr_3;
-         procedure Subr_4
-         is begin
-            Table.States (313).Action_List.Set_Capacity (3);
-            Add_Action (Table.States (313), 4, (42, 2), 317);
-            Add_Action (Table.States (313), 27, (56, 1), 261);
-            Add_Action (Table.States (313), 34, (42, 1), 318);
-            Table.States (313).Kernel := To_Vector ((((42, 1),  56,  1, 
(2147483647, 0),  0), ((42, 2),  56,  3,
-            (2147483647, 0),  0), ((56, 1),  56,  1, (2147483647, 0),  0)));
-            Table.States (313).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (42, 1),  34, 318)));
-            Table.States (314).Action_List.Set_Capacity (2);
-            Add_Action (Table.States (314), 34, Reduce, (58, 0),  0, null, 
null);
-            Add_Action (Table.States (314), 37, (58, 1), 144);
-            Table.States (314).Goto_List.Set_Capacity (1);
-            Add_Goto (Table.States (314), 58, 319);
-            Table.States (314).Kernel := To_Vector ((0 => ((62, 0),  8,  1, 
(2147483647, 0),  0)));
-            Table.States (314).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (58, 0),  0)));
-            Table.States (315).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (315), (6, 8, 12, 16, 18, 23, 25, 37), 
(61, 0),  7, package_spec_0'Access,
-            package_spec_0_check'Access);
-            Table.States (315).Kernel := To_Vector ((0 => ((61, 0),  34,  0, 
(61, 0),  7)));
-            Table.States (315).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (61, 0),  7)));
-            Table.States (316).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (316), (6, 8, 12, 16, 18, 23, 25, 37), 
(42, 3),  8,
-            attribute_declaration_3'Access, null);
-            Table.States (316).Kernel := To_Vector ((0 => ((42, 3),  34,  0, 
(42, 3),  8)));
-            Table.States (316).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (42, 3),  8)));
-            Table.States (317).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (317), 36, (42, 2), 320);
-            Table.States (317).Kernel := To_Vector ((0 => ((42, 2),  4,  2, 
(2147483647, 0),  0)));
-            Table.States (317).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (42, 2),  36, 320)));
-            Table.States (318).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (318), (6, 8, 12, 16, 18, 23, 25, 37), 
(42, 1),  8,
-            attribute_declaration_1'Access, null);
-            Table.States (318).Kernel := To_Vector ((0 => ((42, 1),  34,  0, 
(42, 1),  8)));
-            Table.States (318).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (42, 1),  8)));
-            Table.States (319).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (319), 34, (62, 0), 321);
-            Table.States (319).Kernel := To_Vector ((0 => ((62, 0),  58,  1, 
(2147483647, 0),  0)));
-            Table.States (319).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (62, 0),  34, 321)));
-            Table.States (320).Action_List.Set_Capacity (1);
-            Add_Action (Table.States (320), 34, (42, 2), 322);
-            Table.States (320).Kernel := To_Vector ((0 => ((42, 2),  36,  1, 
(2147483647, 0),  0)));
-            Table.States (320).Minimal_Complete_Actions := To_Vector ((0 => 
(Shift, (42, 2),  34, 322)));
-            Table.States (321).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (321), (6, 8, 12, 16, 18, 23, 25, 37), 
(62, 0),  9, package_extension_0'Access,
-            package_extension_0_check'Access);
-            Table.States (321).Kernel := To_Vector ((0 => ((62, 0),  34,  0, 
(62, 0),  9)));
-            Table.States (321).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (62, 0),  9)));
-            Table.States (322).Action_List.Set_Capacity (8);
-            Add_Action (Table.States (322), (6, 8, 12, 16, 18, 23, 25, 37), 
(42, 2),  10,
-            attribute_declaration_2'Access, null);
-            Table.States (322).Kernel := To_Vector ((0 => ((42, 2),  34,  0, 
(42, 2),  10)));
-            Table.States (322).Minimal_Complete_Actions := To_Vector ((0 => 
(Reduce, (42, 2),  10)));
-         end Subr_4;
-      begin
-         Subr_1;
-         Subr_2;
-         Subr_3;
-         Subr_4;
-         Table.Error_Action := new Parse_Action_Node'((Verb => Error, others 
=> <>), null);
-      end;
-
-      WisiToken.Parse.LR.Parser.New_Parser
-        (Parser,
-         Trace,
-         Lexer.New_Lexer (Trace.Descriptor),
-         Table,
-         Language_Fixes,
-         Language_Matching_Begin_Tokens,
-         Language_String_ID_Set,
-         User_Data,
-         Max_Parallel         => 15,
-         Terminate_Same_State => True);
-   end Create_Parser;
-end Gpr_Process_Main;
diff --git a/packages/ada-mode/gpr_process_main.ads 
b/packages/ada-mode/gpr_process_main.ads
deleted file mode 100644
index 4632a89..0000000
--- a/packages/ada-mode/gpr_process_main.ads
+++ /dev/null
@@ -1,32 +0,0 @@
---  generated parser support file.
---  command line: wisitoken-bnf-generate.exe  --generate LR1 Ada_Emacs re2c 
PROCESS gpr.wy
---
-
---  Copyright (C) 2013 - 2020 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
---  published by the Free Software Foundation; either version 3, or (at
---  your option) any later version.
---
---  This software 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/>.
-
-with WisiToken.Syntax_Trees;
-with WisiToken.Parse.LR.Parser;
-package Gpr_Process_Main is
-
-   procedure Create_Parser
-     (Parser                         :    out WisiToken.Parse.LR.Parser.Parser;
-      Language_Fixes                 : in     
WisiToken.Parse.LR.Parser.Language_Fixes_Access;
-      Language_Matching_Begin_Tokens : in     
WisiToken.Parse.LR.Parser.Language_Matching_Begin_Tokens_Access;
-      Language_String_ID_Set         : in     
WisiToken.Parse.LR.Parser.Language_String_ID_Set_Access;
-      Trace                        : not null access WisiToken.Trace'Class;
-      User_Data                    : in     
WisiToken.Syntax_Trees.User_Data_Access);
-
-end Gpr_Process_Main;
diff --git a/packages/ada-mode/gpr_query.adb b/packages/ada-mode/gpr_query.adb
deleted file mode 100644
index d56d2e4..0000000
--- a/packages/ada-mode/gpr_query.adb
+++ /dev/null
@@ -1,1316 +0,0 @@
---  Abstract :
---
---  Support Emacs Ada mode and gpr-query minor mode queries about
---  GNAT projects and cross reference data
---
---  Copyright (C) 2014 - 2020 Free Software Foundation All Rights Reserved.
---
---  This program is free software; you can redistribute it and/or
---  modify it under terms of the GNU General Public License as
---  published by the Free Software Foundation; either version 3, or (at
---  your option) any later version. This program is distributed in the
---  hope that it will be useful, but WITHOUT ANY WARRANTY; without even
---  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
---  PURPOSE. See the GNU General Public License for more details. You
---  should have received a copy of the GNU General Public License
---  distributed with this program; see file COPYING. If not, write to
---  the Free Software Foundation, 51 Franklin Street, Suite 500, Boston,
---  MA 02110-1335, USA.
-
-pragma License (GPL);
-
-with Ada.Characters.Handling;
-with Ada.Command_Line;
-with Ada.Directories;
-with Ada.Environment_Variables;
-with Ada.Exceptions.Traceback;
-with Ada.IO_Exceptions;
-with Ada.Strings.Fixed;
-with Ada.Strings.Unbounded;
-with Ada.Text_IO;
-with GNAT.Command_Line;
-with GNAT.Directory_Operations;
-with GNAT.OS_Lib;
-with GNAT.Strings;
-with GNAT.Traceback.Symbolic;
-with GNATCOLL.Arg_Lists;
-with GNATCOLL.Paragraph_Filling;
-with GNATCOLL.Projects;
-with GNATCOLL.SQL.Sqlite;
-with GNATCOLL.Traces;
-with GNATCOLL.Utils;
-with GNATCOLL.VFS;
-with GNATCOLL.VFS_Utils;
-with GNATCOLL.Xref;
-procedure Gpr_Query is
-   use all type GNATCOLL.VFS.File_Array;
-   use GNATCOLL;
-
-   Version : constant String := "3";
-   --  Changes once per release when the API (commands and responses)
-   --  changes; must match gpr-query.el gpr-query-protocol-version
-
-   Me : constant GNATCOLL.Traces.Trace_Handle := GNATCOLL.Traces.Create 
("gpr_query");
-
-   Db_Error        : exception;
-   Invalid_Command : exception;
-
-   function "+" (Item : in Ada.Strings.Unbounded.Unbounded_String) return 
String
-     renames Ada.Strings.Unbounded.To_String;
-
-   function "+" (Item : in String) return 
Ada.Strings.Unbounded.Unbounded_String
-     renames Ada.Strings.Unbounded.To_Unbounded_String;
-
-   function "+" (Item : in GNATCOLL.VFS.Filesystem_String) return String
-   is begin
-      return String (Item);
-   end "+";
-
-   procedure Process_Line (Line : String);
-   --  Process a full line of commands.
-   --  Raise Invalid_Command when the command is invalid.
-
-   function Get_Entity (Arg : String) return GNATCOLL.Xref.Entity_Information;
-   --  Return the entity matching the "name:file:line[:column]" argument
-
-   type My_Xref_Database is new GNATCOLL.Xref.Xref_Database with null record;
-   --  Derived so we can override Image to output full paths
-
-   Short_File_Names : Boolean; -- set by each command that calls Image
-   --  Full_File_Names_Arg : constant String := "full_file_names";
-   Short_File_Names_Arg : constant String := "short_file_names";
-
-   overriding function Image (Self : My_Xref_Database; File : 
GNATCOLL.VFS.Virtual_File) return String;
-   function Image (Self : GNATCOLL.Xref.Entity_Information) return String;
-   --  Return a display version of the argument
-
-   Xref               : aliased My_Xref_Database;
-   Env                : GNATCOLL.Projects.Project_Environment_Access;
-   Tree               : aliased GNATCOLL.Projects.Project_Tree;
-   Source_Search_Path : GNATCOLL.VFS.File_Array_Access;
-
-   Previous_Progress : Natural := 0;
-   Progress_Reporter : access procedure (Current, Total : Integer) := null;
-
-   --  Subprogram specs for subprograms used before bodies
-   procedure Check_Arg_Count (Args : in GNATCOLL.Arg_Lists.Arg_List; Expected 
: in Integer);
-   procedure Dump (Curs : in out GNATCOLL.Xref.Entities_Cursor'Class);
-   procedure Dump (Refs : in out GNATCOLL.Xref.References_Cursor'Class; 
Controlling_Type_Name : in String := "");
-   procedure Dump_Local (Refs : in out GNATCOLL.Xref.References_Cursor'Class; 
Local_File_Name : in String);
-   --  Display the results of a query
-
-   procedure Put (Item : GNATCOLL.VFS.File_Array);
-
-   generic
-      with function Compute
-        (Self   : in GNATCOLL.Xref.Xref_Database'Class;
-         Entity : in GNATCOLL.Xref.Entity_Information)
-        return GNATCOLL.Xref.Entity_Information;
-   procedure Process_Command_Single (Args : GNATCOLL.Arg_Lists.Arg_List);
-   --  Get the entity identified by Args, which must contain a single
-   --  argument. Then call Compute, and output the result.
-   --
-   --  Appropriate for queries that return a single entity result.
-
-   procedure Process_Command_Single (Args : GNATCOLL.Arg_Lists.Arg_List)
-   is
-      use GNATCOLL.Arg_Lists;
-      use GNATCOLL.Xref;
-
-      Entity : Entity_Information;
-      Comp   : Entity_Information;
-   begin
-      Check_Arg_Count (Args, 2);
-
-      Short_File_Names := Nth_Arg (Args, 2) = Short_File_Names_Arg;
-
-      Entity := Get_Entity (Nth_Arg (Args, 1));
-      Comp := Compute (Xref, Entity);
-      if Comp /= No_Entity then
-         Ada.Text_IO.Put_Line (Image (Comp));
-      end if;
-   end Process_Command_Single;
-
-   generic
-      with procedure Compute
-        (Self   : in     GNATCOLL.Xref.Xref_Database'Class;
-         Entity : in     GNATCOLL.Xref.Entity_Information;
-         Cursor :    out GNATCOLL.Xref.Entities_Cursor'Class);
-   procedure Process_Command_Multiple (Args : GNATCOLL.Arg_Lists.Arg_List);
-
-   procedure Process_Command_Multiple (Args : GNATCOLL.Arg_Lists.Arg_List)
-   is
-      use GNATCOLL.Arg_Lists;
-      use GNATCOLL.Xref;
-
-      Entity      : Entity_Information;
-      Descendants : Recursive_Entities_Cursor;
-
-      --  Apparently a generic formal parameter cannot match a subprogram 
access type, so we need this:
-      procedure Do_Compute
-        (Self   : in     GNATCOLL.Xref.Xref_Database'Class;
-         Entity : in     GNATCOLL.Xref.Entity_Information;
-         Cursor :    out GNATCOLL.Xref.Entities_Cursor'Class)
-      is begin
-         Compute (Self, Entity, Cursor);
-      end Do_Compute;
-   begin
-      Check_Arg_Count (Args, 2);
-
-      Short_File_Names := Nth_Arg (Args, 2) = Short_File_Names_Arg;
-
-      Entity := Get_Entity (Nth_Arg (Args, 1));
-
-      Recursive
-        (Self    => Xref'Unchecked_Access,
-         Entity  => Entity,
-         Compute => Do_Compute'Unrestricted_Access,
-         Cursor  => Descendants);
-
-      Dump (Descendants);
-
-   end Process_Command_Multiple;
-
-   --  Command procedures; Args is the command line.
-   --
-   --  Infrastructure commands
-   procedure Process_Help (Args : GNATCOLL.Arg_Lists.Arg_List);
-   procedure Process_Refresh (Args : GNATCOLL.Arg_Lists.Arg_List);
-   procedure Process_DB_Name (Args : GNATCOLL.Arg_Lists.Arg_List);
-
-   --  Queries; alphabetical
-   procedure Process_Complete (Args : GNATCOLL.Arg_Lists.Arg_List);
-   procedure Process_Overridden is new Process_Command_Single 
(GNATCOLL.Xref.Overrides);
-   procedure Process_Overriding is new Process_Command_Multiple 
(GNATCOLL.Xref.Overridden_By);
-   procedure Process_Parent_Types is new Process_Command_Multiple 
(GNATCOLL.Xref.Parent_Types);
-   procedure Process_Project_Path (Args : GNATCOLL.Arg_Lists.Arg_List);
-   procedure Process_Refs (Args : GNATCOLL.Arg_Lists.Arg_List);
-   procedure Process_Tree_Defs (Args : GNATCOLL.Arg_Lists.Arg_List);
-   procedure Process_Tree_Refs (Args : GNATCOLL.Arg_Lists.Arg_List);
-   procedure Process_Source_Dirs (Args : GNATCOLL.Arg_Lists.Arg_List);
-
-   type Command_Descr is record
-      Name    : GNAT.Strings.String_Access;
-      Args    : GNAT.Strings.String_Access;
-      Help    : GNAT.Strings.String_Access;
-      Handler : not null access procedure (Args : GNATCOLL.Arg_Lists.Arg_List);
-   end record;
-
-   Commands : constant array (Natural range <>) of Command_Descr :=
-     ((new String'("help"),
-       new String'("[command or variable name]"),
-       new String'("Display the list of commands and their syntax."),
-       Process_Help'Access),
-
-      (new String'("refresh"),
-       null,
-       new String'("Refresh the contents of the xref database."),
-       Process_Refresh'Access),
-
-      (new String'("db_name"),
-       null,
-       new String'("Report the root name of the database files."),
-       Process_DB_Name'Access),
-
-      --  queries
-
-      (new String'("complete"),
-       new String'("pattern"),
-       new String'("Names that complete the pattern."),
-       Process_Complete'Access),
-
-      (new String'("overridden"),
-       new String'("name:file:line[:column] {full_file_names | 
short_file_names}"),
-       new String'("The entity that is overridden by the parameter"),
-       Process_Overridden'Access),
-
-      (new String'("overriding"),
-       new String'("name:file:line[:column] {full_file_names | 
short_file_names}"),
-       new String'("The entities that override the parameter"),
-       Process_Overriding'Access),
-
-      (new String'("parent_types"),
-       new String'("name:file:line[:column] {full_file_names | 
short_file_names}"),
-       new String'("The parent types of the entity."),
-       Process_Parent_Types'Access),
-
-      (new String'("project_path"),
-       null,
-       new String'("The project search path."),
-       Process_Project_Path'Access),
-
-      (new String'("refs"),
-       new String'("name:file:line[:column] {global | local_only} 
{full_file_names | short_file_names}"),
-       new String'("All known references to the entity."),
-       Process_Refs'Access),
-
-      (new String'("tree_defs"),
-       new String'("name:file[:line[:column]] {full_file_names | 
short_file_names}"),
-       new String'
-         ("All known references to the entity, and to child types or 
overridden/overriding operations."),
-       Process_Tree_Defs'Access),
-
-      (new String'("tree_refs"),
-       new String'("name:file:line[:column] {full_file_names | 
short_file_names}"),
-       new String'
-         ("All known references to the entity, and to parent/child types or 
overridden/overriding operations."),
-       Process_Tree_Refs'Access),
-
-      (new String'("source_dirs"),
-       null,
-       new String'("The project source directories, recursively."),
-       Process_Source_Dirs'Access));
-
-   --  Parsed command line info
-   Cmdline              : GNAT.Command_Line.Command_Line_Configuration;
-
-   ALI_Encoding         : aliased GNAT.Strings.String_Access := new 
String'("");
-   Commands_From_Switch : aliased GNAT.Strings.String_Access;
-   DB_Name              : aliased GNAT.Strings.String_Access := new 
String'("gpr_query.db");
-   Force_Refresh        : aliased Boolean;
-   Gpr_Config_File      : aliased GNAT.Strings.String_Access;
-   Nightly_DB_Name      : aliased GNAT.Strings.String_Access;
-   Project_File_Name    : aliased GNAT.Strings.String_Access;
-   Show_Progress        : aliased Boolean;
-   Traces_Config_File   : aliased GNAT.Strings.String_Access;
-
-   ----------
-   --  Procedure bodies, alphabetical
-
-   procedure Check_Arg_Count (Args : in GNATCOLL.Arg_Lists.Arg_List; Expected 
: in Integer)
-   is
-      Count : constant Integer := GNATCOLL.Arg_Lists.Args_Length (Args);
-   begin
-      if Count /= Expected then
-         raise Invalid_Command with "Invalid number of arguments" & 
Integer'Image (Count) &
-           "; expecting" & Integer'Image (Expected);
-      end if;
-   end Check_Arg_Count;
-
-   procedure Display_Progress (Current, Total : Integer) is
-      Now : constant Integer := Integer (Float'Floor (Float (Current) / Float 
(Total) * 100.0));
-   begin
-      if Now /= Previous_Progress then
-         Ada.Text_IO.Put_Line
-           ("completed" & Current'Img
-              & " out of" & Total'Img
-              & " (" & GNATCOLL.Utils.Image (Now, Min_Width => 0) & "%)...");
-         Previous_Progress := Now;
-      end if;
-   end Display_Progress;
-
-   procedure Dump (Curs : in out GNATCOLL.Xref.Entities_Cursor'Class)
-   is
-      use GNATCOLL.Xref;
-   begin
-      while Curs.Has_Element loop
-         Ada.Text_IO.Put_Line (Image (Curs.Element));
-         Curs.Next;
-      end loop;
-   end Dump;
-
-   procedure Dump (Refs : in out GNATCOLL.Xref.References_Cursor'Class; 
Controlling_Type_Name : in String := "")
-   is
-      use GNATCOLL.Xref;
-   begin
-      while Has_Element (Refs) loop
-         declare
-            Ref : constant Entity_Reference := Refs.Element;
-         begin
-            Ada.Text_IO.Put_Line
-              (Xref.Image (Ref) & " (" &
-                 (if Controlling_Type_Name'Length = 0
-                  then ""
-                  else Controlling_Type_Name & "; ") &
-                 (+Ref.Kind) & ")");
-         end;
-         Next (Refs);
-      end loop;
-   end Dump;
-
-   procedure Dump_Local (Refs : in out GNATCOLL.Xref.References_Cursor'Class; 
Local_File_Name : in String)
-   is
-      use GNATCOLL.Xref;
-   begin
-      while Has_Element (Refs) loop
-         declare
-            Ref : constant Entity_Reference := Refs.Element;
-         begin
-            if Local_File_Name = "" or else Local_File_Name = 
Ref.File.Display_Base_Name then
-               Ada.Text_IO.Put_Line (Xref.Image (Ref) & " (" & (+Ref.Kind) & 
")");
-            end if;
-         end;
-         Next (Refs);
-      end loop;
-   end Dump_Local;
-
-   function Get_Entity (Arg : String) return GNATCOLL.Xref.Entity_Information
-   is
-      use GNAT.Directory_Operations;
-      use GNATCOLL.Xref;
-
-      Words : GNAT.Strings.String_List_Access := GNATCOLL.Utils.Split (Arg, On 
=> ':');
-      Ref   : GNATCOLL.Xref.Entity_Reference;
-   begin
-      case Words'Length is
-      when 4         =>
-         Ref := Xref.Get_Entity
-           (Name     => Words (Words'First).all,
-            File     => Format_Pathname
-              (Style => UNIX,
-               Path  => Words (Words'First + 1).all),
-            Project  => GNATCOLL.Projects.No_Project,
-            Line     => Integer'Value (Words (Words'First + 2).all),
-            Column   => Visible_Column
-              (Integer'Value (Words (Words'First + 3).all)));
-
-      when 3 =>
-         --  No column; assume good enough for a precise match
-         Ref := Xref.Get_Entity
-           (Name     => Words (Words'First).all,
-            File     => Format_Pathname
-              (Style => UNIX,
-               Path  => Words (Words'First + 1).all),
-            Project  => GNATCOLL.Projects.No_Project,
-            Line     => Integer'Value (Words (Words'First + 2).all));
-
-      when 2 =>
-         --  No line or column; error.
-         GNAT.Strings.Free (Words);
-         raise Invalid_Command with "Invalid parameter '" & Arg & "', 
expecting name:file:line[:column]]";
-
-      when others =>
-         --  No file, or bad args.
-         --
-         --  Xref.Get_Entity treats 'File => ""' as searching for pre-defined 
entities such as "Integer".
-         --
-         --  To search for a name in all files, use "complete" command.
-         GNAT.Strings.Free (Words);
-
-         raise Invalid_Command with "Invalid parameter '" & Arg & "', 
expecting name:file:line[:column]]";
-      end case;
-
-      GNAT.Strings.Free (Words);
-
-      if Ref.Entity = GNATCOLL.Xref.No_Entity then
-         Ada.Text_IO.Put_Line ("Error: entity not found '" & Arg & "'");
-
-      elsif GNATCOLL.Xref.Is_Fuzzy_Match (Ref.Entity) then
-         Ada.Text_IO.Put_Line ("warning: fuzzy match for the entity");
-      end if;
-
-      return Ref.Entity;
-   end Get_Entity;
-
-   overriding function Image (Self : My_Xref_Database; File : 
GNATCOLL.VFS.Virtual_File) return String
-   is
-      pragma Unreferenced (Self);
-   begin
-      if Short_File_Names then
-         return File.Display_Base_Name;
-      else
-         return File.Display_Full_Name;
-      end if;
-   end Image;
-
-   function Image (Self : GNATCOLL.Xref.Entity_Information) return String
-   is
-      use GNATCOLL.Xref;
-   begin
-      if Self = No_Entity then
-         return "Unknown entity";
-      else
-         declare
-            Decl : constant Entity_Declaration := Xref.Declaration (Self);
-         begin
-            if Is_Predefined_Entity (Decl) then
-               return "predefined entity: " & (+Decl.Name);
-            else
-               return Xref.Image (Decl.Location);
-            end if;
-         end;
-      end if;
-   end Image;
-
-   procedure Process_DB_Name (Args : GNATCOLL.Arg_Lists.Arg_List)
-   is
-      pragma Unreferenced (Args);
-   begin
-      Ada.Text_IO.Put_Line (DB_Name.all);
-   end Process_DB_Name;
-
-   procedure Process_Help (Args : GNATCOLL.Arg_Lists.Arg_List)
-   is
-      use Ada.Text_IO;
-      use GNATCOLL.Arg_Lists;
-      use type GNAT.Strings.String_Access;
-   begin
-      for C in Commands'Range loop
-         if Args_Length (Args) <= 0 -- Empty_Command_Line returns -1
-           or else Nth_Arg (Args, 1) = Commands (C).Name.all
-         then
-            Put ("  " & Commands (C).Name.all);
-            if Commands (C).Args = null then
-               New_Line;
-            else
-               Put_Line (" " & Commands (C).Args.all);
-            end if;
-
-            Put
-              (Ada.Strings.Unbounded.To_String
-                 (GNATCOLL.Paragraph_Filling.Knuth_Fill
-                    (Commands (C).Help.all,
-                     Max_Line_Length => 70,
-                     Line_Prefix     => "      ")));
-         end if;
-      end loop;
-      New_Line;
-      Put_Line ("'exit' to quit");
-   end Process_Help;
-
-   procedure Process_Line (Line : String)
-   is
-      Expr : GNAT.Strings.String_List_Access;
-   begin
-      if Ada.Strings.Fixed.Trim (Line, Ada.Strings.Both) = "" then
-         return;
-      end if;
-
-      Expr := GNATCOLL.Utils.Split (Line, On => ';');
-
-      for C in Expr'Range loop
-         if Ada.Strings.Fixed.Trim (Expr (C).all, Ada.Strings.Both) = "" then
-            null;
-
-         else
-            declare
-               use GNATCOLL.Arg_Lists;
-               List  : constant Arg_List := Parse_String (Expr (C).all, Mode 
=> Separate_Args);
-               Cmd   : constant String   := Ada.Characters.Handling.To_Lower 
(Get_Command (List));
-               Found : Boolean           := False;
-            begin
-               for Co in Commands'Range loop
-                  if Commands (Co).Name.all = Cmd then
-                     Commands (Co).Handler (List);
-                     Found := True;
-                     exit;
-                  end if;
-               end loop;
-
-               if not Found then
-                  raise Invalid_Command with "Invalid command: '" & Cmd & "'";
-               end if;
-            end;
-
-         end if;
-      end loop;
-
-      GNAT.Strings.Free (Expr);
-   end Process_Line;
-
-   function Get_Parameters (Entity : GNATCOLL.Xref.Entity_Information) return 
String
-   is
-      use Ada.Strings.Unbounded;
-      use GNATCOLL.Xref;
-      Params     : Parameters_Cursor := GNATCOLL.Xref.Parameters (Xref, 
Entity);
-      Result     : Unbounded_String;
-      Need_Paren : Boolean           := True;
-   begin
-      loop
-         exit when not Has_Element (Params);
-         Result := Result &
-           ((if Need_Paren
-             then (if Length (Result) > 0 then " (" else "(")
-             else ", ") &
-              Xref.Declaration (Element (Params).Parameter).Name);
-         Need_Paren := False;
-         Next (Params);
-      end loop;
-      if not Need_Paren then
-         Result := Result & ")";
-      end if;
-      return +Result;
-   end Get_Parameters;
-
-   procedure Process_Complete (Args : GNATCOLL.Arg_Lists.Arg_List)
-   is
-      use Ada.Text_IO;
-      use GNATCOLL.Arg_Lists;
-      use GNATCOLL.Xref;
-      Prefix  : constant String := Nth_Arg (Args, 1);
-      Matches : Entities_Cursor;
-      Count   : Integer         := 0;
-   begin
-      Short_File_Names := False;
-
-      --  First count all matches, so Emacs can show progress
-      Xref.From_Prefix
-        (Prefix,
-         Is_Partial => True,
-         Cursor     => Matches);
-      loop
-         exit when not Has_Element (Matches);
-         Count := @ + 1;
-         Next (Matches);
-      end loop;
-
-      Ada.Text_IO.Put_Line ("element count" & Count'Image);
-
-      Xref.From_Prefix
-        (Prefix,
-         Is_Partial => True,
-         Cursor     => Matches);
-      loop
-         exit when not Has_Element (Matches);
-         declare
-            Decl : constant Entity_Declaration := Xref.Declaration (Element 
(Matches));
-         begin
-            Put (Xref.Qualified_Name (Element (Matches)));
-            if Decl.Flags.Is_Subprogram then
-               Ada.Text_IO.Put (Get_Parameters (Decl.Location.Entity));
-            end if;
-         end;
-         Ada.Text_IO.Put_Line (" " & Image (Element (Matches)));
-         Next (Matches);
-      end loop;
-   end Process_Complete;
-
-   procedure Process_Project_Path (Args : GNATCOLL.Arg_Lists.Arg_List)
-   is
-      pragma Unreferenced (Args);
-      Dirs : constant GNATCOLL.VFS.File_Array := 
GNATCOLL.Projects.Predefined_Project_Path (Env.all);
-   begin
-      Short_File_Names := False;
-      Put (Dirs);
-   end Process_Project_Path;
-
-   procedure Process_Refresh (Args : GNATCOLL.Arg_Lists.Arg_List)
-   is
-      pragma Unreferenced (Args);
-   begin
-      Parse_All_LI_Files
-        (Self                => Xref,
-         Project             => Tree.Root_Project,
-         Parse_Runtime_Files => False,
-         Show_Progress       => Progress_Reporter,
-         ALI_Encoding        => ALI_Encoding.all,
-         From_DB_Name        => Nightly_DB_Name.all,
-         To_DB_Name          => DB_Name.all,
-         Force_Refresh       => Force_Refresh);
-   end Process_Refresh;
-
-   procedure Process_Refs (Args : GNATCOLL.Arg_Lists.Arg_List)
-   is
-      use GNATCOLL.Arg_Lists;
-   begin
-      Check_Arg_Count (Args, 3); --  entity, local/global, full/short
-
-      Short_File_Names := Nth_Arg (Args, 3) = Short_File_Names_Arg;
-
-      declare
-         use GNATCOLL.Xref;
-         Entity : constant Entity_Information := Get_Entity (Nth_Arg (Args, 
1));
-         Refs   : References_Cursor;
-      begin
-         Xref.References (Entity, Refs);
-         if Nth_Arg (Args, 2) = "local_only" then
-            --  Xref doesn't let us get the full file name of Entity (sigh)
-            declare
-               use Ada.Strings.Fixed;
-               First           : constant Integer := 1 + Index (Nth_Arg (Args, 
1), ":");
-               Last            : constant Integer := -1 + Index (Nth_Arg 
(Args, 1), ":", First);
-               Local_File_Name : constant String  := Nth_Arg (Args, 1) (First 
.. Last);
-            begin
-               Dump_Local (Refs, Local_File_Name);
-            end;
-         else
-            Dump (Refs);
-         end if;
-      end;
-   end Process_Refs;
-
-   function Has_Op
-     (Entity            : in GNATCOLL.Xref.Entity_Information;
-      Primitive_Op_Name : in String := "")
-     return Boolean
-   is
-      use GNATCOLL.Xref;
-      Ops : Entities_Cursor;
-   begin
-      Xref.Methods (Entity, Ops);
-      loop
-         exit when not Has_Element (Ops);
-         if Primitive_Op_Name = +Xref.Declaration (Element (Ops)).Name then
-            return True;
-         end if;
-         Next (Ops);
-      end loop;
-      return False;
-   end Has_Op;
-
-   function Root_Parent_Type
-     (Entity            : in GNATCOLL.Xref.Entity_Information;
-      Primitive_Op_Name : in String  := "")
-     return GNATCOLL.Xref.Entity_Information
-   is
-      use GNATCOLL.Xref;
-      Result  : Entity_Information := Entity;
-      Parents : Entities_Cursor;
-   begin
-      loop
-         Xref.Parent_Types (Result, Parents);
-         --  There is more than one parent when the type inherits interfaces.
-         --  We assume the first parent is a non-interface (if there is one),
-         --  and ignore the rest.
-         exit when (not Parents.Has_Element) or else
-           (Primitive_Op_Name'Length > 0 and then not Has_Op (Parents.Element, 
Primitive_Op_Name));
-         Result := Parents.Element;
-      end loop;
-      return Result;
-   end Root_Parent_Type;
-
-   procedure All_Child_Types
-     (Entity : in GNATCOLL.Xref.Entity_Information;
-      Cursor : in out GNATCOLL.Xref.Recursive_Entities_Cursor)
-   is begin
-      GNATCOLL.Xref.Recursive
-        (Self    => Xref'Unchecked_Access,
-         Entity  => Entity,
-         Compute => GNATCOLL.Xref.Child_Types'Access,
-         Cursor  => Cursor);
-   end All_Child_Types;
-
-   function Controlling_Type (Entity : in GNATCOLL.Xref.Entity_Information) 
return GNATCOLL.Xref.Entity_Information
-   is
-      use GNATCOLL.Xref;
-      --  Method_Of returns a derived type if the subprogram is not
-      --  overridden for the child; the type we want is the non-child; the
-      --  last item in Controlling_Types.
-      Types  : Entities_Cursor;
-      Result : Entity_Information := No_Entity;
-   begin
-      Xref.Method_Of (Entity, Types);
-      loop
-         exit when not Has_Element (Types);
-         Result := Types.Element;
-         Next (Types);
-      end loop;
-      return Result;
-   end Controlling_Type;
-
-   procedure Dump_Decl (Decl : in GNATCOLL.Xref.Entity_Declaration; Annotation 
: in String := "")
-   is begin
-      Ada.Text_IO.Put_Line
-        (Xref.Image (Decl.Location) & " (" &
-           (+Decl.Name) & " " &
-           (if Annotation'Length = 0
-            then ""
-            else Annotation & " ") &
-           (+Decl.Kind) & ")");
-   end Dump_Decl;
-
-   procedure Dump_Ref (Ref : in GNATCOLL.Xref.Entity_Reference; Annotation : 
in String := "")
-   is begin
-      Ada.Text_IO.Put_Line
-        (Xref.Image (Ref) & " (" &
-           (+Xref.Declaration (Ref.Entity).Name) & " " &
-           (if Annotation'Length = 0
-            then ""
-            else Annotation & " ") &
-           (+Ref.Kind) & ")");
-   end Dump_Ref;
-
-   procedure Dump_Entity (Entity : in GNATCOLL.Xref.Entity_Information; 
Controlling_Type_Name : in String := "")
-   is
-      use Ada.Strings.Unbounded;
-      use GNATCOLL.Xref;
-      Spec_Decl : constant Entity_Declaration := Xref.Declaration (Entity);
-      Body_Decls : References_Cursor;
-      Parameters : Unbounded_String;
-   begin
-      if Controlling_Type_Name'Length > 0 then
-         Parameters := +Controlling_Type_Name & ";";
-      end if;
-
-      if Spec_Decl.Flags.Is_Subprogram then
-         Parameters := Parameters & Get_Parameters (Spec_Decl.Location.Entity);
-      end if;
-
-      Xref.Bodies (Entity, Body_Decls);
-      if not Has_Element (Body_Decls) then
-         Dump_Decl (Spec_Decl, +Parameters);
-      else
-         declare
-            use all type GNATCOLL.VFS.Virtual_File;
-            First_Body_Ref : constant Entity_Reference := Body_Decls.Element;
-         begin
-            if First_Body_Ref.File = Spec_Decl.Location.File and
-              First_Body_Ref.Line = Spec_Decl.Location.Line and
-              First_Body_Ref.Column = Spec_Decl.Location.Column
-            then
-               Ada.Text_IO.Put_Line
-                 (Xref.Image (First_Body_Ref) & " (" & (+Spec_Decl.Name) & " " 
&
-                    (if Length (Parameters) = 0
-                     then ""
-                     else +Parameters & " ") &
-                    (+Spec_Decl.Kind) & "/" & (+First_Body_Ref.Kind) & ")");
-            else
-               Dump_Decl (Spec_Decl, +Parameters);
-               Dump_Ref (First_Body_Ref, +Parameters);
-            end if;
-         end;
-
-         Next (Body_Decls);
-
-         loop
-            exit when not Has_Element (Body_Decls);
-            Dump_Ref (Body_Decls.Element, +Parameters);
-            Next (Body_Decls);
-         end loop;
-      end if;
-   end Dump_Entity;
-
-   procedure Process_Tree_Defs (Args : GNATCOLL.Arg_Lists.Arg_List)
-   is
-      --  "tree_defs" <name:loc> {short_file_names | full_file_names}
-
-      use GNATCOLL.Arg_Lists;
-      use GNATCOLL.Xref;
-
-      Words       : GNAT.Strings.String_List_Access := GNATCOLL.Utils.Split 
(Nth_Arg (Args, 1), On => ':');
-      Root_Parent : Entity_Information;
-
-      procedure One_Entity (Orig_Entity : in Entity_Information; No_Children : 
in Boolean := False)
-      is
-         Orig_Decl       : constant Entity_Declaration := Xref.Declaration 
(Orig_Entity);
-         Orig_Short_Name : constant String             := +Orig_Decl.Name;
-
-         procedure Dump_Method
-           (Type_Entity       : in GNATCOLL.Xref.Entity_Information;
-            Primitive_Op_Name : in String)
-         is
-            Type_Name : constant String := Xref.Qualified_Name (Type_Entity);
-            Ops       : Entities_Cursor;
-         begin
-            Xref.Methods (Type_Entity, Ops);
-            loop
-               exit when not Has_Element (Ops);
-               declare
-                  Method_Name : constant String := +Xref.Declaration (Element 
(Ops)).Name;
-               begin
-                  if Primitive_Op_Name = Method_Name then
-                     --  IMPROVEME: if the method is inherited but not 
overridden, use the
-                     --  type location.
-                     Dump_Entity (Element (Ops), Type_Name);
-                  end if;
-               end;
-               Next (Ops);
-            end loop;
-         end Dump_Method;
-
-         procedure Dump_Entities (Entities : in out Recursive_Entities_Cursor)
-         is begin
-            loop
-               exit when not Has_Element (Entities);
-               if Orig_Decl.Flags.Is_Subprogram then
-                  Dump_Method (Entities.Element, Primitive_Op_Name => 
Orig_Short_Name);
-               else
-                  Dump_Entity (Entities.Element);
-               end if;
-               Next (Entities);
-            end loop;
-         end Dump_Entities;
-      begin
-
-         if Orig_Decl.Flags.Is_Type then
-            --  It is tempting to find the highest ancestor type here, then 
show
-            --  all types derived from that. But in Ada, that root ancestor is
-            --  often Ada.Finalization.[Limited_]Controlled (or some similar 
root
-            --  type), so the tree is much larger than we really want. So we 
just
-            --  show all children of the given type; the user can then climb 
the
-            --  tree if they want to enlarge it. This also allows the user to
-            --  choose which anscestor to examine when there is more than one,
-            --  with interfaces.
-            Root_Parent := Orig_Entity;
-
-         elsif Orig_Decl.Flags.Is_Subprogram then
-            declare
-               Controlling : constant Entity_Information := Controlling_Type 
(Orig_Entity);
-            begin
-               if Controlling = No_Entity then
-                  --  Not a primitive subprogram
-                  Dump_Entity (Orig_Entity);
-                  return;
-               else
-                  if No_Children then
-                     Root_Parent := Controlling; -- for type name
-                  else
-                     --  Here we find the highest ancestor type that has this 
method.
-                     --  gnatcoll.xref does not let us get the type of each 
parameter, so
-                     --  we can't match profiles, just names.
-                     Root_Parent := Root_Parent_Type (Controlling, 
Primitive_Op_Name => Orig_Short_Name);
-                  end if;
-               end if;
-            end;
-         else
-            --  Something else (variable, package, ...)
-            Dump_Decl (Orig_Decl);
-            return;
-         end if;
-
-         if No_Children then
-            if Orig_Decl.Flags.Is_Type then
-               Dump_Entity (Orig_Entity);
-            else
-               Dump_Entity (Orig_Entity, Controlling_Type_Name => 
Xref.Qualified_Name (Root_Parent));
-            end if;
-         else
-            declare
-               Child_Types : Recursive_Entities_Cursor;
-            begin
-               --  "Child_Types" includes generic formal parameters (ie
-               --  gen_run_wisi_lr_parse.ads Parse_Data_Type) in addition to 
the
-               --  actual parameters.
-               All_Child_Types (Root_Parent, Child_Types);
-               if Orig_Decl.Flags.Is_Type then
-                  Dump_Entity (Root_Parent);
-               else
-                  Dump_Method (Root_Parent, +Orig_Decl.Name);
-               end if;
-               Dump_Entities (Child_Types);
-            end;
-         end if;
-      end One_Entity;
-
-      use GNAT.Directory_Operations;
-   begin
-      Short_File_Names := Nth_Arg (Args, 2) = Short_File_Names_Arg;
-
-      case Words'Length is
-      when 3 | 4         =>
-         One_Entity
-           (Xref.Get_Entity
-              (Name     => Words (Words'First).all,
-               File     => Format_Pathname
-                 (Style => UNIX,
-                  Path  => Words (Words'First + 1).all),
-               Project  => GNATCOLL.Projects.No_Project,
-               Line     => Integer'Value (Words (Words'First + 2).all),
-               Column   =>
-                 (if Words'Length = 4
-                  then Visible_Column (Integer'Value (Words (Words'First + 
3).all))
-                  else -1)) --  No column; assume good enough for a precise 
match
-              .Entity);
-
-      when 2 =>
-         --  No line or column; find all matching names in file
-         declare
-            use GNATCOLL.VFS;
-
-            Multiple       : Entities_Cursor;
-            Orig_File      : constant Virtual_File      := Locate_Regular_File
-              (File_Name => +Words (Words'First + 1).all,
-               Path      => Source_Search_Path.all);
-            Orig_File_Name : constant Filesystem_String := Full_Name 
(Orig_File);
-         begin
-            From_Prefix (Xref, Words (Words'First).all, Is_Partial => False, 
Cursor => Multiple);
-
-            loop
-               exit when not Has_Element (Multiple);
-               declare
-                  Decl : constant Entity_Declaration := Xref.Declaration 
(Element (Multiple));
-
-                  function Check_Body_File return Boolean
-                  is
-                     Bodies : References_Cursor;
-                  begin
-                     Xref.Bodies (Decl.Location.Entity, Bodies);
-                     loop
-                        exit when not Has_Element (Bodies);
-                        declare
-                           Ref : Entity_Reference renames Element (Bodies);
-                        begin
-                           if Orig_File_Name = Full_Name (Ref.File) then
-                              return True;
-                           end if;
-                        end;
-                        Next (Bodies);
-                     end loop;
-                     return False;
-                  end Check_Body_File;
-
-               begin
-                  if Orig_File_Name = Full_Name (Decl.Location.File) or else
-                    Check_Body_File
-                  then
-                     One_Entity (Element (Multiple), No_Children => True);
-                  end if;
-               end;
-               Next (Multiple);
-            end loop;
-         end;
-
-      when others =>
-         --  No file or bad arg.
-         GNAT.Strings.Free (Words);
-         raise Invalid_Command with "Invalid parameter '" & Nth_Arg (Args, 1) &
-           "', expecting name:file:[line[:column]]";
-      end case;
-
-   end Process_Tree_Defs;
-
-   procedure Process_Tree_Refs (Args : GNATCOLL.Arg_Lists.Arg_List)
-   is
-      --  "tree_refs" <name:loc> {short_file_names | full_file_names}
-
-      use GNATCOLL.Arg_Lists;
-      use GNATCOLL.Xref;
-
-      Orig_Entity : constant Entity_Information := Get_Entity (Nth_Arg (Args, 
1));
-      Orig_Decl   : constant Entity_Declaration := Xref.Declaration 
(Orig_Entity);
-      Root_Parent : Entity_Information;
-
-      procedure Dump_Type (Type_Entity : in Entity_Information)
-      is
-         Methods : Entities_Cursor;
-      begin
-         if Orig_Decl.Flags.Is_Subprogram then
-            Xref.Methods (Type_Entity, Methods);
-            loop
-               exit when not Has_Element (Methods);
-               declare
-                  Method_Name : constant String := +Xref.Declaration 
(Methods.Element).Name;
-                  Refs : References_Cursor;
-               begin
-                  if Method_Name = +Orig_Decl.Name then
-                     Xref.References (Methods.Element, Refs);
-                     Dump (Refs, +Xref.Declaration (Type_Entity).Name);
-                  end if;
-               end;
-               Next (Methods);
-            end loop;
-         else
-            Dump_Entity (Type_Entity);
-         end if;
-      end Dump_Type;
-
-      procedure Dump_Types (Types : in out Recursive_Entities_Cursor)
-      is begin
-         loop
-            exit when not Has_Element (Types);
-            Dump_Type (Types.Element);
-            Next (Types);
-         end loop;
-      end Dump_Types;
-   begin
-      Short_File_Names := Nth_Arg (Args, 2) = Short_File_Names_Arg;
-
-      if Orig_Decl.Flags.Is_Type then
-         --  See comment in Process_Tree_Defs
-         Root_Parent := Orig_Entity;
-
-      elsif Orig_Decl.Flags.Is_Subprogram then
-         declare
-            Controlling : constant Entity_Information := Controlling_Type 
(Orig_Entity);
-         begin
-            if Controlling = No_Entity then
-               --  Not a primitive subprogram
-               declare
-                  Refs : References_Cursor;
-               begin
-                  Xref.References (Orig_Entity, Refs);
-                  Dump (Refs);
-                  return;
-               end;
-            else
-               Root_Parent := Root_Parent_Type (Controlling, Primitive_Op_Name 
=> +Orig_Decl.Name);
-            end if;
-         end;
-      else
-         --  A variable
-         declare
-            Refs : References_Cursor;
-         begin
-            Xref.References (Orig_Entity, Refs);
-            Dump (Refs);
-            return;
-         end;
-      end if;
-
-      declare
-         Child_Types : Recursive_Entities_Cursor;
-      begin
-         All_Child_Types (Root_Parent, Child_Types);
-
-         Dump_Type (Root_Parent);
-         Dump_Types (Child_Types);
-      end;
-   end Process_Tree_Refs;
-
-   procedure Process_Source_Dirs (Args : GNATCOLL.Arg_Lists.Arg_List)
-   is
-      pragma Unreferenced (Args);
-   begin
-      Put (Source_Search_Path.all);
-   end Process_Source_Dirs;
-
-   procedure Put (Item : GNATCOLL.VFS.File_Array)
-   is
-      use GNATCOLL.VFS;
-   begin
-      for I in Item'Range loop
-         Ada.Text_IO.Put_Line (+Full_Name (Item (I)));
-      end loop;
-   end Put;
-
-begin
-   Ada.Text_IO.Put_Line ("version: " & Version);
-
-   declare
-      use GNAT.Command_Line;
-   begin
-      Set_Usage
-        (Cmdline,
-         Help => "Query project info and cross-references on source code. See 
ada-mode docs for more help.");
-
-      --  Switch variable alphabetic order
-      Define_Switch
-        (Cmdline,
-         Output      => ALI_Encoding'Access,
-         Long_Switch => "--encoding=",
-         Switch      => "-e=",
-         Help        => "The character encoding used for source and ALI 
files");
-      Define_Switch
-        (Cmdline,
-         Output      => Commands_From_Switch'Access,
-         Switch      => "-c:",
-         Long_Switch => "--command=",
-         Help        => "Execute the commands from ARG, and exit");
-      Define_Switch
-        (Cmdline,
-         Output      => DB_Name'Access,
-         Long_Switch => "--db=",
-         Help        => "Specifies the name of the database (or ':memory:')");
-      Define_Switch
-        (Cmdline,
-         Output      => Force_Refresh'Access,
-         Long_Switch => "--force_refresh",
-         Help        => "Force rebuilding the database.");
-      Define_Switch
-        (Cmdline,
-         Output      => Gpr_Config_File'Access,
-         Long_Switch => "--autoconf=",
-         Help        => "Specify the gpr configuration file (.cgpr)");
-      Define_Switch
-        (Cmdline,
-         Output      => Nightly_DB_Name'Access,
-         Long_Switch => "--nightlydb=",
-         Help        => "Specifies the name of a prebuilt database");
-      Define_Switch
-        (Cmdline,
-         Output      => Project_File_Name'Access,
-         Switch      => "-P:",
-         Long_Switch => "--project=",
-         Help        => "Load the given project (mandatory)");
-      Define_Switch
-        (Cmdline,
-         Output      => Show_Progress'Access,
-         Long_Switch => "--display_progress",
-         Switch      => "-d",
-         Help        => "Show progress as LI files are parsed");
-      Define_Switch
-        (Cmdline,
-         Output      => Traces_Config_File'Access,
-         Long_Switch => "--tracefile=",
-         Help        =>
-           "Specify a traces configuration file, set projects lib verbose. 
File should contain ""gpr_query=yes""");
-
-      Getopt (Cmdline, Callback => null);
-   end;
-
-   if Project_File_Name.all = "" then
-      Ada.Text_IO.Put_Line ("No project file specified");
-      GNAT.Command_Line.Display_Help (Cmdline);
-      return;
-   end if;
-
-   --  Only trace if user specifies --tracefile
-   if Traces_Config_File.all /= "" and then GNAT.OS_Lib.Is_Regular_File 
(Traces_Config_File.all) then
-      GNATCOLL.Traces.Parse_Config_File
-        (Filename         => Traces_Config_File.all,
-         Force_Activation => False);
-      GNATCOLL.Traces.Trace (Me, "trace enabled");
-   end if;
-
-   GNATCOLL.Projects.Initialize (Env); -- for register_default_language
-
-   if Gpr_Config_File.all /= "" and then GNAT.OS_Lib.Is_Regular_File 
(Gpr_Config_File.all) then
-      Env.Set_Config_File
-        (GNATCOLL.VFS.Create_From_UTF8
-           (GNAT.OS_Lib.Normalize_Pathname
-              (Name      => Gpr_Config_File.all,
-               Directory => GNAT.Directory_Operations.Get_Current_Dir)));
-   else
-      --  Apparently Ada language extensions are already registered (sigh)
-
-      Env.Register_Default_Language_Extension
-        (Language_Name       => "C",
-         Default_Spec_Suffix => ".h",
-         Default_Body_Suffix => ".c");
-
-      Env.Register_Default_Language_Extension
-        (Language_Name       => "C++",
-         Default_Spec_Suffix => ".hh",
-         Default_Body_Suffix => ".cpp");
-
-   end if;
-
-   declare
-      use Ada.Environment_Variables;
-      use Ada.Text_IO;
-      use GNATCOLL.VFS;
-      use GNATCOLL.VFS_Utils;
-
-      Gpr_Project_Path : constant String :=
-        (if Exists ("GPR_PROJECT_PATH") then Ada.Directories.Current_Directory 
&
-            GNAT.OS_Lib.Path_Separator &
-            Value ("GPR_PROJECT_PATH")
-         else Ada.Directories.Current_Directory);
-
-      Path : constant Virtual_File := -- must be an absolute file name
-        (if Is_Absolute_Path (+Project_File_Name.all) then
-            Create_From_UTF8 (Project_File_Name.all, Normalize => True)
-         else
-            Locate_Regular_File (+Project_File_Name.all, From_Path 
(+Gpr_Project_Path)));
-   begin
-      GNATCOLL.Traces.Trace (Me, "GPR_PROJECT_PATH " & Gpr_Project_Path);
-
-      if not Path.Is_Regular_File then
-         declare
-            Path : constant File_Array := From_Path (+Gpr_Project_Path);
-         begin
-            Put_Line (Project_File_Name.all & ": not found on path:");
-            for P of Path loop
-               Put_Line (+Full_Name (P));
-            end loop;
-         end;
-         Ada.Command_Line.Set_Exit_Status (Ada.Command_Line.Failure);
-         return;
-      end if;
-
-      GNATCOLL.Traces.Trace (Me, "project file " & (+Path.Full_Name));
-
-      if Show_Progress then
-         Progress_Reporter := Display_Progress'Unrestricted_Access;
-      end if;
-
-      begin
-         --  Recompute_View => True registers all the source files
-         --  (among other things), so we will know that a .[ag]li
-         --  belongs to this project
-         Tree.Load
-           (Path, Env,
-            Errors         => Ada.Text_IO.Put_Line'Access,
-            Recompute_View => True);
-      exception
-      when GNATCOLL.Projects.Invalid_Project =>
-         Ada.Text_IO.Put_Line ("project search path:");
-         Put (GNATCOLL.Projects.Predefined_Project_Path (Env.all));
-         raise GNATCOLL.Projects.Invalid_Project with +Path.Full_Name & ": 
invalid project";
-      end;
-   end;
-
-   if DB_Name.all /= ":memory:" then
-      declare
-         use GNATCOLL.VFS;
-
-         N    : constant String := DB_Name.all;
-         Temp : Virtual_File    := Tree.Root_Project.Object_Dir;
-         Dir2 : Virtual_File;
-      begin
-         GNAT.Strings.Free (DB_Name);
-
-         --  If the project does not have an object directory, create
-         --  the database in the directory containing the project file.
-         if Temp = No_File then
-            Temp := Tree.Root_Project.Project_Path.Dir;
-         end if;
-
-         Temp := Create_From_Base (Base_Dir => Temp.Full_Name.all, Base_Name 
=> +N);
-         Dir2 := Create (Temp.Dir_Name);
-
-         if not Dir2.Is_Directory then
-            Dir2.Make_Dir (Recursive => True);
-         end if;
-
-         DB_Name := new String'(Temp.Display_Full_Name);
-      end;
-   end if;
-
-   declare
-      use type GNAT.Strings.String_Access;
-      Error : GNAT.Strings.String_Access;
-   begin
-      GNATCOLL.Traces.Trace (Me, "using database " & DB_Name.all);
-
-      Setup_DB
-        (Self  => Xref,
-         Tree  => Tree'Unchecked_Access,
-         DB    => GNATCOLL.SQL.Sqlite.Setup (Database => DB_Name.all),
-         Error => Error);
-
-      if Error /= null then
-         --  old db schema
-         raise Db_Error with Error.all;
-      end if;
-   end;
-
-   Process_Refresh (GNATCOLL.Arg_Lists.Empty_Command_Line);
-
-   Source_Search_Path := new GNATCOLL.VFS.File_Array'
-     (GNATCOLL.Projects.Source_Dirs
-        (Project   => Tree.Root_Project,
-         Recursive => True) &
-        GNATCOLL.Projects.Predefined_Source_Path (Env.all));
-
-   if Commands_From_Switch.all /= "" then
-      Process_Line (Commands_From_Switch.all);
-      return;
-   end if;
-
-   loop
-      Ada.Text_IO.Put (">>> ");
-      declare
-         Input : constant String := Ada.Text_IO.Get_Line;
-      begin
-         exit when Input = "exit";
-         Process_Line (Input);
-      exception
-      when E : Invalid_Command =>
-         Ada.Text_IO.Put_Line (Ada.Exceptions.Exception_Message (E));
-         Process_Help (GNATCOLL.Arg_Lists.Empty_Command_Line);
-      end;
-   end loop;
-
-exception
-when Ada.IO_Exceptions.End_Error =>
-   null;
-when E : GNATCOLL.Projects.Invalid_Project =>
-   Ada.Text_IO.Put_Line (Ada.Exceptions.Exception_Message (E));
-   Ada.Command_Line.Set_Exit_Status (Ada.Command_Line.Failure);
-when E : Db_Error =>
-   Ada.Text_IO.Put_Line (Ada.Exceptions.Exception_Message (E));
-   Ada.Command_Line.Set_Exit_Status (Ada.Command_Line.Failure);
-when E : Invalid_Command =>
-   Ada.Text_IO.Put_Line (Ada.Exceptions.Exception_Message (E));
-   Process_Help (GNATCOLL.Arg_Lists.Empty_Command_Line);
-   Ada.Command_Line.Set_Exit_Status (Ada.Command_Line.Failure);
-when GNAT.Command_Line.Invalid_Switch =>
-   GNAT.Command_Line.Display_Help (Cmdline);
-   Ada.Command_Line.Set_Exit_Status (Ada.Command_Line.Failure);
-when E : others =>
-   Ada.Text_IO.Put_Line ("Unexpected exception");
-   Ada.Text_IO.Put_Line (Ada.Exceptions.Exception_Information (E));
-   Ada.Text_IO.Put_Line (GNAT.Traceback.Symbolic.Symbolic_Traceback 
(Ada.Exceptions.Traceback.Tracebacks (E)));
-   Ada.Command_Line.Set_Exit_Status (Ada.Command_Line.Failure);
-end Gpr_Query;
diff --git a/packages/ada-mode/gpr_re2c.c b/packages/ada-mode/gpr_re2c.c
deleted file mode 100644
index dcc2ac3..0000000
--- a/packages/ada-mode/gpr_re2c.c
+++ /dev/null
@@ -1,6362 +0,0 @@
-/* Generated by re2c 1.3 */
-#line 1 "../gpr.re2c"
-//  generated parser support file. -*- mode: C -*-
-//  command line: wisitoken-bnf-generate.exe  --generate LR1 Ada_Emacs re2c 
PROCESS gpr.wy
-//
-
-//  Copyright (C) 2013 - 2020 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
-//  published by the Free Software Foundation; either version 3, or (at
-//  your option) any later version.
-//
-//  This software 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/>.
-
-#include <stddef.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-typedef struct wisi_lexer
-{
-   unsigned char* buffer;           // input text, in utf-8 encoding
-   unsigned char* buffer_last;      // last byte in buffer
-   unsigned char* cursor;           // current byte
-   unsigned char* byte_token_start; // byte position at start of current token
-   size_t         char_pos;         // character position of current character
-   size_t         char_token_start; // character position at start of current 
token
-   int            line;             // 1 indexed
-   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
-   unsigned char* context;          // saved cursor
-   size_t         context_pos;      // saved character position
-   int            context_line;     // saved line
-   int            verbosity;
-
-} wisi_lexer;
-
-#define YYCTYPE unsigned char
-
-#define NO_ERROR 0
-#define ERROR_unrecognized_character 1
-wisi_lexer* gpr_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->byte_token_start  = input;
-   result->char_pos          = 1; /* match WisiToken.Buffer_Region */
-   result->char_token_start  = 1;
-   result->line              = (*result->cursor == 0x0A) ? 2 : 1;
-   result->line_token_start  = result->line;
-   result->verbosity         = verbosity;
-   return result;
-}
-
-void
-gpr_free_lexer(wisi_lexer** lexer)
-{
-   free(*lexer);
-   *lexer = 0;
-}
-
-void
-gpr_reset_lexer(wisi_lexer* lexer)
-{
-   lexer->cursor   = lexer->buffer;
-   lexer->char_pos = 1;
-   lexer->line     = (*lexer->cursor == 0x0A) ? 2 : 1;
-}
-
-static void debug(wisi_lexer* lexer, int state, unsigned char ch)
-{
-   if (lexer->verbosity > 0)
-      {
-      if (ch < ' ')
-         printf ("lexer: %d, 0x%x\n", state, ch);
-      else
-         printf ("lexer: %d, '%c' 0x%x\n", state, ch, ch);
-      }
-}
-#define YYDEBUG(state, ch) debug(lexer, state, ch)
-#define YYCURSOR lexer->cursor
-
-#define YYPEEK() (lexer->cursor <= lexer->buffer_last) ? *lexer->cursor : 4
-
-static void skip(wisi_lexer* lexer)
-{
-   if (lexer->cursor <= lexer->buffer_last)
-      ++lexer->cursor;
-   if (lexer->cursor <= lexer->buffer_last)
-   {
-      /* UFT-8 encoding: https://en.wikipedia.org/wiki/UTF-8#Description */
-      if (*lexer->cursor == 0x0A && lexer->cursor > lexer->buffer && 
*(lexer->cursor - 1) == 0x0D)
-        {/* second byte of DOS line ending */
-        }
-      else if ((*lexer->cursor & 0x80) == 0x80 && (*lexer->cursor & 0xC0) != 
0xC0)
-        {/* byte 2, 3 or 4 of multi-byte UTF-8 char */
-        }
-      else
-        ++lexer->char_pos;
-      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
-#define YYRESTORE() lexer->cursor = lexer->marker; lexer->char_pos = 
lexer->marker_pos;lexer->line = lexer->marker_line
-#define YYBACKUPCTX() lexer->context = lexer->cursor; lexer->context_pos = 
lexer->char_pos;lexer->context_line = lexer->line
-#define YYRESTORECTX() lexer->cursor = lexer->context; lexer->char_pos = 
lexer->context_pos;lexer->line = lexer->context_line
-
-int gpr_next_token
-  (wisi_lexer* lexer,
-   int* id,
-   size_t* byte_position,
-   size_t* byte_length,
-   size_t* char_position,
-   size_t* char_length,
-   int*    line_start)
-{
-   int status = NO_ERROR;
-   *id = -1;
-   if (lexer->cursor > lexer->buffer_last)
-   {
-      *id            = 39;
-      *byte_position = lexer->buffer_last - lexer->buffer + 1;
-      *byte_length   = 0;
-      *char_position = lexer->char_token_start;
-      *char_length   = 0;
-      *line_start    = lexer->line;
-      return status;
-   }
-
-   lexer->byte_token_start = lexer->cursor;
-   lexer->char_token_start = lexer->char_pos;
-   if (*lexer->cursor == 0x0A)
-      lexer->line_token_start = lexer->line-1;
-   else
-      lexer->line_token_start = lexer->line;
-
-   while (*id == -1 && status == 0)
-   {
-
-#line 153 "../gpr_re2c.c"
-{
-       YYCTYPE yych;
-       unsigned int yyaccept = 0;
-       YYDEBUG(0, *YYCURSOR);
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x04:      goto yy4;
-       case '\t':
-       case ' ':       goto yy6;
-       case '\n':      goto yy8;
-       case '\r':      goto yy10;
-       case '"':       goto yy11;
-       case '&':       goto yy12;
-       case '\'':      goto yy14;
-       case '(':       goto yy16;
-       case ')':       goto yy18;
-       case ',':       goto yy20;
-       case '-':       goto yy22;
-       case '.':       goto yy23;
-       case '0':
-       case '1':
-       case '2':
-       case '3':
-       case '4':
-       case '5':
-       case '6':
-       case '7':
-       case '8':
-       case '9':       goto yy25;
-       case ':':       goto yy28;
-       case ';':       goto yy30;
-       case '=':       goto yy32;
-       case 'A':
-       case 'a':       goto yy33;
-       case 'B':
-       case 'D':
-       case 'G':
-       case 'H':
-       case 'J':
-       case 'K':
-       case 'M':
-       case 'Q':
-       case 'V':
-       case 'X':
-       case 'Y':
-       case 'Z':
-       case 'b':
-       case 'd':
-       case 'g':
-       case 'h':
-       case 'j':
-       case 'k':
-       case 'm':
-       case 'q':
-       case 'v':
-       case 'x':
-       case 'y':
-       case 'z':       goto yy35;
-       case 'C':
-       case 'c':       goto yy37;
-       case 'E':
-       case 'e':       goto yy38;
-       case 'F':
-       case 'f':       goto yy39;
-       case 'I':
-       case 'i':       goto yy40;
-       case 'L':
-       case 'l':       goto yy41;
-       case 'N':
-       case 'n':       goto yy42;
-       case 'O':
-       case 'o':       goto yy43;
-       case 'P':
-       case 'p':       goto yy44;
-       case 'R':
-       case 'r':       goto yy45;
-       case 'S':
-       case 's':       goto yy46;
-       case 'T':
-       case 't':       goto yy47;
-       case 'U':
-       case 'u':       goto yy48;
-       case 'W':
-       case 'w':       goto yy49;
-       case '|':       goto yy50;
-       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 yy52;
-       case 0xE0:      goto yy53;
-       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 yy54;
-       case 0xF0:      goto yy55;
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:      goto yy56;
-       case 0xF4:      goto yy57;
-       default:        goto yy2;
-       }
-yy2:
-       YYDEBUG(2, YYPEEK ());
-       YYSKIP ();
-yy3:
-       YYDEBUG(3, YYPEEK ());
-#line 242 "../gpr.re2c"
-       {status = ERROR_unrecognized_character; continue;}
-#line 299 "../gpr_re2c.c"
-yy4:
-       YYDEBUG(4, YYPEEK ());
-       YYSKIP ();
-       YYDEBUG(5, YYPEEK ());
-#line 240 "../gpr.re2c"
-       {*id =  39; continue;}
-#line 306 "../gpr_re2c.c"
-yy6:
-       YYDEBUG(6, YYPEEK ());
-       YYSKIP ();
-       YYDEBUG(7, YYPEEK ());
-#line 195 "../gpr.re2c"
-       { lexer->byte_token_start = lexer->cursor;
-          lexer->char_token_start = lexer->char_pos;
-          if (*lexer->cursor == 0x0A)
-             lexer->line_token_start = lexer->line-1;
-          else
-             lexer->line_token_start = lexer->line;
-          continue; }
-#line 319 "../gpr_re2c.c"
-yy8:
-       YYDEBUG(8, YYPEEK ());
-       YYSKIP ();
-       YYDEBUG(9, YYPEEK ());
-#line 202 "../gpr.re2c"
-       {*id =  1; continue;}
-#line 326 "../gpr_re2c.c"
-yy10:
-       YYDEBUG(10, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case '\n':      goto yy8;
-       default:        goto yy3;
-       }
-yy11:
-       YYDEBUG(11, YYPEEK ());
-       yyaccept = 0;
-       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':
-       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 '`':
-       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:
-       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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy59;
-       default:        goto yy3;
-       }
-yy12:
-       YYDEBUG(12, YYPEEK ());
-       YYSKIP ();
-       YYDEBUG(13, YYPEEK ());
-#line 228 "../gpr.re2c"
-       {*id =  27; continue;}
-#line 497 "../gpr_re2c.c"
-yy14:
-       YYDEBUG(14, YYPEEK ());
-       YYSKIP ();
-       YYDEBUG(15, YYPEEK ());
-#line 234 "../gpr.re2c"
-       {*id =  33; continue;}
-#line 504 "../gpr_re2c.c"
-yy16:
-       YYDEBUG(16, YYPEEK ());
-       YYSKIP ();
-       YYDEBUG(17, YYPEEK ());
-#line 215 "../gpr.re2c"
-       {*id =  14; continue;}
-#line 511 "../gpr_re2c.c"
-yy18:
-       YYDEBUG(18, YYPEEK ());
-       YYSKIP ();
-       YYDEBUG(19, YYPEEK ());
-#line 222 "../gpr.re2c"
-       {*id =  21; continue;}
-#line 518 "../gpr_re2c.c"
-yy20:
-       YYDEBUG(20, YYPEEK ());
-       YYSKIP ();
-       YYDEBUG(21, YYPEEK ());
-#line 231 "../gpr.re2c"
-       {*id =  30; continue;}
-#line 525 "../gpr_re2c.c"
-yy22:
-       YYDEBUG(22, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case '-':       goto yy69;
-       default:        goto yy3;
-       }
-yy23:
-       YYDEBUG(23, YYPEEK ());
-       YYSKIP ();
-       YYDEBUG(24, YYPEEK ());
-#line 232 "../gpr.re2c"
-       {*id =  31; continue;}
-#line 540 "../gpr_re2c.c"
-yy25:
-       YYDEBUG(25, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       YYDEBUG(26, YYPEEK ());
-       switch (yych) {
-       case '0':
-       case '1':
-       case '2':
-       case '3':
-       case '4':
-       case '5':
-       case '6':
-       case '7':
-       case '8':
-       case '9':       goto yy25;
-       default:        goto yy27;
-       }
-yy27:
-       YYDEBUG(27, YYPEEK ());
-#line 237 "../gpr.re2c"
-       {*id =  36; continue;}
-#line 563 "../gpr_re2c.c"
-yy28:
-       YYDEBUG(28, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case '=':       goto yy72;
-       default:        goto yy29;
-       }
-yy29:
-       YYDEBUG(29, YYPEEK ());
-#line 229 "../gpr.re2c"
-       {*id =  28; continue;}
-#line 576 "../gpr_re2c.c"
-yy30:
-       YYDEBUG(30, YYPEEK ());
-       YYSKIP ();
-       YYDEBUG(31, YYPEEK ());
-#line 235 "../gpr.re2c"
-       {*id =  34; continue;}
-#line 583 "../gpr_re2c.c"
-yy32:
-       YYDEBUG(32, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case '>':       goto yy74;
-       default:        goto yy3;
-       }
-yy33:
-       YYDEBUG(33, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'B':
-       case 'b':       goto yy76;
-       case 'G':
-       case 'g':       goto yy77;
-       case 'T':
-       case 't':       goto yy78;
-       default:        goto yy36;
-       }
-yy34:
-       YYDEBUG(34, YYPEEK ());
-#line 238 "../gpr.re2c"
-       {*id =  37; continue;}
-#line 611 "../gpr_re2c.c"
-yy35:
-       YYDEBUG(35, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-yy36:
-       YYDEBUG(36, YYPEEK ());
-       switch (yych) {
-       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 '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 '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':       goto yy35;
-       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 yy80;
-       case 0xE0:      goto yy81;
-       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 yy82;
-       case 0xF0:      goto yy83;
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:      goto yy84;
-       case 0xF4:      goto yy85;
-       default:        goto yy34;
-       }
-yy37:
-       YYDEBUG(37, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'A':
-       case 'a':       goto yy86;
-       case 'O':
-       case 'o':       goto yy87;
-       default:        goto yy36;
-       }
-yy38:
-       YYDEBUG(38, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'N':
-       case 'n':       goto yy88;
-       case 'X':
-       case 'x':       goto yy89;
-       default:        goto yy36;
-       }
-yy39:
-       YYDEBUG(39, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'O':
-       case 'o':       goto yy90;
-       default:        goto yy36;
-       }
-yy40:
-       YYDEBUG(40, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'S':
-       case 's':       goto yy91;
-       default:        goto yy36;
-       }
-yy41:
-       YYDEBUG(41, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'I':
-       case 'i':       goto yy93;
-       default:        goto yy36;
-       }
-yy42:
-       YYDEBUG(42, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'U':
-       case 'u':       goto yy94;
-       default:        goto yy36;
-       }
-yy43:
-       YYDEBUG(43, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'T':
-       case 't':       goto yy95;
-       default:        goto yy36;
-       }
-yy44:
-       YYDEBUG(44, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'A':
-       case 'a':       goto yy96;
-       case 'R':
-       case 'r':       goto yy97;
-       default:        goto yy36;
-       }
-yy45:
-       YYDEBUG(45, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy98;
-       default:        goto yy36;
-       }
-yy46:
-       YYDEBUG(46, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'T':
-       case 't':       goto yy99;
-       default:        goto yy36;
-       }
-yy47:
-       YYDEBUG(47, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'Y':
-       case 'y':       goto yy100;
-       default:        goto yy36;
-       }
-yy48:
-       YYDEBUG(48, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'S':
-       case 's':       goto yy101;
-       default:        goto yy36;
-       }
-yy49:
-       YYDEBUG(49, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'H':
-       case 'h':       goto yy102;
-       case 'I':
-       case 'i':       goto yy103;
-       default:        goto yy36;
-       }
-yy50:
-       YYDEBUG(50, YYPEEK ());
-       YYSKIP ();
-       YYDEBUG(51, YYPEEK ());
-#line 236 "../gpr.re2c"
-       {*id =  35; continue;}
-#line 894 "../gpr_re2c.c"
-yy52:
-       YYDEBUG(52, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy35;
-       default:        goto yy3;
-       }
-yy53:
-       YYDEBUG(53, YYPEEK ());
-       yyaccept = 0;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy80;
-       default:        goto yy3;
-       }
-yy54:
-       YYDEBUG(54, YYPEEK ());
-       yyaccept = 0;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy80;
-       default:        goto yy3;
-       }
-yy55:
-       YYDEBUG(55, YYPEEK ());
-       yyaccept = 0;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy82;
-       default:        goto yy3;
-       }
-yy56:
-       YYDEBUG(56, YYPEEK ());
-       yyaccept = 0;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy82;
-       default:        goto yy3;
-       }
-yy57:
-       YYDEBUG(57, YYPEEK ());
-       yyaccept = 0;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:      goto yy82;
-       default:        goto yy3;
-       }
-yy58:
-       YYDEBUG(58, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-yy59:
-       YYDEBUG(59, 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 '`':
-       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 yy58;
-       case '"':       goto yy61;
-       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 yy63;
-       case 0xE0:      goto yy64;
-       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 yy65;
-       case 0xF0:      goto yy66;
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:      goto yy67;
-       case 0xF4:      goto yy68;
-       default:        goto yy60;
-       }
-yy60:
-       YYDEBUG(60, YYPEEK ());
-       YYRESTORE ();
-       switch (yyaccept) {
-       case 0:         goto yy3;
-       case 1:         goto yy34;
-       case 2:         goto yy62;
-       case 3:         goto yy71;
-       case 4:         goto yy79;
-       case 5:         goto yy92;
-       case 6:         goto yy115;
-       case 7:         goto yy118;
-       case 8:         goto yy128;
-       case 9:         goto yy134;
-       case 10:        goto yy139;
-       case 11:        goto yy146;
-       case 12:        goto yy148;
-       case 13:        goto yy150;
-       case 14:        goto yy169;
-       case 15:        goto yy178;
-       case 16:        goto yy181;
-       case 17:        goto yy183;
-       case 18:        goto yy185;
-       case 19:        goto yy187;
-       case 20:        goto yy190;
-       case 21:        goto yy194;
-       case 22:        goto yy196;
-       case 23:        goto yy198;
-       case 24:        goto yy208;
-       default:        goto yy213;
-       }
-yy61:
-       YYDEBUG(61, YYPEEK ());
-       yyaccept = 2;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case '"':       goto yy58;
-       default:        goto yy62;
-       }
-yy62:
-       YYDEBUG(62, YYPEEK ());
-#line 239 "../gpr.re2c"
-       {*id =  38; continue;}
-#line 1436 "../gpr_re2c.c"
-yy63:
-       YYDEBUG(63, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy58;
-       default:        goto yy60;
-       }
-yy64:
-       YYDEBUG(64, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy63;
-       default:        goto yy60;
-       }
-yy65:
-       YYDEBUG(65, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy63;
-       default:        goto yy60;
-       }
-yy66:
-       YYDEBUG(66, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy65;
-       default:        goto yy60;
-       }
-yy67:
-       YYDEBUG(67, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy65;
-       default:        goto yy60;
-       }
-yy68:
-       YYDEBUG(68, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:      goto yy65;
-       default:        goto yy60;
-       }
-yy69:
-       YYDEBUG(69, YYPEEK ());
-       yyaccept = 3;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       YYDEBUG(70, YYPEEK ());
-       switch (yych) {
-       case 0x00:
-       case 0x01:
-       case 0x02:
-       case 0x03:
-       case 0x05:
-       case 0x06:
-       case 0x07:
-       case 0x08:
-       case '\t':
-       case '\v':
-       case '\f':
-       case '\r':
-       case 0x0E:
-       case 0x0F:
-       case 0x10:
-       case 0x11:
-       case 0x12:
-       case 0x13:
-       case 0x14:
-       case 0x15:
-       case 0x16:
-       case 0x17:
-       case 0x18:
-       case 0x19:
-       case 0x1A:
-       case 0x1B:
-       case 0x1C:
-       case 0x1D:
-       case 0x1E:
-       case 0x1F:
-       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':
-       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 '`':
-       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 yy69;
-       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 yy104;
-       case 0xE0:      goto yy105;
-       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 yy106;
-       case 0xF0:      goto yy107;
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:      goto yy108;
-       case 0xF4:      goto yy109;
-       default:        goto yy71;
-       }
-yy71:
-       YYDEBUG(71, YYPEEK ());
-#line 203 "../gpr.re2c"
-       {*id =  2; continue;}
-#line 1958 "../gpr_re2c.c"
-yy72:
-       YYDEBUG(72, YYPEEK ());
-       YYSKIP ();
-       YYDEBUG(73, YYPEEK ());
-#line 230 "../gpr.re2c"
-       {*id =  29; continue;}
-#line 1965 "../gpr_re2c.c"
-yy74:
-       YYDEBUG(74, YYPEEK ());
-       YYSKIP ();
-       YYDEBUG(75, YYPEEK ());
-#line 233 "../gpr.re2c"
-       {*id =  32; continue;}
-#line 1972 "../gpr_re2c.c"
-yy76:
-       YYDEBUG(76, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'S':
-       case 's':       goto yy110;
-       default:        goto yy36;
-       }
-yy77:
-       YYDEBUG(77, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'G':
-       case 'g':       goto yy111;
-       default:        goto yy36;
-       }
-yy78:
-       YYDEBUG(78, YYPEEK ());
-       yyaccept = 4;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy36;
-       default:        goto yy79;
-       }
-yy79:
-       YYDEBUG(79, YYPEEK ());
-#line 205 "../gpr.re2c"
-       {*id =  4; continue;}
-#line 2122 "../gpr_re2c.c"
-yy80:
-       YYDEBUG(80, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy35;
-       default:        goto yy60;
-       }
-yy81:
-       YYDEBUG(81, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy80;
-       default:        goto yy60;
-       }
-yy82:
-       YYDEBUG(82, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy80;
-       default:        goto yy60;
-       }
-yy83:
-       YYDEBUG(83, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy82;
-       default:        goto yy60;
-       }
-yy84:
-       YYDEBUG(84, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy82;
-       default:        goto yy60;
-       }
-yy85:
-       YYDEBUG(85, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:      goto yy82;
-       default:        goto yy60;
-       }
-yy86:
-       YYDEBUG(86, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'S':
-       case 's':       goto yy112;
-       default:        goto yy36;
-       }
-yy87:
-       YYDEBUG(87, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'N':
-       case 'n':       goto yy113;
-       default:        goto yy36;
-       }
-yy88:
-       YYDEBUG(88, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'D':
-       case 'd':       goto yy114;
-       default:        goto yy36;
-       }
-yy89:
-       YYDEBUG(89, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'T':
-       case 't':       goto yy116;
-       default:        goto yy36;
-       }
-yy90:
-       YYDEBUG(90, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'R':
-       case 'r':       goto yy117;
-       default:        goto yy36;
-       }
-yy91:
-       YYDEBUG(91, YYPEEK ());
-       yyaccept = 5;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy36;
-       default:        goto yy92;
-       }
-yy92:
-       YYDEBUG(92, YYPEEK ());
-#line 214 "../gpr.re2c"
-       {*id =  13; continue;}
-#line 2635 "../gpr_re2c.c"
-yy93:
-       YYDEBUG(93, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'B':
-       case 'b':       goto yy119;
-       default:        goto yy36;
-       }
-yy94:
-       YYDEBUG(94, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'L':
-       case 'l':       goto yy120;
-       default:        goto yy36;
-       }
-yy95:
-       YYDEBUG(95, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'H':
-       case 'h':       goto yy121;
-       default:        goto yy36;
-       }
-yy96:
-       YYDEBUG(96, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'C':
-       case 'c':       goto yy122;
-       default:        goto yy36;
-       }
-yy97:
-       YYDEBUG(97, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'O':
-       case 'o':       goto yy123;
-       default:        goto yy36;
-       }
-yy98:
-       YYDEBUG(98, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'N':
-       case 'n':       goto yy124;
-       default:        goto yy36;
-       }
-yy99:
-       YYDEBUG(99, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'A':
-       case 'a':       goto yy125;
-       default:        goto yy36;
-       }
-yy100:
-       YYDEBUG(100, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'P':
-       case 'p':       goto yy126;
-       default:        goto yy36;
-       }
-yy101:
-       YYDEBUG(101, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy127;
-       default:        goto yy36;
-       }
-yy102:
-       YYDEBUG(102, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy129;
-       default:        goto yy36;
-       }
-yy103:
-       YYDEBUG(103, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'T':
-       case 't':       goto yy130;
-       default:        goto yy36;
-       }
-yy104:
-       YYDEBUG(104, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy69;
-       default:        goto yy60;
-       }
-yy105:
-       YYDEBUG(105, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy104;
-       default:        goto yy60;
-       }
-yy106:
-       YYDEBUG(106, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy104;
-       default:        goto yy60;
-       }
-yy107:
-       YYDEBUG(107, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy106;
-       default:        goto yy60;
-       }
-yy108:
-       YYDEBUG(108, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy106;
-       default:        goto yy60;
-       }
-yy109:
-       YYDEBUG(109, YYPEEK ());
-       YYSKIP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:      goto yy106;
-       default:        goto yy60;
-       }
-yy110:
-       YYDEBUG(110, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'T':
-       case 't':       goto yy131;
-       default:        goto yy36;
-       }
-yy111:
-       YYDEBUG(111, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'R':
-       case 'r':       goto yy132;
-       default:        goto yy36;
-       }
-yy112:
-       YYDEBUG(112, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy133;
-       default:        goto yy36;
-       }
-yy113:
-       YYDEBUG(113, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'F':
-       case 'f':       goto yy135;
-       default:        goto yy36;
-       }
-yy114:
-       YYDEBUG(114, YYPEEK ());
-       yyaccept = 6;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy36;
-       default:        goto yy115;
-       }
-yy115:
-       YYDEBUG(115, YYPEEK ());
-#line 209 "../gpr.re2c"
-       {*id =  8; continue;}
-#line 3258 "../gpr_re2c.c"
-yy116:
-       YYDEBUG(116, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy136;
-       default:        goto yy36;
-       }
-yy117:
-       YYDEBUG(117, YYPEEK ());
-       yyaccept = 7;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy36;
-       default:        goto yy118;
-       }
-yy118:
-       YYDEBUG(118, YYPEEK ());
-#line 213 "../gpr.re2c"
-       {*id =  12; continue;}
-#line 3397 "../gpr_re2c.c"
-yy119:
-       YYDEBUG(119, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'R':
-       case 'r':       goto yy137;
-       default:        goto yy36;
-       }
-yy120:
-       YYDEBUG(120, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'L':
-       case 'l':       goto yy138;
-       default:        goto yy36;
-       }
-yy121:
-       YYDEBUG(121, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy140;
-       default:        goto yy36;
-       }
-yy122:
-       YYDEBUG(122, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'K':
-       case 'k':       goto yy141;
-       default:        goto yy36;
-       }
-yy123:
-       YYDEBUG(123, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'J':
-       case 'j':       goto yy142;
-       default:        goto yy36;
-       }
-yy124:
-       YYDEBUG(124, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'A':
-       case 'a':       goto yy143;
-       default:        goto yy36;
-       }
-yy125:
-       YYDEBUG(125, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'N':
-       case 'n':       goto yy144;
-       default:        goto yy36;
-       }
-yy126:
-       YYDEBUG(126, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy145;
-       default:        goto yy36;
-       }
-yy127:
-       YYDEBUG(127, YYPEEK ());
-       yyaccept = 8;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy36;
-       default:        goto yy128;
-       }
-yy128:
-       YYDEBUG(128, YYPEEK ());
-#line 225 "../gpr.re2c"
-       {*id =  24; continue;}
-#line 3613 "../gpr_re2c.c"
-yy129:
-       YYDEBUG(129, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'N':
-       case 'n':       goto yy147;
-       default:        goto yy36;
-       }
-yy130:
-       YYDEBUG(130, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'H':
-       case 'h':       goto yy149;
-       default:        goto yy36;
-       }
-yy131:
-       YYDEBUG(131, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'R':
-       case 'r':       goto yy151;
-       default:        goto yy36;
-       }
-yy132:
-       YYDEBUG(132, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy152;
-       default:        goto yy36;
-       }
-yy133:
-       YYDEBUG(133, YYPEEK ());
-       yyaccept = 9;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy36;
-       default:        goto yy134;
-       }
-yy134:
-       YYDEBUG(134, YYPEEK ());
-#line 207 "../gpr.re2c"
-       {*id =  6; continue;}
-#line 3785 "../gpr_re2c.c"
-yy135:
-       YYDEBUG(135, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'I':
-       case 'i':       goto yy153;
-       default:        goto yy36;
-       }
-yy136:
-       YYDEBUG(136, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'N':
-       case 'n':       goto yy154;
-       case 'R':
-       case 'r':       goto yy155;
-       default:        goto yy36;
-       }
-yy137:
-       YYDEBUG(137, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'A':
-       case 'a':       goto yy156;
-       default:        goto yy36;
-       }
-yy138:
-       YYDEBUG(138, YYPEEK ());
-       yyaccept = 10;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy36;
-       default:        goto yy139;
-       }
-yy139:
-       YYDEBUG(139, YYPEEK ());
-#line 217 "../gpr.re2c"
-       {*id =  16; continue;}
-#line 3948 "../gpr_re2c.c"
-yy140:
-       YYDEBUG(140, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'R':
-       case 'r':       goto yy157;
-       default:        goto yy36;
-       }
-yy141:
-       YYDEBUG(141, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'A':
-       case 'a':       goto yy158;
-       default:        goto yy36;
-       }
-yy142:
-       YYDEBUG(142, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy159;
-       default:        goto yy36;
-       }
-yy143:
-       YYDEBUG(143, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'M':
-       case 'm':       goto yy160;
-       default:        goto yy36;
-       }
-yy144:
-       YYDEBUG(144, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'D':
-       case 'd':       goto yy161;
-       default:        goto yy36;
-       }
-yy145:
-       YYDEBUG(145, YYPEEK ());
-       yyaccept = 11;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy36;
-       default:        goto yy146;
-       }
-yy146:
-       YYDEBUG(146, YYPEEK ());
-#line 224 "../gpr.re2c"
-       {*id =  23; continue;}
-#line 4131 "../gpr_re2c.c"
-yy147:
-       YYDEBUG(147, YYPEEK ());
-       yyaccept = 12;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy36;
-       default:        goto yy148;
-       }
-yy148:
-       YYDEBUG(148, YYPEEK ());
-#line 226 "../gpr.re2c"
-       {*id =  25; continue;}
-#line 4259 "../gpr_re2c.c"
-yy149:
-       YYDEBUG(149, YYPEEK ());
-       yyaccept = 13;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy36;
-       default:        goto yy150;
-       }
-yy150:
-       YYDEBUG(150, YYPEEK ());
-#line 227 "../gpr.re2c"
-       {*id =  26; continue;}
-#line 4387 "../gpr_re2c.c"
-yy151:
-       YYDEBUG(151, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'A':
-       case 'a':       goto yy162;
-       default:        goto yy36;
-       }
-yy152:
-       YYDEBUG(152, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'G':
-       case 'g':       goto yy163;
-       default:        goto yy36;
-       }
-yy153:
-       YYDEBUG(153, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'G':
-       case 'g':       goto yy164;
-       default:        goto yy36;
-       }
-yy154:
-       YYDEBUG(154, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'D':
-       case 'd':       goto yy165;
-       default:        goto yy36;
-       }
-yy155:
-       YYDEBUG(155, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'N':
-       case 'n':       goto yy166;
-       default:        goto yy36;
-       }
-yy156:
-       YYDEBUG(156, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'R':
-       case 'r':       goto yy167;
-       default:        goto yy36;
-       }
-yy157:
-       YYDEBUG(157, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'S':
-       case 's':       goto yy168;
-       default:        goto yy36;
-       }
-yy158:
-       YYDEBUG(158, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'G':
-       case 'g':       goto yy170;
-       default:        goto yy36;
-       }
-yy159:
-       YYDEBUG(159, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'C':
-       case 'c':       goto yy171;
-       default:        goto yy36;
-       }
-yy160:
-       YYDEBUG(160, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy172;
-       default:        goto yy36;
-       }
-yy161:
-       YYDEBUG(161, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'A':
-       case 'a':       goto yy173;
-       default:        goto yy36;
-       }
-yy162:
-       YYDEBUG(162, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'C':
-       case 'c':       goto yy174;
-       default:        goto yy36;
-       }
-yy163:
-       YYDEBUG(163, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'A':
-       case 'a':       goto yy175;
-       default:        goto yy36;
-       }
-yy164:
-       YYDEBUG(164, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'U':
-       case 'u':       goto yy176;
-       default:        goto yy36;
-       }
-yy165:
-       YYDEBUG(165, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'S':
-       case 's':       goto yy177;
-       default:        goto yy36;
-       }
-yy166:
-       YYDEBUG(166, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'A':
-       case 'a':       goto yy179;
-       default:        goto yy36;
-       }
-yy167:
-       YYDEBUG(167, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'Y':
-       case 'y':       goto yy180;
-       default:        goto yy36;
-       }
-yy168:
-       YYDEBUG(168, YYPEEK ());
-       yyaccept = 14;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy36;
-       default:        goto yy169;
-       }
-yy169:
-       YYDEBUG(169, YYPEEK ());
-#line 218 "../gpr.re2c"
-       {*id =  17; continue;}
-#line 4702 "../gpr_re2c.c"
-yy170:
-       YYDEBUG(170, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy182;
-       default:        goto yy36;
-       }
-yy171:
-       YYDEBUG(171, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'T':
-       case 't':       goto yy184;
-       default:        goto yy36;
-       }
-yy172:
-       YYDEBUG(172, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'S':
-       case 's':       goto yy186;
-       default:        goto yy36;
-       }
-yy173:
-       YYDEBUG(173, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'R':
-       case 'r':       goto yy188;
-       default:        goto yy36;
-       }
-yy174:
-       YYDEBUG(174, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'T':
-       case 't':       goto yy189;
-       default:        goto yy36;
-       }
-yy175:
-       YYDEBUG(175, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'T':
-       case 't':       goto yy191;
-       default:        goto yy36;
-       }
-yy176:
-       YYDEBUG(176, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'R':
-       case 'r':       goto yy192;
-       default:        goto yy36;
-       }
-yy177:
-       YYDEBUG(177, YYPEEK ());
-       yyaccept = 15;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy36;
-       default:        goto yy178;
-       }
-yy178:
-       YYDEBUG(178, YYPEEK ());
-#line 210 "../gpr.re2c"
-       {*id =  9; continue;}
-#line 4907 "../gpr_re2c.c"
-yy179:
-       YYDEBUG(179, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'L':
-       case 'l':       goto yy193;
-       default:        goto yy36;
-       }
-yy180:
-       YYDEBUG(180, YYPEEK ());
-       yyaccept = 16;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy36;
-       default:        goto yy181;
-       }
-yy181:
-       YYDEBUG(181, YYPEEK ());
-#line 216 "../gpr.re2c"
-       {*id =  15; continue;}
-#line 5046 "../gpr_re2c.c"
-yy182:
-       YYDEBUG(182, YYPEEK ());
-       yyaccept = 17;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy36;
-       default:        goto yy183;
-       }
-yy183:
-       YYDEBUG(183, YYPEEK ());
-#line 219 "../gpr.re2c"
-       {*id =  18; continue;}
-#line 5174 "../gpr_re2c.c"
-yy184:
-       YYDEBUG(184, YYPEEK ());
-       yyaccept = 18;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy36;
-       default:        goto yy185;
-       }
-yy185:
-       YYDEBUG(185, YYPEEK ());
-#line 220 "../gpr.re2c"
-       {*id =  19; continue;}
-#line 5302 "../gpr_re2c.c"
-yy186:
-       YYDEBUG(186, YYPEEK ());
-       yyaccept = 19;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy36;
-       default:        goto yy187;
-       }
-yy187:
-       YYDEBUG(187, YYPEEK ());
-#line 221 "../gpr.re2c"
-       {*id =  20; continue;}
-#line 5430 "../gpr_re2c.c"
-yy188:
-       YYDEBUG(188, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'D':
-       case 'd':       goto yy195;
-       default:        goto yy36;
-       }
-yy189:
-       YYDEBUG(189, YYPEEK ());
-       yyaccept = 20;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy36;
-       default:        goto yy190;
-       }
-yy190:
-       YYDEBUG(190, YYPEEK ());
-#line 204 "../gpr.re2c"
-       {*id =  3; continue;}
-#line 5569 "../gpr_re2c.c"
-yy191:
-       YYDEBUG(191, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy197;
-       default:        goto yy36;
-       }
-yy192:
-       YYDEBUG(192, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'A':
-       case 'a':       goto yy199;
-       default:        goto yy36;
-       }
-yy193:
-       YYDEBUG(193, YYPEEK ());
-       yyaccept = 21;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy36;
-       case '_':       goto yy200;
-       default:        goto yy194;
-       }
-yy194:
-       YYDEBUG(194, YYPEEK ());
-#line 211 "../gpr.re2c"
-       {*id =  10; continue;}
-#line 5719 "../gpr_re2c.c"
-yy195:
-       YYDEBUG(195, YYPEEK ());
-       yyaccept = 22;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy36;
-       default:        goto yy196;
-       }
-yy196:
-       YYDEBUG(196, YYPEEK ());
-#line 223 "../gpr.re2c"
-       {*id =  22; continue;}
-#line 5847 "../gpr_re2c.c"
-yy197:
-       YYDEBUG(197, YYPEEK ());
-       yyaccept = 23;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy36;
-       default:        goto yy198;
-       }
-yy198:
-       YYDEBUG(198, YYPEEK ());
-#line 206 "../gpr.re2c"
-       {*id =  5; continue;}
-#line 5975 "../gpr_re2c.c"
-yy199:
-       YYDEBUG(199, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'T':
-       case 't':       goto yy201;
-       default:        goto yy36;
-       }
-yy200:
-       YYDEBUG(200, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'A':
-       case 'a':       goto yy202;
-       default:        goto yy36;
-       }
-yy201:
-       YYDEBUG(201, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'I':
-       case 'i':       goto yy203;
-       default:        goto yy36;
-       }
-yy202:
-       YYDEBUG(202, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'S':
-       case 's':       goto yy204;
-       default:        goto yy36;
-       }
-yy203:
-       YYDEBUG(203, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'O':
-       case 'o':       goto yy205;
-       default:        goto yy36;
-       }
-yy204:
-       YYDEBUG(204, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case '_':       goto yy206;
-       default:        goto yy36;
-       }
-yy205:
-       YYDEBUG(205, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'N':
-       case 'n':       goto yy207;
-       default:        goto yy36;
-       }
-yy206:
-       YYDEBUG(206, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'L':
-       case 'l':       goto yy209;
-       default:        goto yy36;
-       }
-yy207:
-       YYDEBUG(207, YYPEEK ());
-       yyaccept = 24;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy36;
-       default:        goto yy208;
-       }
-yy208:
-       YYDEBUG(208, YYPEEK ());
-#line 208 "../gpr.re2c"
-       {*id =  7; continue;}
-#line 6190 "../gpr_re2c.c"
-yy209:
-       YYDEBUG(209, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'I':
-       case 'i':       goto yy210;
-       default:        goto yy36;
-       }
-yy210:
-       YYDEBUG(210, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'S':
-       case 's':       goto yy211;
-       default:        goto yy36;
-       }
-yy211:
-       YYDEBUG(211, YYPEEK ());
-       yyaccept = 1;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       case 'T':
-       case 't':       goto yy212;
-       default:        goto yy36;
-       }
-yy212:
-       YYDEBUG(212, YYPEEK ());
-       yyaccept = 25;
-       YYSKIP ();
-       YYBACKUP ();
-       yych = YYPEEK ();
-       switch (yych) {
-       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 '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 '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 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:
-       case 0xE0:
-       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:
-       case 0xF0:
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:
-       case 0xF4:      goto yy36;
-       default:        goto yy213;
-       }
-yy213:
-       YYDEBUG(213, YYPEEK ());
-#line 212 "../gpr.re2c"
-       {*id =  11; continue;}
-#line 6351 "../gpr_re2c.c"
-}
-#line 243 "../gpr.re2c"
-
-   }
-   /* lexer->cursor and lexer ->char_pos are one char past end of token */
-   *byte_position = lexer->byte_token_start - lexer->buffer + 1;
-   *byte_length   = lexer->cursor - lexer->byte_token_start;
-   *char_position = lexer->char_token_start;
-   *char_length   = lexer->char_pos - lexer->char_token_start;
-   *line_start    = lexer->line_token_start;
-   return status;
-   }
diff --git a/packages/ada-mode/gpr_re2c_c.ads b/packages/ada-mode/gpr_re2c_c.ads
deleted file mode 100644
index f78de90..0000000
--- a/packages/ada-mode/gpr_re2c_c.ads
+++ /dev/null
@@ -1,59 +0,0 @@
---  generated parser support file.
---  command line: wisitoken-bnf-generate.exe  --generate LR1 Ada_Emacs re2c 
PROCESS gpr.wy
---
-
---  Copyright (C) 2013 - 2020 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
---  published by the Free Software Foundation; either version 3, or (at
---  your option) any later version.
---
---  This software 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/>.
-
-with Interfaces.C;
-with WisiToken;
-with System;
-package gpr_re2c_c is
-
-   function New_Lexer
-     (Buffer    : in System.Address;
-      Length    : in Interfaces.C.size_t;
-      Verbosity : in Interfaces.C.int)
-     return System.Address
-   with Import        => True,
-        Convention    => C,
-        External_Name => "gpr_new_lexer";
-   --  Create the lexer object, passing it the full text to process.
-
-   procedure Free_Lexer (Lexer : in out System.Address)
-   with Import        => True,
-        Convention    => C,
-        External_Name => "gpr_free_lexer";
-   --  Free the lexer object
-
-   procedure Reset_Lexer (Lexer : in System.Address)
-   with Import        => True,
-        Convention    => C,
-        External_Name => "gpr_reset_lexer";
-
-   function Next_Token
-     (Lexer         : in     System.Address;
-      ID            :    out WisiToken.Token_ID;
-      Byte_Position :    out Interfaces.C.size_t;
-      Byte_Length   :    out Interfaces.C.size_t;
-      Char_Position :    out Interfaces.C.size_t;
-      Char_Length   :    out Interfaces.C.size_t;
-      Line_Start    :    out Interfaces.C.int)
-     return Interfaces.C.int
-   with Import        => True,
-        Convention    => C,
-        External_Name => "gpr_next_token";
-
-end gpr_re2c_c;
diff --git a/packages/ada-mode/install.sh b/packages/ada-mode/install.sh
deleted file mode 100755
index 886fc94..0000000
--- a/packages/ada-mode/install.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-# Install executables for Ada mode.
-#
-# See build.sh for build (must be run before install).
-
-# $1 : optional --prefix=<dir>
-#
-# If you don't have write permission in the GNAT installation
-# directory, you need to use --prefix=<dir>, or run with root priviledges.
-
-WISI_DIR=`ls -d ../wisi-3.1.?`
-
-gprinstall -f -p -P ada_mode_wisi_parse.gpr -aP $WISI_DIR 
--install-name=ada_mode_wisi_parse $1 
-
-# end of file.
diff --git a/packages/ada-mode/run_ada_lalr_parse.ads 
b/packages/ada-mode/run_ada_lalr_parse.ads
deleted file mode 100644
index 7eac49d..0000000
--- a/packages/ada-mode/run_ada_lalr_parse.ads
+++ /dev/null
@@ -1,32 +0,0 @@
---  Abstract :
---
---  Run the Ada LALR parser standalone. Useful for debugging grammar issues.
---
---  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
---  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_Process_Actions;
-with Ada_Process_LALR_Main;
-with Gen_Run_Wisi_LR_Parse;
-with WisiToken.Parse.LR.McKenzie_Recover.Ada;
-with Wisi.Ada;
-procedure Run_Ada_LALR_Parse is new Gen_Run_Wisi_LR_Parse
-  (Wisi.Ada.Parse_Data_Type,
-   Ada_Process_Actions.Descriptor,
-   WisiToken.Parse.LR.McKenzie_Recover.Ada.Language_Fixes'Access,
-   WisiToken.Parse.LR.McKenzie_Recover.Ada.Matching_Begin_Tokens'Access,
-   WisiToken.Parse.LR.McKenzie_Recover.Ada.String_ID_Set'Access,
-   Ada_Process_LALR_Main.Create_Parser);
diff --git a/packages/ada-mode/run_ada_libadalang_parse.ads 
b/packages/ada-mode/run_ada_libadalang_parse.ads
deleted file mode 100644
index f3b3d19..0000000
--- a/packages/ada-mode/run_ada_libadalang_parse.ads
+++ /dev/null
@@ -1,25 +0,0 @@
---  Abstract :
---
---  Run the Ada parser standalone. Useful for debugging grammar issues.
---
---  Copyright (C) 2018 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_Process_Actions;
-with Gen_Run_Wisi_Libadalang_Parse;
-with Wisi.Ada;
-procedure Run_Ada_Libadalang_Parse is new Gen_Run_Wisi_Libadalang_Parse
-  (Wisi.Ada.Parse_Data_Type, Ada_Process_Actions.Descriptor);
diff --git a/packages/ada-mode/run_ada_lr1_parse.ads 
b/packages/ada-mode/run_ada_lr1_parse.ads
deleted file mode 100644
index 76984a7..0000000
--- a/packages/ada-mode/run_ada_lr1_parse.ads
+++ /dev/null
@@ -1,33 +0,0 @@
---  Abstract :
---
---  Run the Ada parser standalone. Useful for debugging grammar issues.
---
---  Copyright (C) 2017, 2018, 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
---  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_Process_Actions;
-with Ada_Process_LR1_Main;
-with Gen_Run_Wisi_LR_Text_Rep_Parse;
-with WisiToken.Parse.LR.McKenzie_Recover.Ada;
-with Wisi.Ada;
-procedure Run_Ada_LR1_Parse is new Gen_Run_Wisi_LR_Text_Rep_Parse
-  (Wisi.Ada.Parse_Data_Type,
-   Ada_Process_Actions.Descriptor,
-   WisiToken.Parse.LR.McKenzie_Recover.Ada.Language_Fixes'Access,
-   WisiToken.Parse.LR.McKenzie_Recover.Ada.Matching_Begin_Tokens'Access,
-   WisiToken.Parse.LR.McKenzie_Recover.Ada.String_ID_Set'Access,
-   "ada_lr1_parse_table.txt",
-   Ada_Process_LR1_Main.Create_Parser);
diff --git a/packages/ada-mode/run_gpr_parse.ads 
b/packages/ada-mode/run_gpr_parse.ads
deleted file mode 100644
index 216a5b8..0000000
--- a/packages/ada-mode/run_gpr_parse.ads
+++ /dev/null
@@ -1,31 +0,0 @@
---  Abstract :
---
---  Run the gpr parser standalone. Useful for debugging grammar issues.
---
---  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
---  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 Gen_Run_Wisi_LR_Parse;
-with Gpr_Process_Actions;
-with Gpr_Process_Main;
-with Wisi.Gpr;
-procedure Run_Gpr_Parse is new Gen_Run_Wisi_LR_Parse
-  (Wisi.Gpr.Parse_Data_Type,
-   Gpr_Process_Actions.Descriptor,
-   null,
-   null,
-   null,
-   Gpr_Process_Main.Create_Parser);
diff --git a/packages/ada-mode/wisi-ada-format_parameter_list.adb 
b/packages/ada-mode/wisi-ada-format_parameter_list.adb
deleted file mode 100644
index f4957e1..0000000
--- a/packages/ada-mode/wisi-ada-format_parameter_list.adb
+++ /dev/null
@@ -1,319 +0,0 @@
---  Abstract :
---
---
---
---  Copyright (C) 2019 - 2020 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 WisiToken.Syntax_Trees.LR_Utils; use WisiToken.Syntax_Trees.LR_Utils;
-separate (Wisi.Ada)
-procedure Format_Parameter_List
-  (Tree       : in out WisiToken.Syntax_Trees.Tree;
-   Data       : in out Parse_Data_Type;
-   Edit_Begin : in     WisiToken.Buffer_Pos)
-is
-   use Standard.Ada.Containers;
-   use Ada_Process_Actions;
-   use Standard.Ada.Text_IO;
-   use WisiToken.Syntax_Trees;
-
-   --  First process the syntax tree and produce a list of parameters
-   package Region_Lists is new Standard.Ada.Containers.Doubly_Linked_Lists 
(Buffer_Region);
-   type Parameter is record
-      Identifiers : Region_Lists.List;
-      Aliased_P   : Boolean       := False; -- "_P" for "present"
-      In_P        : Boolean       := False;
-      Out_P       : Boolean       := False;
-      Not_Null_P  : Boolean       := False;
-      Access_P    : Boolean       := False;
-      Constant_P  : Boolean       := False;
-      Protected_P : Boolean       := False;
-      Type_Region : Buffer_Region := Null_Buffer_Region;
-      Default_Exp : Buffer_Region := Null_Buffer_Region;
-   end record;
-
-   Formal_Part : constant Node_Index := Find_ID_At (Tree, +formal_part_ID, 
Edit_Begin);
-   Param_List  : constant Constant_List :=
-     (if Formal_Part = Invalid_Node_Index
-      then Creators.Invalid_List (Tree)
-      else Creators.Create_List
-        (Tree,
-         Root       => Tree.Child (Formal_Part, 2),
-         List_ID    => +parameter_specification_list_ID,
-         Element_ID => +parameter_specification_ID));
-
-   Edit_End    : Buffer_Pos;
-   Param_Count : Count_Type := 0;
-
-   function Get_Text (Region : in WisiToken.Buffer_Region) return String
-   is begin
-      return Data.Lexer.Buffer_Text (Region);
-   end Get_Text;
-
-begin
-   if Formal_Part = Invalid_Node_Index then
-      --  Most likely the edit point is wrong.
-      raise SAL.Parameter_Error with "no parameter list found at byte_pos" & 
Edit_Begin'Image;
-   end if;
-
-   if WisiToken.Trace_Action > Detail then
-      Put_Line (";; format parameter list node" & Formal_Part'Image);
-   end if;
-
-   Edit_End := Tree.Byte_Region (Formal_Part).Last;
-
-   --  The last parameter might be empty, due to syntax errors.
-   for N of Param_List loop
-      if not Tree.Buffer_Region_Is_Empty (N) then
-         Param_Count := Param_Count + 1;
-      end if;
-   end loop;
-
-   declare
-      Params           : array (1 .. Param_Count) of Parameter;
-      Param_Cur        : Cursor                     := Param_List.First;
-      Param_Iter       : constant Constant_Iterator := 
Param_List.Iterate_Constant;
-      First_Param_Node : constant Node_Index        := Node (Param_Cur);
-      Last_Param_Node  : Node_Index;
-   begin
-      for Param of Params loop
-         Last_Param_Node := Node (Param_Cur);
-
-         declare
-            Children : constant Valid_Node_Index_Array := Tree.Children (Node 
(Param_Cur));
-         begin
-            for Ident of Creators.Create_List (Tree, Children (1), 
+identifier_list_ID, +IDENTIFIER_ID) loop
-               Param.Identifiers.Append (Tree.Byte_Region (Ident));
-            end loop;
-
-            Param.Aliased_P := not Tree.Buffer_Region_Is_Empty (Children (3));
-
-            for I in 4 .. Children'Last loop
-               case To_Token_Enum (Tree.ID (Children (I))) is
-               when mode_opt_ID =>
-                  if Tree.Buffer_Region_Is_Empty (Children (I)) then
-                     Param.In_P  := False;
-                     Param.Out_P := False;
-                  else
-                     Param.In_P  := Tree.ID (Tree.Child (Children (I), 1)) = 
+IN_ID;
-                     Param.Out_P := Tree.ID (Tree.Child (Children (I), 1)) = 
+OUT_ID or
-                       Tree.Children (Children (I))'Length > 1; -- 'in out'
-                  end if;
-
-               when null_exclusion_opt_ID =>
-                  Param.Not_Null_P := not Tree.Buffer_Region_Is_Empty 
(Children (I));
-
-               when name_ID =>
-                  Param.Type_Region := Tree.Byte_Region (Children (I));
-
-               when access_definition_ID =>
-                  --  First two children are always:
-                  --  null_exclusion_opt ACCESS
-                  declare
-                     Access_Children : constant Valid_Node_Index_Array := 
Tree.Children (Children (I));
-                  begin
-                     Param.Not_Null_P := not Tree.Buffer_Region_Is_Empty 
(Access_Children (1));
-                     Param.Access_P := True;
-
-                     if Tree.ID (Access_Children (3)) = 
+general_access_modifier_opt_ID then
-                        Param.Constant_P := not Tree.Buffer_Region_Is_Empty 
(Access_Children (3));
-                        Param.Type_Region := Tree.Byte_Region (Access_Children 
(4));
-                     else
-                        Param.Protected_P := not Tree.Buffer_Region_Is_Empty 
(Access_Children (3));
-                        Param.Type_Region :=
-                          (Tree.Byte_Region (Access_Children (4)).First,
-                           Tree.Byte_Region (Children (I)).Last);
-                     end if;
-                  end;
-
-               when COLON_EQUAL_ID =>
-                  null;
-
-               when expression_opt_ID =>
-                  if not Tree.Buffer_Region_Is_Empty (Children (I)) then
-                     Param.Default_Exp := Tree.Byte_Region (Children (I));
-                  end if;
-
-               when others =>
-                  Raise_Programmer_Error
-                    ("format_parameter_list param id", Data.Descriptor.all, 
Data.Lexer, Tree, Data.Base_Terminals.all,
-                     Children (I));
-               end case;
-            end loop;
-         end;
-         Param_Cur := Param_Iter.Next (Param_Cur);
-      end loop;
-
-      declare
-         use Standard.Ada.Strings.Unbounded;
-         Result     : Unbounded_String := +"(";
-         Line_End   : Integer          := 0;     --  Index of last LF char in 
Result.
-         Multi_Line : constant Boolean :=
-           Tree.Augmented (First_Param_Node).Line < Tree.Augmented 
(Last_Param_Node).Line;
-         Ident_Len  : Integer          := 0;     -- Maximum over all params, 
includes commas
-         Type_Len   : Integer          := 0;
-         Aliased_P  : Boolean          := False; -- "_P" for "present"
-         In_P       : Boolean          := False;
-         Out_P      : Boolean          := False;
-         Not_Null_P : Boolean          := False;
-         Access_P   : Boolean          := False;
-
-         Len           : Integer; -- temporary
-         Need_Comma    : Boolean;
-         Need_New_Line : Boolean := False;
-      begin
-         if Multi_Line then
-            --  Find columns
-            for Param of Params loop
-               Len := 0;
-               for Ident of Param.Identifiers loop
-                  Len := Len + Integer (Ident.Last - Ident.First) + 1;
-               end loop;
-               Len := Len + 2 * (Integer (Param.Identifiers.Length) - 1);
-               Ident_Len := Integer'Max (Ident_Len, Len);
-
-               --  We align the default expressions after the types in 
parameters
-               --  that have defaults, not after all types. "constant", 
"protected"
-               --  are treated as part of 'type'
-               if Param.Default_Exp /= Null_Buffer_Region then
-                  Len := Integer (Param.Type_Region.Last - 
Param.Type_Region.First) + 1 +
-                    (if Param.Constant_P then 10 else 0) + -- "constant "
-                    (if Param.Protected_P then 10 else 0); -- "protected"
-                  Type_Len := Integer'Max (Type_Len, Len);
-               end if;
-
-               Aliased_P  := Aliased_P or Param.Aliased_P;
-               In_P       := In_P or Param.In_P;
-               Out_P      := Out_P or Param.Out_P;
-               Not_Null_P := Not_Null_P or Param.Not_Null_P;
-               Access_P   := Access_P or Param.Access_P;
-            end loop;
-            declare
-               subtype Count is Standard.Ada.Text_IO.Count;
-               Open_Paren_Col : constant Count := Tree.Augmented 
(Formal_Part).Column;
-               Ident_Col      : constant Count := Open_Paren_Col + 1;
-               Colon_Col      : constant Count := Ident_Col + Count 
(Ident_Len) + 1;
-               In_Col         : constant Count := Colon_Col + (if Aliased_P 
then 10 else 2);
-               Out_Col        : constant Count := In_Col + (if In_P then 3 
else 0);
-               Type_Col       : constant Count := In_Col +
-                 --  'not null' without access is part of the type
-                 (if Not_Null_P and Access_P then 16
-                  elsif Access_P then 7
-                  elsif In_P and Out_P then 7
-                  elsif In_P then 3
-                  elsif Out_P then 4
-                  else 0);
-               Default_Col : constant Count := Type_Col + Count (Type_Len) + 1;
-
-               function Indent_To (Col : in Count) return String
-               is
-                  use Standard.Ada.Strings.Fixed;
-               begin
-                  return
-                    (Integer (Col - (if Need_New_Line then 0 else 
Open_Paren_Col)) -
-                       (Length (Result) - Line_End)) * ' ';
-               end Indent_To;
-            begin
-               for Param of Params loop
-                  if Need_New_Line then
-                     Result   := Result & ";" & ASCII.LF;
-                     Line_End := Length (Result);
-                  end if;
-
-                  Result := Result & Indent_To (Ident_Col);
-                  Need_Comma := False;
-                  for Ident of Param.Identifiers loop
-                     if Need_Comma then
-                        Result := Result & ", ";
-                     else
-                        Need_Comma := True;
-                     end if;
-                     Result := Result & Get_Text (Ident);
-                  end loop;
-
-                  Result := Result & Indent_To (Colon_Col) & ": ";
-
-                  if Param.Aliased_P then Result := Result & "aliased "; end 
if;
-
-                  Result := Result & Indent_To (In_Col);
-
-                  if Param.In_P then Result := Result & "in "; end if;
-
-                  if Param.Out_P then Result := Result & Indent_To (Out_Col) & 
"out "; end if;
-
-                  if Param.Access_P then
-                     if Param.Not_Null_P then
-                        Result := Result & "not null access";
-                     else
-                        Result := Result & "access";
-                     end if;
-                  end if;
-
-                  Result := Result & Indent_To (Type_Col);
-
-                  if Param.Not_Null_P and not Param.Access_P then Result := 
Result & "not null "; end if;
-                  if Param.Constant_P then Result := Result & "constant "; end 
if;
-                  if Param.Protected_P then Result := Result & "protected "; 
end if;
-
-                  Result := Result & Get_Text (Param.Type_Region);
-                  if Param.Default_Exp /= Null_Buffer_Region then
-                     Result := Result & Indent_To (Default_Col) & ":= " & 
Get_Text (Param.Default_Exp);
-                  end if;
-
-                  Need_New_Line := True;
-               end loop;
-               Result := Result & ")";
-            end;
-         else -- not Multi_Line
-            for Param of Params loop
-               if Need_New_Line then
-                  Result := Result & "; ";
-               end if;
-
-               Need_Comma := False;
-               for Ident of Param.Identifiers loop
-                  if Need_Comma then
-                     Result := Result & ", ";
-                  else
-                     Need_Comma := True;
-                  end if;
-                  Result := Result & Get_Text (Ident);
-               end loop;
-
-               Result := Result & " : ";
-
-               if Param.Aliased_P then Result := Result & "aliased "; end if;
-               if Param.In_P then Result := Result & "in "; end if;
-               if Param.Out_P then Result := Result & "out "; end if;
-               if Param.Not_Null_P then Result := Result & "not null "; end if;
-               if Param.Access_P then Result := Result & "access "; end if;
-               if Param.Constant_P then Result := Result & "constant "; end if;
-               if Param.Protected_P then Result := Result & "protected "; end 
if;
-
-               Result := Result & Get_Text (Param.Type_Region);
-               if Param.Default_Exp /= Null_Buffer_Region then
-                  Result := Result & " := " & Get_Text (Param.Default_Exp);
-               end if;
-
-               Need_New_Line := True;
-            end loop;
-               Result := Result & ")";
-         end if;
-         Put_Line
-           ("[" & Edit_Action_Code & Edit_Begin'Image & Edit_End'Image & " """ 
& Elisp_Escape_Quotes (-Result) & """]");
-      end;
-   end;
-end Format_Parameter_List;
diff --git a/packages/ada-mode/wisi-ada.adb b/packages/ada-mode/wisi-ada.adb
deleted file mode 100644
index 686df33..0000000
--- a/packages/ada-mode/wisi-ada.adb
+++ /dev/null
@@ -1,952 +0,0 @@
---  Abstract :
---
---  see spec.
---
---  Copyright (C) 2017 - 2020 Free Software Foundation, Inc.
---
---  This library 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 library is distributed in the hope that it will be useful,
---  but WITHOUT ANY WARRANTY;  without even the implied warranty of MERCHAN-
---  TABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-pragma License (GPL);
-
-with Ada.Strings.Fixed;
-with Ada.Strings.Unbounded;
-with Ada.Text_IO;
-with Ada_Process_Actions; --  token_enum_id
-package body Wisi.Ada is
-   use WisiToken;
-
-   ----------
-   --  body local subprograms
-
-   function Indent_Record
-     (Data              : in out Parse_Data_Type;
-      Tree              : in     Syntax_Trees.Tree;
-      Anchor_Token      : in     Augmented_Token;
-      Record_Token      : in     Augmented_Token;
-      Indenting_Token   : in     Augmented_Token;
-      Indenting_Comment : in     Boolean;
-      Offset            : in     Integer)
-     return Wisi.Delta_Type
-   is
-      use Ada_Process_Actions;
-   begin
-      if not Indenting_Comment and Indenting_Token.ID = +RECORD_ID then
-         --  Indenting 'record'
-         return Indent_Anchored_2
-           (Data, Anchor_Token.Line, Record_Token.Last_Line 
(Indenting_Comment), Ada_Indent_Record_Rel_Type,
-            Accumulate => True);
-
-      elsif Indenting_Comment and Indenting_Token.ID = +WITH_ID then
-         --  comment before 'record'. test/ada_mode-nominal-child.ads 
Child_Type_1
-         return Indent_Anchored_2
-           (Data, Anchor_Token.Line, Indenting_Token.Last_Line 
(Indenting_Comment), Ada_Indent_Record_Rel_Type,
-            Accumulate => True);
-
-      elsif Indenting_Comment and Indenting_Token.ID = +IS_ID then
-         --  comment after 'is'
-         if Record_Token.ID = +RECORD_ID then
-            --  before 'record'. test/ada_mode-nominal.ads Record_Type_1
-            return Indent_Anchored_2
-              (Data, Anchor_Token.Line, Indenting_Token.Last_Line 
(Indenting_Comment), Ada_Indent_Record_Rel_Type,
-               Accumulate => True);
-         else
-            --  not before 'record'. test/ada_mode-nominal-child.ads 
Child_Type_1
-            return (Simple, (Int, Offset));
-         end if;
-
-      else
-         --  Indenting comment after 'record', other comment, component or 
'end'
-         --
-         --  Ensure 'record' line is anchored to Anchor_Token.
-         if not (Data.Indents (Record_Token.Line).Label = Anchored or
-                   Data.Indents (Record_Token.Line).Label = Anchor_Anchored)
-         then
-            if Anchor_Token.Line /= Record_Token.Line then
-               --  We don't pass Indenting_Comment here, because 'record' is 
code.
-               Indent_Token_1
-                 (Data,
-                  Tree,
-                  Indenting_Token         => Record_Token,
-                  Delta_Indent            => Indent_Anchored_2
-                    (Data,
-                     Anchor_Token.Line,
-                     Record_Token.Last_Line
-                       (Indenting_Comment => False),
-                     Ada_Indent_Record_Rel_Type,
-                     Accumulate           => True),
-                  Indenting_Comment       => False);
-            end if;
-         end if;
-
-         return Indent_Anchored_2
-           (Data,
-            Anchor_Line => Anchor_Token.Line,
-            Last_Line   => Indenting_Token.Last_Line (Indenting_Comment),
-            Offset      => Current_Indent_Offset
-              (Data, Anchor_Token,
-               Offset   =>
-                 (if Anchor_Token.Line = Record_Token.Line
-                  then Offset
-                  else Offset + Ada_Indent_Record_Rel_Type)),
-            Accumulate => True);
-      end if;
-   end Indent_Record;
-
-   ----------
-   --  Refactor body subprograms
-
-   function Find_ID_At
-     (Tree       : in WisiToken.Syntax_Trees.Tree;
-      ID         : in Token_ID;
-      Edit_Begin : in WisiToken.Buffer_Pos)
-     return WisiToken.Node_Index
-   is
-      function Match (Tree : in Syntax_Trees.Tree; Node : in Valid_Node_Index) 
return Boolean
-        is (Tree.ID (Node) = ID and then Get_Aug_Token_Const_1 (Tree, 
Node).Byte_Region.First = Edit_Begin);
-   begin
-      return Tree.Find_Descendant (Tree.Root, Predicate => Match'Access);
-   end Find_ID_At;
-
-   procedure Unrecognized
-     (Expecting  : in String;
-      Found      : in WisiToken.Valid_Node_Index;
-      Edit_Begin : in WisiToken.Buffer_Pos)
-   with No_Return
-   is begin
-      raise SAL.Parameter_Error with "unrecognized subprogram call at 
byte_pos" & Edit_Begin'Image &
-        "; expecting " & Expecting & " found node" & Found'Image;
-   end Unrecognized;
-
-   procedure Method_Object_To_Object_Method
-     (Tree       : in     WisiToken.Syntax_Trees.Tree;
-      Data       : in out Parse_Data_Type;
-      Edit_Begin : in     WisiToken.Buffer_Pos)
-   is
-      --  Data.Tree contains one statement or declaration; Edit_Begin is at
-      --  start of a subprogram call. Convert the subprogram call from
-      --  Prefix.Method (Object, ...) to Object.Method (...).
-
-      use Ada_Process_Actions;
-      use Standard.Ada.Strings.Unbounded;
-      use Standard.Ada.Text_IO;
-      use WisiToken.Syntax_Trees;
-
-      Call             : Node_Index := Find_ID_At (Tree, +name_ID, Edit_Begin);
-      Edit_End         : WisiToken.Buffer_Pos;
-      Method           : Valid_Node_Index;
-      Temp             : Node_Index;
-      Association_List : Node_Index;
-      Object           : Valid_Node_Index;
-      Result           : Unbounded_String;
-   begin
-      if Call = Invalid_Node_Index then
-         --  Most likely the edit point is wrong.
-         raise SAL.Parameter_Error with "no 'name' found at byte_pos" & 
Edit_Begin'Image;
-      elsif not (Tree.RHS_Index (Call) in 1 | 3) then
-         raise SAL.Parameter_Error with "no subprogram call found at byte_pos" 
& Edit_Begin'Image &
-           " (found node" & Call'Image & ")";
-      end if;
-
-      if WisiToken.Trace_Action > Detail then
-         Put_Line (";; refactoring node" & Call'Image & " '" & Data.Get_Text 
(Tree, Call) & "'");
-      end if;
-
-      if Tree.RHS_Index (Call) = 3 then
-         --  Code looks like: Length (Container)'Old. We only want to edit
-         --  'Length (Container)', keeping the trailing 'Old.
-         Call := Tree.Child (Tree.Child (Call, 1), 1);
-      end if;
-
-      Association_List := Tree.Child (Tree.Child (Call, 2), 2);
-      Edit_End         := Tree.Byte_Region (Call).Last;
-      Method           := Tree.Child (Tree.Child (Call, 1), 1);
-      loop
-         case To_Token_Enum (Tree.ID (Method)) is
-         when selected_component_ID | attribute_reference_ID =>
-            Method := Tree.Child (Method, 3);
-
-         when qualified_expression_ID =>
-            Method := Tree.Child (Method, 3); -- aggregate
-            if Tree.ID (Tree.Child (Method, 2)) = +association_list_ID then
-               Method := Tree.Child (Method, 2);
-               if Tree.RHS_Index (Method) = 1 then
-                  Temp := Tree.Find_Descendant (Tree.Child (Method, 1), 
+expression_ID);
-                  if Temp = Invalid_Node_Index then
-                     Unrecognized ("expression", Tree.Child (Method, 1), 
Edit_Begin);
-                  else
-                     Method := Temp;
-                     exit;
-                  end if;
-               else
-                  Unrecognized ("association", Method, Edit_Begin);
-               end if;
-            else
-               Unrecognized ("association_list", Method, Edit_Begin);
-            end if;
-
-         when IDENTIFIER_ID | STRING_LITERAL_ID =>
-            exit;
-         when others =>
-            Unrecognized ("supported token", Method, Edit_Begin);
-         end case;
-      end loop;
-
-      Temp := Tree.Find_Descendant (Association_List, +expression_ID);
-      if Temp = Invalid_Node_Index then
-         Unrecognized ("expression", Association_List, Edit_Begin);
-      else
-         Object := Temp;
-      end if;
-
-      --  Build remaining arg list in Result.
-      loop
-         if Tree.RHS_Index (Association_List) = 0 then
-            Result := Get_Text (Data, Tree, Tree.Child (Association_List, 3)) &
-              (if Length (Result) = 0 then "" else ", ") &
-              Result;
-            Association_List := Tree.Child (Association_List, 1);
-         else
-            --  The remaining element in Association_List is the first one, 
which is Object.
-            if Length (Result) > 0 then
-               Result := " (" & Result & ")";
-            end if;
-            exit;
-         end if;
-      end loop;
-      Result := (Get_Text (Data, Tree, Object) & "." & Get_Text (Data, Tree, 
Method)) & Result;
-      Put_Line ("[" & Edit_Action_Code & Edit_Begin'Image & Edit_End'Image & " 
""" &
-                  Elisp_Escape_Quotes (To_String (Result)) & """]");
-   end Method_Object_To_Object_Method;
-
-   procedure Object_Method_To_Method_Object
-     (Tree       : in     WisiToken.Syntax_Trees.Tree;
-      Data       : in out Parse_Data_Type;
-      Edit_Begin : in     WisiToken.Buffer_Pos)
-   is
-      --  Data.Tree contains one statement or declaration; Edit_Begin is at
-      --  start of a subprogram call. Convert the subprogram call from
-      --  Object.Method (...) to Method (Object, ...).
-      use Ada_Process_Actions;
-      use Standard.Ada.Strings.Unbounded;
-      use Standard.Ada.Text_IO;
-      use WisiToken.Syntax_Trees;
-
-      Call          : Node_Index := Find_ID_At (Tree, +name_ID, Edit_Begin);
-      Edit_End      : WisiToken.Buffer_Pos;
-      Object_Method : Valid_Node_Index;
-      Method        : Unbounded_String;
-      Object        : Unbounded_String;
-      Result        : Unbounded_String;
-   begin
-      if Call = Invalid_Node_Index then
-         --  Most likely the edit point is wrong.
-         raise SAL.Parameter_Error with "no 'name' at byte_pos" & 
Edit_Begin'Image;
-      elsif not (Tree.RHS_Index (Call) in 1 | 2 | 3) then
-         raise SAL.Parameter_Error with "no subprogram call found at byte_pos" 
& Edit_Begin'Image &
-           " (found node" & Call'Image & ")";
-      end if;
-
-      if WisiToken.Trace_Action > Detail then
-         Put_Line (";; refactoring node" & Call'Image & " '" & Data.Get_Text 
(Tree, Call) & "'");
-      end if;
-
-      if Tree.RHS_Index (Call) = 3 then
-         --  Code looks like: Container.Length'Old. We only want to edit
-         --  'Container.Length', keeping the trailing 'Old.
-         Call := Tree.Child (Tree.Child (Call, 1), 1);
-      end if;
-
-      Edit_End      := Tree.Byte_Region (Call).Last;
-      Object_Method := Tree.Child (Call, 1);
-         loop
-            case To_Token_Enum (Tree.ID (Object_Method)) is
-            when name_ID =>
-               Object_Method := Tree.Child (Object_Method, 1);
-
-            when selected_component_ID =>
-               Object := +Get_Text (Data, Tree, Tree.Child (Object_Method, 1));
-               Method := +Get_Text (Data, Tree, Tree.Child (Object_Method, 3));
-               exit;
-
-            when others =>
-               Unrecognized ("supported token", Object_Method, Edit_Begin);
-            end case;
-         end loop;
-
-         Result := Method & " (" & Object;
-         if Tree.RHS_Index (Call) = 1 then
-            Result := Result & ", " & Get_Text (Data, Tree, Tree.Child 
(Tree.Child (Call, 2), 2));
-         end if;
-         Result := Result & ")";
-         Put_Line ("[" & Edit_Action_Code & Edit_Begin'Image & Edit_End'Image 
& " """ &
-                     Elisp_Escape_Quotes (To_String (Result)) & """]");
-   end Object_Method_To_Method_Object;
-
-   procedure Element_Object_To_Object_Index
-     (Tree       : in     WisiToken.Syntax_Trees.Tree;
-      Data       : in out Parse_Data_Type;
-      Edit_Begin : in     WisiToken.Buffer_Pos)
-   is
-      --  Data.Tree contains one statement or declaration; Edit_Begin is at
-      --  start of a subprogram call. Convert the subprogram call from
-      --  Prefix.Element (Object, Index) to Object (Index).
-
-      use Ada_Process_Actions;
-      use Standard.Ada.Text_IO;
-      use WisiToken.Syntax_Trees;
-
-      Call             : Node_Index := Find_ID_At (Tree, +name_ID, Edit_Begin);
-      Edit_End         : WisiToken.Buffer_Pos;
-      Temp             : Node_Index;
-      Association_List : Node_Index;
-      Object           : Valid_Node_Index;
-      Index            : Valid_Node_Index;
-   begin
-      if Call = Invalid_Node_Index then
-         --  Most likely the edit point is wrong.
-         raise SAL.Parameter_Error with "no 'name' found at byte_pos" & 
Edit_Begin'Image;
-      elsif not (Tree.RHS_Index (Call) in 1 | 2 | 3) then
-         raise SAL.Parameter_Error with "no subprogram call found at byte_pos" 
& Edit_Begin'Image &
-           " (found node" & Call'Image & ")";
-      end if;
-
-      if WisiToken.Trace_Action > Detail then
-         Put_Line (";; refactoring node" & Call'Image & " '" & Data.Get_Text 
(Tree, Call) & "'");
-      end if;
-
-      if Tree.RHS_Index (Call) = 2 then
-         --  Code looks like: Element (Container, I).Op. We only want to edit
-         --  the subprogram call, keeping the trailing .Op.
-         Call := Tree.Child (Tree.Child (Call, 1), 1);
-
-      elsif Tree.RHS_Index (Call) = 3 then
-         --  Code looks like: Element (Container, I)'Old. We only want to edit
-         --  the subprogram call, keeping the trailing 'Old.
-         Call := Tree.Child (Tree.Child (Call, 1), 1);
-      end if;
-
-      Association_List := Tree.Child (Tree.Child (Call, 2), 2);
-      Edit_End         := Tree.Byte_Region (Call).Last;
-
-      if Tree.RHS_Index (Association_List) /= 0 then
-         Unrecognized ("two args", Association_List, Edit_Begin);
-      end if;
-
-      Temp := Tree.Find_Descendant (Association_List, +expression_ID);
-      if Temp = Invalid_Node_Index then
-         Unrecognized ("expression", Association_List, Edit_Begin);
-      else
-         Object := Temp;
-      end if;
-
-      Temp := Tree.Find_Descendant (Tree.Child (Association_List, 3), 
+expression_ID);
-      if Temp = Invalid_Node_Index then
-         Unrecognized ("expression", Association_List, Edit_Begin);
-      else
-         Index := Temp;
-      end if;
-
-      Put_Line
-        ("[" & Edit_Action_Code & Edit_Begin'Image & Edit_End'Image & " """ &
-           Elisp_Escape_Quotes (Get_Text (Data, Tree, Object) & " (" & 
Get_Text (Data, Tree, Index) & ")") &
-           """]");
-   end Element_Object_To_Object_Index;
-
-   procedure Object_Index_To_Element_Object
-     (Tree       : in     WisiToken.Syntax_Trees.Tree;
-      Data       : in out Parse_Data_Type;
-      Edit_Begin : in     WisiToken.Buffer_Pos)
-   is
-      --  Data.Tree contains one statement or declaration; Edit_Begin is at
-      --  start of a subprogram call. Convert the subprogram call from
-      --  Object (Index) to Element (Object, Index).
-
-      use Ada_Process_Actions;
-      use Standard.Ada.Text_IO;
-      use WisiToken.Syntax_Trees;
-
-      Call             : Node_Index := Find_ID_At (Tree, +name_ID, Edit_Begin);
-      Edit_End         : WisiToken.Buffer_Pos;
-      Temp             : Node_Index;
-      Association_List : Node_Index;
-      Object           : Valid_Node_Index;
-      Index            : Valid_Node_Index;
-   begin
-      if Call = Invalid_Node_Index then
-         --  Most likely the edit point is wrong.
-         raise SAL.Parameter_Error with "no 'name' found at byte_pos" & 
Edit_Begin'Image;
-      elsif not (Tree.RHS_Index (Call) in 1 | 2 | 3) then
-         raise SAL.Parameter_Error with "no subprogram call found at byte_pos" 
& Edit_Begin'Image &
-           " (found node" & Call'Image & ")";
-      end if;
-
-      if WisiToken.Trace_Action > Detail then
-         Put_Line (";; refactoring node" & Call'Image & " '" & Data.Get_Text 
(Tree, Call) & "'");
-      end if;
-
-      if Tree.RHS_Index (Call) = 2 then
-         --  Code looks like: Object (I).Component. We only want to edit
-         --  the subprogram call, keeping the trailing .Component.
-         Call := Tree.Child (Tree.Child (Call, 1), 1);
-
-      elsif Tree.RHS_Index (Call) = 3 then
-         --  Code looks like: Container (I)'Old. We only want to edit
-         --  the subprogram call, keeping the trailing 'Old.
-         Call := Tree.Child (Tree.Child (Call, 1), 1);
-      end if;
-
-      Object           := Tree.Child (Tree.Child (Call, 1), 1);
-      Association_List := Tree.Child (Tree.Child (Call, 2), 2);
-      Edit_End         := Tree.Byte_Region (Call).Last;
-
-      if Tree.RHS_Index (Association_List) /= 1 then
-         Unrecognized ("one args", Association_List, Edit_Begin);
-      end if;
-
-      Temp := Tree.Find_Descendant (Tree.Child (Association_List, 1), 
+expression_ID);
-      if Temp = Invalid_Node_Index then
-         Unrecognized ("expression", Association_List, Edit_Begin);
-      else
-         Index := Temp;
-      end if;
-
-      Put_Line
-        ("[" & Edit_Action_Code & Edit_Begin'Image & Edit_End'Image & " """ &
-           Elisp_Escape_Quotes
-             ("Element (" & Get_Text (Data, Tree, Object) & ", " & Get_Text 
(Data, Tree, Index) & ")") &
-           """]");
-   end Object_Index_To_Element_Object;
-
-   procedure Format_Parameter_List
-     (Tree       : in out WisiToken.Syntax_Trees.Tree;
-      Data       : in out Parse_Data_Type;
-      Edit_Begin : in     WisiToken.Buffer_Pos)
-   is separate;
-   --  Data.Tree contains a subprogram declaration or body; Edit_Begin is
-   --  at the start of a parameter list. Format the parameter list.
-   --
-   --  Handle virtual tokens as much as possible; at least closing paren.
-
-   ----------
-   --  Public subprograms, declaration order
-
-   overriding
-   procedure Initialize
-     (Data              : in out Parse_Data_Type;
-      Lexer             : in     WisiToken.Lexer.Handle;
-      Descriptor        : access constant WisiToken.Descriptor;
-      Base_Terminals    : in     WisiToken.Base_Token_Array_Access;
-      Post_Parse_Action : in     Post_Parse_Action_Type;
-      Begin_Line        : in     WisiToken.Line_Number_Type;
-      End_Line          : in     WisiToken.Line_Number_Type;
-      Begin_Indent      : in     Integer;
-      Params            : in     String)
-   is
-      use Standard.Ada.Strings.Fixed;
-      use all type Ada_Process_Actions.Token_Enum_ID;
-      First : Integer := Params'First;
-      Last  : Integer := Index (Params, " ");
-   begin
-      Wisi.Initialize
-        (Wisi.Parse_Data_Type (Data), Lexer, Descriptor, Base_Terminals, 
Post_Parse_Action, Begin_Line, End_Line,
-         Begin_Indent, "");
-
-      Data.First_Comment_ID := +COMMENT_ID;
-      Data.Last_Comment_ID  := WisiToken.Invalid_Token_ID;
-      Data.Left_Paren_ID    := +LEFT_PAREN_ID;
-      Data.Right_Paren_ID   := +RIGHT_PAREN_ID;
-
-      Data.Embedded_Quote_Escape_Doubled := True;
-
-      if Params /= "" then
-         Ada_Indent := Integer'Value (Params (First .. Last - 1));
-
-         First := Last + 1;
-         Last := Index (Params, " ", First);
-         Ada_Indent_Broken := Integer'Value (Params (First .. Last - 1));
-
-         First := Last + 1;
-         Last := First + 1;
-         Ada_Indent_Comment_Col_0 := Params (First) = '1';
-
-         First := Last + 1;
-         Last := First + 1;
-         Ada_Indent_Comment_GNAT := Params (First) = '1';
-
-         First := Last + 1;
-         Last := Index (Params, " ", First);
-         Ada_Indent_Label := Integer'Value (Params (First .. Last - 1));
-
-         First := Last + 1;
-         Last := Index (Params, " ", First);
-         Ada_Indent_Record_Rel_Type := Integer'Value (Params (First .. Last - 
1));
-
-         First := Last + 1;
-         Last := Index (Params, " ", First);
-         Ada_Indent_Renames := Integer'Value (Params (First .. Last - 1));
-
-         First := Last + 1;
-         Last := Index (Params, " ", First);
-         Ada_Indent_Return := Integer'Value (Params (First .. Last - 1));
-
-         First := Last + 1;
-         Last := Index (Params, " ", First);
-         Ada_Indent_Use := Integer'Value (Params (First .. Last - 1));
-
-         First := Last + 1;
-         Last := Index (Params, " ", First);
-         Ada_Indent_When := Integer'Value (Params (First .. Last - 1));
-
-         First := Last + 1;
-         Last := Index (Params, " ", First);
-         Ada_Indent_With := Integer'Value (Params (First .. Last - 1));
-
-         First := Last + 1;
-         Last := First + 1;
-         Ada_Indent_Hanging_Rel_Exp := Params (First) = '1';
-
-         First := Last + 1;
-         Last := First + 1;
-         End_Names_Optional := Params (First) = '1';
-      end if;
-
-      Data.Indent_Comment_Col_0 := Ada_Indent_Comment_Col_0;
-   end Initialize;
-
-   overriding function Insert_After
-     (User_Data            : in out Parse_Data_Type;
-      Tree                 : in     WisiToken.Syntax_Trees.Tree'Class;
-      Token                : in     WisiToken.Valid_Node_Index;
-      Insert_On_Blank_Line : in     Boolean)
-     return Boolean
-   is
-      pragma Unreferenced (User_Data);
-      use Ada_Process_Actions;
-
-      --  We return True if Token affects indent (ie it is a block boundary)
-      --  and normally has no code following it on the same line.
-      --
-      --  'end' is not really an exception, it is normally followed by
-      --  <name> and ';', but no more code. Except when indenting a blank
-      --  line; see test/ada_mode-interactive_2.adb Record_1.
-      --
-      --  RIGHT_PAREN is an exception; it is often followed by more code,
-      --  but clearly belongs on the same line as the preceding token (often
-      --  other ')').
-      --
-      --  COLON is similar to RIGHT_PAREN.
-
-      ID : constant Token_ID := Tree.ID (Token);
-
-      Result : constant array (Ada_Process_Actions.Token_Enum_ID) of Boolean :=
-        (BEGIN_ID |         -- test/ada_mode-recover_exception_1.adb, 
test/ada_mode-recover_extra_declare.adb
-           COLON_ID |       -- test/ada_mode-recover_partial_22.adb
-           DECLARE_ID |
-           RIGHT_PAREN_ID | -- test/ada_mode-recover_20.adb
-           SEMICOLON_ID |   -- test/ada_mode-recover_13.adb
-           THEN_ID          -- test/ada_mode-recover_19
-                => True,
-         others => False);
-   begin
-      case To_Token_Enum (ID) is
-      when CASE_ID | IF_ID | LOOP_ID | RECORD_ID | RETURN_ID | SELECT_ID =>
-         return -Tree.ID (Tree.Prev_Terminal (Token)) = END_ID;
-
-      when END_ID =>
-         --  test/ada_mode-recover_20.adb, test/ada_mode-interactive_2.adb 
Record_1.
-         return not Insert_On_Blank_Line;
-
-      when IDENTIFIER_ID =>
-         return -Tree.ID (Tree.Prev_Terminal (Token)) in END_ID | COLON_ID;
-
-      when others =>
-         return Result (-ID);
-      end case;
-   end Insert_After;
-
-   overriding
-   function Indent_Hanging_1
-     (Data              : in out Parse_Data_Type;
-      Tree              : in     Syntax_Trees.Tree;
-      Tokens            : in     Valid_Node_Index_Array;
-      Tree_Indenting    : in     Valid_Node_Index;
-      Indenting_Comment : in     Boolean;
-      Delta_1           : in     Simple_Indent_Param;
-      Delta_2           : in     Simple_Indent_Param;
-      Option            : in     Boolean;
-      Accumulate        : in     Boolean)
-     return Delta_Type
-   is
-      Indenting_Token : Aug_Token_Const_Ref renames Get_Aug_Token_Const_1 
(Tree, Tree_Indenting);
-
-      function Result (Delta_1 : in Simple_Indent_Param; Delta_2 : in 
Simple_Delta_Type) return Delta_Type
-      is begin
-         return
-           (Hanging,
-            Hanging_First_Line  => Indenting_Token.Line,
-            Hanging_Paren_State => Indenting_Token.Paren_State,
-            Hanging_Delta_1     => Indent_Compute_Delta
-              (Data, Tree, Tokens, (Simple, Delta_1), Tree_Indenting, 
Indenting_Comment).Simple_Delta,
-            Hanging_Delta_2     => Delta_2,
-            Hanging_Accumulate => Accumulate);
-      end Result;
-
-      function Result (Delta_1 : in Simple_Delta_Type) return Delta_Type
-      is begin
-         return
-           (Hanging,
-            Hanging_First_Line  => Indenting_Token.Line,
-            Hanging_Paren_State => Indenting_Token.Paren_State,
-            Hanging_Delta_1     => Delta_1,
-            Hanging_Delta_2     => Delta_1,
-            Hanging_Accumulate => Accumulate);
-      end Result;
-
-      function Comment_Result (D : in Simple_Indent_Param) return Delta_Type
-      is begin
-         return Indent_Compute_Delta
-           (Data, Tree, Tokens, (Simple, D), Tree_Indenting, Indenting_Comment 
=> False);
-      end Comment_Result;
-
-      use Ada_Process_Actions;
-   begin
-      if Tree.ID (Tree.Parent (Tree_Indenting)) = +association_opt_ID and then
-        Invalid_Node_Index /= Tree.Find_Ancestor (Tree_Indenting, 
+aspect_specification_opt_ID)
-      then
-         --  In aspect_specification_opt
-         --  See ada.wy association_opt for test cases
-         if not Indenting_Comment then
-            return Result
-              (Delta_1,
-               Indent_Anchored_2
-                 (Data, Indenting_Token.Line, Indenting_Token.Last_Indent_Line,
-                  Current_Indent_Offset (Data, Indenting_Token, 0),
-                  Accumulate => False).Simple_Delta);
-         else
-            --  Test case in test/aspects.ads
-            return Result
-              (Indent_Compute_Delta
-                 (Data, Tree, Tokens, (Simple, Delta_1), Tree_Indenting, 
Indenting_Comment).Simple_Delta);
-         end if;
-
-      elsif Ada_Indent_Hanging_Rel_Exp then
-         declare
-            New_Delta_2 : constant Simple_Delta_Type := Indent_Anchored_2
-              (Data, Indenting_Token.Line, Indenting_Token.Last_Indent_Line,
-               Current_Indent_Offset (Data, Indenting_Token, 
Ada_Indent_Broken),
-               Accumulate => False).Simple_Delta;
-         begin
-            if not Option or Indenting_Token.Line = 
Indenting_Token.First_Indent_Line then
-               return Result (Delta_1, New_Delta_2);
-            else
-               return Result (New_Delta_2);
-            end if;
-         end;
-
-      elsif Indenting_Comment then
-         --  Use delta for last line of Indenting_Token.
-         --  Test cases in test/ada_mode-parens.adb Hello
-         declare
-            First_Terminal : Aug_Token_Const_Ref renames Get_Aug_Token_Const_1
-              (Tree, Tree.First_Terminal (Tree_Indenting));
-         begin
-            if Option then
-               --  Test cases with "Item => ..."
-               if First_Terminal.First then
-                  if Indenting_Token.First_Indent_Line = 
Indenting_Token.Last_Indent_Line then
-                     return Comment_Result (Delta_1);
-                  else
-                     return Comment_Result (Delta_2);
-                  end if;
-               else
-                  if Indenting_Token.First_Indent_Line = Invalid_Line_Number 
then
-                     return Comment_Result ((Int, 0));
-                  else
-                     return Comment_Result (Delta_1);
-                  end if;
-               end if;
-
-            else
-               if First_Terminal.First then
-                  if Indenting_Token.First_Indent_Line = 
Indenting_Token.Last_Indent_Line then
-                     return Comment_Result (Delta_1);
-                  else
-                     return Comment_Result (Delta_2);
-                  end if;
-               else
-                  if Indenting_Token.First_Indent_Line = Invalid_Line_Number 
then
-                     --  Comment is after first line in token
-                     return Comment_Result (Delta_1);
-                  else
-                     return Comment_Result (Delta_2);
-                  end if;
-               end if;
-            end if;
-         end;
-
-      elsif not Option or Indenting_Token.Line = 
Indenting_Token.First_Indent_Line then
-         return Result
-           (Delta_1,
-            Indent_Compute_Delta
-              (Data, Tree, Tokens, (Simple, Delta_2), Tree_Indenting, 
Indenting_Comment).Simple_Delta);
-
-      else
-         return Result
-           (Indent_Compute_Delta
-              (Data, Tree, Tokens, (Simple, Delta_1), Tree_Indenting, 
Indenting_Comment).Simple_Delta);
-      end if;
-   end Indent_Hanging_1;
-
-   overriding
-   procedure Refactor
-     (Data       : in out Parse_Data_Type;
-      Tree       : in out WisiToken.Syntax_Trees.Tree;
-      Action     : in     Positive;
-      Edit_Begin : in     WisiToken.Buffer_Pos)
-   is
-      --  Must match "ada-refactor-*" in ada-wisi.el
-      Method_Object_To_Object_Method : constant Positive := 1;
-      Object_Method_To_Method_Object : constant Positive := 2;
-      Element_Object_To_Object_Index : constant Positive := 3;
-      Object_Index_To_Element_Object : constant Positive := 4;
-      Format_Parameter_List          : constant Positive := 5;
-
-   begin
-      if WisiToken.Trace_Action > Detail then
-         Tree.Print_Tree (Data.Descriptor.all);
-      end if;
-      case Action is
-      when Method_Object_To_Object_Method =>
-         Wisi.Ada.Method_Object_To_Object_Method (Tree, Data, Edit_Begin);
-      when Object_Method_To_Method_Object =>
-         Wisi.Ada.Object_Method_To_Method_Object (Tree, Data, Edit_Begin);
-      when Element_Object_To_Object_Index =>
-         Wisi.Ada.Element_Object_To_Object_Index (Tree, Data, Edit_Begin);
-      when Object_Index_To_Element_Object =>
-         Wisi.Ada.Object_Index_To_Element_Object (Tree, Data, Edit_Begin);
-      when Format_Parameter_List =>
-         Wisi.Ada.Format_Parameter_List (Tree, Data, Edit_Begin);
-
-      when others =>
-         Standard.Ada.Text_IO.Put_Line ("(error ""unrecognized refactor action 
" & Action'Image & """)");
-      end case;
-   end Refactor;
-
-   function Ada_Indent_Aggregate
-     (Data              : in out Wisi.Parse_Data_Type'Class;
-      Tree              : in     Syntax_Trees.Tree;
-      Tokens            : in     Valid_Node_Index_Array;
-      Tree_Indenting    : in     Valid_Node_Index;
-      Indenting_Comment : in     Boolean;
-      Args              : in     Wisi.Indent_Arg_Arrays.Vector)
-     return Wisi.Delta_Type
-   is
-      pragma Unreferenced (Data);
-      pragma Unreferenced (Indenting_Comment);
-      pragma Unreferenced (Args);
-      pragma Unreferenced (Tokens);
-
-      use Ada_Process_Actions;
-
-      --  In our grammar, 'aggregate' can be an Ada aggregate, or a
-      --  parenthesized expression.
-      --
-      --  We always want an 'aggregate' to be indented by ada-indent-broken.
-      --  However, in some places in the grammar, 'aggregate' is indented by
-      --  ada-indent. The following checks for those places, and returns a
-      --  correction value. The aggregate may be nested inside a conidtional
-      --  expression, so we search for 'name' as well; see
-      --  test/ada_mode-conditional_expressions-more_1.adb.
-
-      Expression : constant Node_Index := Tree.Find_Ancestor (Tree_Indenting, 
(+expression_opt_ID, +name_ID));
-   begin
-      if Expression = Invalid_Node_Index or else
-        Tree.Parent (Expression) = Invalid_Node_Index
-      then
-         return Null_Delta;
-      elsif Tree.ID (Tree.Parent (Expression)) in +if_expression_ID | 
+elsif_expression_item_ID |
-        +case_expression_alternative_ID
-      then
-         --  The controlling boolean expression in 'if_expression' and
-         --  'elsif_expression_item' cannot be an aggregate in legal Ada
-         --  syntax.
-         return (Simple, (Int, Ada_Indent_Broken - Ada_Indent));
-      else
-         return Null_Delta;
-      end if;
-   end Ada_Indent_Aggregate;
-
-   function Ada_Indent_Renames_0
-     (Data              : in out Wisi.Parse_Data_Type'Class;
-      Tree              : in     Syntax_Trees.Tree;
-      Tokens            : in     Valid_Node_Index_Array;
-      Tree_Indenting    : in     Valid_Node_Index;
-      Indenting_Comment : in     Boolean;
-      Args              : in     Indent_Arg_Arrays.Vector)
-     return Wisi.Delta_Type
-   is
-      Subp_Node   : constant Valid_Node_Index := Tokens (Positive_Index_Type 
(Integer'(Args (1))));
-      Subp_Tok    : Aug_Token_Const_Ref renames Get_Aug_Token_Const_1 (Tree, 
Subp_Node);
-      Renames_Tok : Aug_Token_Const_Ref renames Get_Aug_Token_Const_1 (Tree, 
Tree_Indenting);
-      Paren_I     : Node_Index;
-   begin
-      Paren_I := Tree.Find_Descendant (Subp_Node, Data.Left_Paren_ID);
-
-      if Paren_I /= Invalid_Node_Index then
-         --  paren is present
-         if Ada_Indent_Renames > 0 then
-            return Indent_Anchored_2
-              (Data,
-               Anchor_Line => Subp_Tok.Line,
-               Last_Line   => Renames_Tok.Last_Line (Indenting_Comment),
-               Offset      => Ada_Indent_Renames,
-               Accumulate  => True);
-         else
-            declare
-               Paren_Tok : Aug_Token_Const_Ref renames Get_Aug_Token_Const_1 
(Tree, Paren_I);
-            begin
-               return Indent_Anchored_2
-                 (Data,
-                  Anchor_Line => Paren_Tok.Line,
-                  Last_Line   => Renames_Tok.Last_Line (Indenting_Comment),
-                  Offset      => Current_Indent_Offset (Data, Paren_Tok, abs 
Ada_Indent_Renames),
-                  Accumulate  => True);
-            end;
-         end if;
-      else
-         return Indent_Anchored_2
-           (Data,
-            Anchor_Line => Subp_Tok.Line,
-            Last_Line   => Renames_Tok.Last_Line (Indenting_Comment),
-            Offset      => Ada_Indent_Broken,
-            Accumulate  => True);
-      end if;
-   end Ada_Indent_Renames_0;
-
-   function Ada_Indent_Return_0
-     (Data              : in out Wisi.Parse_Data_Type'Class;
-      Tree              : in     Syntax_Trees.Tree;
-      Tokens            : in     Valid_Node_Index_Array;
-      Tree_Indenting    : in     Valid_Node_Index;
-      Indenting_Comment : in     Boolean;
-      Args              : in     Wisi.Indent_Arg_Arrays.Vector)
-     return Wisi.Delta_Type
-   is
-      use all type Ada_Process_Actions.Token_Enum_ID;
-      --  Tokens (Args (1)) = 'formal_part'
-      --  Indenting = 'result_profile'
-      --  Args (2) = delta (= 0!)
-      --
-      --  We are indenting 'result_profile' in
-      --  'parameter_and_result_profile'. The indent depends on whether the
-      --  'formal_part' is present, and the location of 'FUNCTION'.
-
-      Parameter_And_Result_Profile : constant Valid_Node_Index := Tree.Parent 
(Tree_Indenting);
-
-      Indenting : Aug_Token_Const_Ref renames Get_Aug_Token_Const_1 (Tree, 
Tree_Indenting);
-   begin
-      if Indenting.Line = Indenting.First_Indent_Line then
-         if Ada_Indent_Return <= 0 then
-            declare
-               Anchor_Token : Aug_Token_Const_Ref renames Get_Aug_Token_Const_1
-                 (Tree, Tokens (Positive_Index_Type (Integer'(Args (1)))));
-            begin
-               return Indent_Anchored_2
-                 (Data,
-                  Anchor_Line => Anchor_Token.Line,
-                  Last_Line   => Indenting.Last_Line (Indenting_Comment),
-                  Offset      => Current_Indent_Offset (Data, Anchor_Token, 
Args (2) + abs Ada_Indent_Return),
-                  Accumulate  => True);
-            end;
-         else
-            declare
-               Function_N   : constant Valid_Node_Index := Tree.Find_Sibling
-                 (Parameter_And_Result_Profile, +FUNCTION_ID);
-               Anchor_Token : Aug_Token_Const_Ref renames 
Get_Aug_Token_Const_1 (Tree, Function_N);
-            begin
-               return Indent_Anchored_2
-                 (Data,
-                  Anchor_Line => Anchor_Token.Line,
-                  Last_Line   => Indenting.Last_Line (Indenting_Comment),
-                  Offset      => Current_Indent_Offset (Data, Anchor_Token, 
Args (2) + abs Ada_Indent_Return),
-                  Accumulate  => True);
-            end;
-         end if;
-
-      else
-         return Null_Delta;
-      end if;
-   end Ada_Indent_Return_0;
-
-   function Ada_Indent_Record_0
-     (Data              : in out Wisi.Parse_Data_Type'Class;
-      Tree              : in     Syntax_Trees.Tree;
-      Tokens            : in     Valid_Node_Index_Array;
-      Tree_Indenting    : in     Valid_Node_Index;
-      Indenting_Comment : in     Boolean;
-      Args              : in     Wisi.Indent_Arg_Arrays.Vector)
-     return Wisi.Delta_Type
-   is begin
-      return Indent_Record
-        (Parse_Data_Type (Data),
-         Tree,
-         Anchor_Token      => Get_Aug_Token_Const_1 (Tree, Tokens 
(Positive_Index_Type (Integer'(Args (1))))),
-         Record_Token      => Get_Aug_Token_Const_1 (Tree, Tokens 
(Positive_Index_Type (Integer'(Args (2))))),
-         Offset            => Args (3),
-         Indenting_Token   => Get_Aug_Token_Const_1 (Tree, Tree_Indenting),
-         Indenting_Comment => Indenting_Comment);
-   end Ada_Indent_Record_0;
-
-   function Ada_Indent_Record_1
-     (Data              : in out Wisi.Parse_Data_Type'Class;
-      Tree              : in     Syntax_Trees.Tree;
-      Tokens            : in     Valid_Node_Index_Array;
-      Tree_Indenting    : in     Valid_Node_Index;
-      Indenting_Comment : in     Boolean;
-      Args              : in     Wisi.Indent_Arg_Arrays.Vector)
-     return Wisi.Delta_Type
-   is
-      --  We are indenting a token in record_definition or
-      --  record_representation_clause, or a comment before 'record'.
-      --
-      --  Args (1) is the token ID of the anchor. If record_definition, this
-      --  is TYPE; it appears as a direct child in an ancestor
-      --  full_type_declaration. If record_representation_clause, args (1)
-      --  is FOR, child of record_representation_clause.
-
-      use Ada_Process_Actions;
-
-      Anchor : constant Token_ID := Token_ID (Integer'(Args (1)));
-
-      Declaration : constant Valid_Node_Index := Tree.Find_Ancestor
-        (Tree_Indenting,
-         (if To_Token_Enum (Anchor) = TYPE_ID
-          then +full_type_declaration_ID
-          else +record_representation_clause_ID));
-
-      Tree_Anchor : constant Valid_Node_Index := Tree.Find_Child (Declaration, 
Anchor);
-
-      --  Args (2) is the index of RECORD (or a nonterminal possibly
-      --  starting with RECORD) in Tokens
-      Record_Token_Tree_Index : constant Node_Index := Tokens 
(Positive_Index_Type (Integer'(Args (2))));
-   begin
-      --  Args (3) is the offset
-      return Indent_Record
-        (Parse_Data_Type (Data),
-         Tree,
-         Anchor_Token      => Get_Aug_Token_Const_1 (Tree, Tree_Anchor),
-         Record_Token      => Get_Aug_Token_Const_1 (Tree, Tree.First_Terminal 
(Record_Token_Tree_Index)),
-         Indenting_Token   => Get_Aug_Token_Const_1 (Tree, Tree_Indenting),
-         Indenting_Comment => Indenting_Comment,
-         Offset            => Args (3));
-   end Ada_Indent_Record_1;
-
-end Wisi.Ada;
---  Local Variables:
---  ada-case-strict: nil
---  End:
diff --git a/packages/ada-mode/wisi-ada.ads b/packages/ada-mode/wisi-ada.ads
deleted file mode 100644
index 5e0ba50..0000000
--- a/packages/ada-mode/wisi-ada.ads
+++ /dev/null
@@ -1,156 +0,0 @@
---  Abstract :
---
---  Ada language specific indent options and functions
---
---  [1] ada.wy
---  [2] ada-indent-user-options.el
---
---  Copyright (C) 2017 - 2020 Free Software Foundation, Inc.
---
---  This library 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 library is distributed in the hope that it will be useful,
---  but WITHOUT ANY WARRANTY;  without even the implied warranty of MERCHAN-
---  TABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
---  As a special exception under Section 7 of GPL version 3, you are granted
---  additional permissions described in the GCC Runtime Library Exception,
---  version 3.1, as published by the Free Software Foundation.
-
-pragma License (Modified_GPL);
-
-package Wisi.Ada is
-
-   Language_Protocol_Version : constant String := "3";
-   --  Defines the data passed to Initialize in Params.
-   --
-   --  This value must match ada-mode.el
-   --  ada-wisi-language-protocol-version.
-   --
-   --  Only changes once per ada-mode release. Increment as soon as
-   --  required, record new version in NEWS-ada-mode.text.
-
-   --  Indent parameters from [2]
-   Ada_Indent                 : Integer := 3;
-   Ada_Indent_Broken          : Integer := 2;
-   Ada_Indent_Comment_Col_0   : Boolean := False;
-   Ada_Indent_Comment_GNAT    : Boolean := False;
-   Ada_Indent_Label           : Integer := -3;
-   Ada_Indent_Record_Rel_Type : Integer := 3;
-   Ada_Indent_Renames         : Integer := 2;
-   Ada_Indent_Return          : Integer := 0;
-   Ada_Indent_Use             : Integer := 2;
-   Ada_Indent_When            : Integer := 3;
-   Ada_Indent_With            : Integer := 2;
-   Ada_Indent_Hanging_Rel_Exp : Boolean := False;
-
-   --  Other parameters
-   End_Names_Optional : Boolean := False;
-
-   type Parse_Data_Type is new Wisi.Parse_Data_Type with null record;
-
-   overriding
-   procedure Initialize
-     (Data              : in out Parse_Data_Type;
-      Lexer             : in     WisiToken.Lexer.Handle;
-      Descriptor        : access constant WisiToken.Descriptor;
-      Base_Terminals    : in     WisiToken.Base_Token_Array_Access;
-      Post_Parse_Action : in     Post_Parse_Action_Type;
-      Begin_Line        : in     WisiToken.Line_Number_Type;
-      End_Line          : in     WisiToken.Line_Number_Type;
-      Begin_Indent      : in     Integer;
-      Params            : in     String);
-   --  Call Wisi_Runtime.Initialize, then:
-   --
-   --  If Params /= "", set all language-specific parameters from Params,
-   --  in declaration order; otherwise keep default values. Boolean is
-   --  represented by 0 | 1. Parameter values are space delimited.
-   --
-   --  Also do any other initialization that Data needs.
-
-   overriding
-   function Insert_After
-     (User_Data            : in out Parse_Data_Type;
-      Tree                 : in     WisiToken.Syntax_Trees.Tree'Class;
-      Token                : in     WisiToken.Valid_Node_Index;
-      Insert_On_Blank_Line : in     Boolean)
-     return Boolean;
-
-   overriding
-   function Indent_Hanging_1
-     (Data              : in out Parse_Data_Type;
-      Tree              : in     WisiToken.Syntax_Trees.Tree;
-      Tokens            : in     WisiToken.Valid_Node_Index_Array;
-      Tree_Indenting    : in     WisiToken.Valid_Node_Index;
-      Indenting_Comment : in     Boolean;
-      Delta_1           : in     Simple_Indent_Param;
-      Delta_2           : in     Simple_Indent_Param;
-      Option            : in     Boolean;
-      Accumulate        : in     Boolean)
-     return Delta_Type;
-
-   overriding
-   procedure Refactor
-     (Data       : in out Parse_Data_Type;
-      Tree       : in out WisiToken.Syntax_Trees.Tree;
-      Action     : in     Positive;
-      Edit_Begin : in     WisiToken.Buffer_Pos);
-
-   ----------
-   --  The following are declared in ada.wy %elisp_indent, and must match
-   --  Language_Indent_Function.
-
-   function Ada_Indent_Aggregate
-     (Data              : in out Wisi.Parse_Data_Type'Class;
-      Tree              : in     WisiToken.Syntax_Trees.Tree;
-      Tokens            : in     WisiToken.Valid_Node_Index_Array;
-      Tree_Indenting    : in     WisiToken.Valid_Node_Index;
-      Indenting_Comment : in     Boolean;
-      Args              : in     Wisi.Indent_Arg_Arrays.Vector)
-     return Wisi.Delta_Type;
-   --  [1] ada-indent-aggregate
-
-   function Ada_Indent_Renames_0
-     (Data              : in out Wisi.Parse_Data_Type'Class;
-      Tree              : in     WisiToken.Syntax_Trees.Tree;
-      Tokens            : in     WisiToken.Valid_Node_Index_Array;
-      Tree_Indenting    : in     WisiToken.Valid_Node_Index;
-      Indenting_Comment : in     Boolean;
-      Args              : in     Wisi.Indent_Arg_Arrays.Vector)
-     return Wisi.Delta_Type;
-   --  [1] ada-indent-renames
-
-   function Ada_Indent_Return_0
-     (Data              : in out Wisi.Parse_Data_Type'Class;
-      Tree              : in     WisiToken.Syntax_Trees.Tree;
-      Tokens            : in     WisiToken.Valid_Node_Index_Array;
-      Tree_Indenting    : in     WisiToken.Valid_Node_Index;
-      Indenting_Comment : in     Boolean;
-      Args              : in     Wisi.Indent_Arg_Arrays.Vector)
-     return Wisi.Delta_Type;
-   --  [1] ada-indent-return
-
-   function Ada_Indent_Record_0
-     (Data              : in out Wisi.Parse_Data_Type'Class;
-      Tree              : in     WisiToken.Syntax_Trees.Tree;
-      Tokens            : in     WisiToken.Valid_Node_Index_Array;
-      Tree_Indenting    : in     WisiToken.Valid_Node_Index;
-      Indenting_Comment : in     Boolean;
-      Args              : in     Wisi.Indent_Arg_Arrays.Vector)
-     return Wisi.Delta_Type;
-   --  [1] ada-indent-record
-   --  Args: anchor_token_index, record_token_index, offset
-
-   function Ada_Indent_Record_1
-     (Data              : in out Wisi.Parse_Data_Type'Class;
-      Tree              : in     WisiToken.Syntax_Trees.Tree;
-      Tokens            : in     WisiToken.Valid_Node_Index_Array;
-      Tree_Indenting    : in     WisiToken.Valid_Node_Index;
-      Indenting_Comment : in     Boolean;
-      Args              : in     Wisi.Indent_Arg_Arrays.Vector)
-     return Wisi.Delta_Type;
-   --  [1] ada-indent-record*
-   --  Args: anchor_token_ID, record_token_index, offset
-
-end Wisi.Ada;
diff --git a/packages/ada-mode/wisi-gpr.adb b/packages/ada-mode/wisi-gpr.adb
deleted file mode 100644
index 7007114..0000000
--- a/packages/ada-mode/wisi-gpr.adb
+++ /dev/null
@@ -1,63 +0,0 @@
---  Abstract :
---
---  See spec
---
---  Copyright (C) 2017 - 2019 Free Software Foundation, Inc.
---
---  This library 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 library is distributed in the hope that it will be useful,
---  but WITHOUT ANY WARRANTY;  without even the implied warranty of MERCHAN-
---  TABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
---  As a special exception under Section 7 of GPL version 3, you are granted
---  additional permissions described in the GCC Runtime Library Exception,
---  version 3.1, as published by the Free Software Foundation.
-
-pragma License (Modified_GPL);
-
-with Ada.Strings.Fixed;
-with Gpr_Process_Actions;
-package body Wisi.Gpr is
-
-   overriding
-   procedure Initialize
-     (Data              : in out Parse_Data_Type;
-      Lexer             : in     WisiToken.Lexer.Handle;
-      Descriptor        : access constant WisiToken.Descriptor;
-      Base_Terminals    : in     WisiToken.Base_Token_Array_Access;
-      Post_Parse_Action : in     Post_Parse_Action_Type;
-      Begin_Line        : in     WisiToken.Line_Number_Type;
-      End_Line          : in     WisiToken.Line_Number_Type;
-      Begin_Indent      : in     Integer;
-      Params            : in     String)
-   is
-      use Ada.Strings.Fixed;
-      use all type Gpr_Process_Actions.Token_Enum_ID;
-      First : Integer := Params'First;
-      Last  : Integer := Index (Params, " ");
-   begin
-      Wisi.Initialize
-        (Wisi.Parse_Data_Type (Data), Lexer, Descriptor, Base_Terminals, 
Post_Parse_Action, Begin_Line, End_Line,
-         Begin_Indent, "");
-
-      Data.First_Comment_ID := +COMMENT_ID;
-      Data.Last_Comment_ID  := WisiToken.Invalid_Token_ID;
-      Data.Left_Paren_ID    := WisiToken.Invalid_Token_ID;
-      Data.Right_Paren_ID   := WisiToken.Invalid_Token_ID;
-
-      if Params /= "" then
-         --  must match [1] wisi-parse-format-language-options
-         Gpr_Indent := Integer'Value (Params (First .. Last - 1));
-
-         First := Last + 1;
-         Last := Index (Params, " ", First);
-         Gpr_Indent_Broken := Integer'Value (Params (First .. Last - 1));
-
-         First := Last + 1;
-         Gpr_Indent_When := Integer'Value (Params (First .. Params'Last));
-      end if;
-   end Initialize;
-
-end Wisi.Gpr;
diff --git a/packages/ada-mode/wisi-gpr.ads b/packages/ada-mode/wisi-gpr.ads
deleted file mode 100644
index f3ef299..0000000
--- a/packages/ada-mode/wisi-gpr.ads
+++ /dev/null
@@ -1,60 +0,0 @@
---  Abstract :
---
---  Ada implementation of:
---
---  [1] gpr-wisi.el
---  [2] gpr-indent-user-options.el
---
---  Copyright (C) 2017 - 2019 Free Software Foundation, Inc.
---
---  This library 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 library is distributed in the hope that it will be useful,
---  but WITHOUT ANY WARRANTY;  without even the implied warranty of MERCHAN-
---  TABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
---  As a special exception under Section 7 of GPL version 3, you are granted
---  additional permissions described in the GCC Runtime Library Exception,
---  version 3.1, as published by the Free Software Foundation.
-
-pragma License (Modified_GPL);
-
-package Wisi.Gpr is
-
-   Language_Protocol_Version : constant String := "1";
-   --  Defines the data passed to Initialize in Params.
-   --
-   --  This value must match gpr-wisi.el
-   --  gpr-wisi-language-protocol-version.
-
-   --  Indent parameters from [2]
-   Gpr_Indent        : Integer := 3;
-   Gpr_Indent_Broken : Integer := 2;
-   Gpr_Indent_When   : Integer := 3;
-
-   --  Other parameters
-   End_Names_Optional : Boolean := False;
-
-   type Parse_Data_Type is new Wisi.Parse_Data_Type with null record;
-
-   overriding
-   procedure Initialize
-     (Data              : in out Parse_Data_Type;
-      Lexer             : in     WisiToken.Lexer.Handle;
-      Descriptor        : access constant WisiToken.Descriptor;
-      Base_Terminals    : in     WisiToken.Base_Token_Array_Access;
-      Post_Parse_Action : in     Post_Parse_Action_Type;
-      Begin_Line        : in     WisiToken.Line_Number_Type;
-      End_Line          : in     WisiToken.Line_Number_Type;
-      Begin_Indent      : in     Integer;
-      Params            : in     String);
-   --  Call Wisi_Runtime.Initialize, then:
-   --
-   --  If Params /= "", set all indent parameters from Params, in
-   --  declaration order; otherwise keep default values. Boolean is
-   --  represented by 0 | 1. Parameter values are space delimited.
-   --
-   --  Also do any other initialization that Gpr_Data needs.
-
-end Wisi.Gpr;
diff --git a/packages/ada-mode/wisi.gpr.gp b/packages/ada-mode/wisi.gpr.gp
deleted file mode 100644
index 1c17529..0000000
--- a/packages/ada-mode/wisi.gpr.gp
+++ /dev/null
@@ -1,64 +0,0 @@
---  Abstract :
---
---  Make installed and source ELPA package wisi Ada code available for
---  other projects.
---
---  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
---  published by the Free Software Foundation; either version 3, or (at
---  your option) any later version. This program is distributed in the
---  hope that it will be useful, but WITHOUT ANY WARRANTY; without even
---  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
---  PURPOSE. See the GNU General Public License for more details. You
---  should have received a copy of the GNU General Public License
---  distributed with this program; see file COPYING. If not, write to
---  the Free Software Foundation, 51 Franklin Street, Suite 500, Boston,
---  MA 02110-1335, USA.
-
-with "gnatcoll";
-with "standard_common";
-#if ELPA="no"
-with "sal";
-with "wisitoken";
-#end if;
-project Wisi is
-
-   for Source_Dirs use (".");
-
-   case Standard_Common.Profile is
-   when "On" =>
-      for Object_Dir use "obj_pro";
-      for Exec_Dir use "exec_pro";
-
-   when "Off" =>
-      for Object_Dir use "obj";
-      for Exec_Dir use ".";
-   end case;
-
-   for Languages use ("Ada", "C"); -- C needed for wisitoken-bnf-generate; 
wisitoken_grammar_re2c.c
-
-   package Compiler is
-
-      case Standard_Common.Build is
-      when "Debug" =>
-         for Default_Switches ("Ada") use
-           Standard_Common.Compiler.Common_Switches &
-           Standard_Common.Compiler.Style_Checks &
-           Standard_Common.Compiler.Debug_Switches;
-
-         for Default_Switches ("C") use 
Standard_Common.Compiler.Debug_Switches_C;
-
-      when "Normal" =>
-         for Default_Switches ("Ada") use
-           Standard_Common.Compiler.Common_Switches &
-           Standard_Common.Compiler.Style_Checks &
-           Standard_Common.Compiler.Release_Switches;
-
-         for Default_Switches ("C") use 
Standard_Common.Compiler.Release_Switches_C;
-      end case;
-
-   end Compiler;
-
-end Wisi;
diff --git a/packages/ada-mode/wisitoken-parse-lr-mckenzie_recover-ada.adb 
b/packages/ada-mode/wisitoken-parse-lr-mckenzie_recover-ada.adb
deleted file mode 100644
index 406b6c1..0000000
--- a/packages/ada-mode/wisitoken-parse-lr-mckenzie_recover-ada.adb
+++ /dev/null
@@ -1,1368 +0,0 @@
---  Abstract :
---
---  see spec.
---
---  Copyright (C) 2018 - 2020 Free Software Foundation, Inc.
---
---  This library 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 library is distributed in the hope that it will be useful,
---  but WITHOUT ANY WARRANTY;  without even the implied warranty of MERCHAN-
---  TABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
---  As a special exception under Section 7 of GPL version 3, you are granted
---  additional permissions described in the GCC Runtime Library Exception,
---  version 3.1, as published by the Free Software Foundation.
-
-pragma License (Modified_GPL);
-
-with Ada.Exceptions;
-with Ada_Process_Actions;
-with System.Assertions;
-package body WisiToken.Parse.LR.McKenzie_Recover.Ada is
-
-   use all type Ada_Process_Actions.Token_Enum_ID; -- token names
-   use all type Semantic_Checks.Check_Status_Label;
-
-   Descriptor : WisiToken.Descriptor renames Ada_Process_Actions.Descriptor;
-
-   subtype Grammar_Token_ID_Set is WisiToken.Token_ID_Set 
(Descriptor.First_Terminal .. Descriptor.Last_Nonterminal);
-   subtype Terminal_Token_ID_Set is WisiToken.Token_ID_Set 
(Descriptor.First_Terminal .. Descriptor.Last_Terminal);
-
-   --  From ada.wy, all nonterms with a Match_Names check:
-   --
-   --  nonterm                       <begin_name_token>        <end_name_token>
-   --  |-----------------------------|-------------------------|-------------
-   --  accept_statement              IDENTIFIER                identifier_opt
-   --  block_statement               block_label_opt           identifier_opt
-   --  entry_body                    IDENTIFIER                identifier_opt
-   --  loop_statement                block_label_opt           identifier_opt
-   --  package_body                  name                      name_opt
-   --  package_specification         name                      name_opt
-   --  protected_body                IDENTIFIER                identifier_opt
-   --  protected_type_declaration    IDENTIFIER                
protected_definition
-   --  single_protected_declaration  IDENTIFIER                
protected_definition
-   --  single_task_declaration       IDENTIFIER                identifier_opt
-   --  subprogram_body               subprogram_specification  name_opt
-   --  task_body                     IDENTIFIER                identifier_opt
-   --  task_type_declaration         IDENTIFIER                identifier_opt
-
-   No_Statements_Nonterm_IDs : constant Grammar_Token_ID_Set := To_Token_ID_Set
-     --  Nonterms that cannot contain a handled_sequence_of_statements
-     --  (transitive).
-     (Descriptor.First_Terminal, Descriptor.Last_Nonterminal,
-      +package_specification_ID  & (+protected_type_declaration_ID) & 
(+single_protected_declaration_ID) &
-        (+single_task_declaration_ID) & (+task_type_declaration_ID));
-
-   End_Keyword_IDs : constant Terminal_Token_ID_Set :=
-     To_Token_ID_Set
-       (Descriptor.First_Terminal, Descriptor.Last_Terminal,
-        +CASE_ID & (+IF_ID) & (+LOOP_ID) & (+RECORD_ID) & (+RETURN_ID) & 
(+SELECT_ID));
-
-   procedure Handle_Check_Fail
-     (Trace             : in out WisiToken.Trace'Class;
-      Lexer             : access constant WisiToken.Lexer.Instance'Class;
-      Parser_Label      : in     Natural;
-      Parse_Table       : in     WisiToken.Parse.LR.Parse_Table;
-      Terminals         : in     Base_Token_Arrays.Vector;
-      Tree              : in     Syntax_Trees.Tree;
-      Local_Config_Heap : in out Config_Heaps.Heap_Type;
-      Config            : in     Configuration)
-   with Pre => Config.Check_Status.Label /= Ok
-   is
-      procedure Put (Message : in String; Config : in Configuration)
-      is begin
-         Put (Message, Trace, Parser_Label, Terminals, Config);
-      end Put;
-
-      End_Name_Token : Recover_Token renames Config.Check_Status.End_Name;
-   begin
-      --  There is a top level exception handler in McKenzie_Recover; the
-      --  user has no way to work around an exception. If we are trying to
-      --  fix a particular use case, the trace messages will be enough.
-
-      case Config.Check_Status.Label is
-      when Ok =>
-         raise SAL.Programmer_Error;
-
-      when Match_Names_Error =>
-         --  There are several cases:
-         --
-         --  0. User name error. The input looks like:
-         --
-         --  "<begin_name_token> ... <end_name_token> ;"
-         --
-         --  where the names do not match, because the user is changing them.
-         --
-         --  The fix is to ignore the error. See
-         --  test/ada_mode-recover_change_name.adb.
-         --
-         --  1. The mismatch indicates one or more missing 'end's. The input
-         --  looks like:
-         --
-         --  "<correct_begin_name_token> ... <bad_begin_name_token> ... 
<end_name_token> ;"
-         --
-         --  where <correct_begin_name_token> matches <end_name_token>, but
-         --  <bad_begin_name_token> does not, and the erroneous reduce has
-         --  matched <bad_begin_name_token> with <end_name_token>.
-         --
-         --  The fix is to insert one or more 'end ;' before <end_name_token>.
-         --  See test_mckenzie_recover.adb Block_Match_Names_1, Extra_Name_2.
-         --
-         --  2. The mismatch indicates a missing block start. The input looks 
like:
-         --
-         --  "<bad_begin_name_token> ... begin ... end <end_name_token> ;"
-         --
-         --  where the matching begin name token has been deleted.
-         --
-         --  The fix is to insert a matching block start before the 'begin'.
-         --  See test/ada_mode-recover_deleted_procedure_1.adb
-         --
-         --
-         --  It is not possible for the mismatch to indicate an extra 'end';
-         --  that would generate either a Missing_Name_Error, or a syntax
-         --  error.
-         --
-         --  To distinguish between case 0 and 1, we search the stack for
-         --  <correct_begin_name_token>. If found, it's case 1, otherwise case
-         --  0 or 2. We cannot distinguish between 0 and 2 (without parsing
-         --  ahead).
-         --
-         --  If there is more than one missing 'end', a later recover operation
-         --  will fix the others. For example, in test_mckenzie_recover
-         --  Extra_Name_2, we get here on a second semantic check error.
-
-         --  This case doesn't use Tree, and it can handle some virtual tokens.
-
-         declare
-            End_Name : constant String := Lexer.Buffer_Text 
(End_Name_Token.Name);
-
-            Matching_Name_Index : SAL.Peek_Type := 3; -- start search before 
<end_name_token>
-         begin
-            Find_Matching_Name (Config, Lexer, End_Name, Matching_Name_Index, 
Case_Insensitive => True);
-
-            if Matching_Name_Index = Config.Stack.Depth then
-               --  case 0 or 2.
-
-               if Ada_Process_Actions.Token_Enum_ID'(-Config.Error_Token.ID) in
-                 protected_body_ID | protected_type_declaration_ID |
-                 single_protected_declaration_ID | single_task_declaration_ID
-               then
-                  --  Not case 2
-                  return;
-               end if;
-
-               declare
-                  New_Config : Configuration := Config;
-               begin
-                  --  These solutions must compete with 'ignore check fail', 
so give them the same cost.
-                  New_Config.Cost := New_Config.Cost + 
Parse_Table.McKenzie_Param.Ignore_Check_Fail;
-
-                  New_Config.Strategy_Counts (Language_Fix) := 
New_Config.Strategy_Counts (Language_Fix) + 1;
-
-                  New_Config.Error_Token.ID := Invalid_Token_ID;
-                  New_Config.Check_Status   := (Label => Ok);
-
-                  case 
Ada_Process_Actions.Token_Enum_ID'(-Config.Error_Token.ID) is
-                  when block_statement_ID =>
-                     Push_Back_Check (New_Config, (+SEMICOLON_ID, 
+identifier_opt_ID, +END_ID));
-                     Insert (New_Config, +BEGIN_ID);
-
-                  when entry_body_ID =>
-                     Push_Back_Check
-                       (New_Config,
-                        (+SEMICOLON_ID, +name_opt_ID, +END_ID, 
+handled_sequence_of_statements_ID));
-                     Insert (New_Config, +BEGIN_ID);
-
-                  when loop_statement_ID =>
-                     Push_Back_Check
-                       (New_Config,
-                        (+SEMICOLON_ID, +identifier_opt_ID, +LOOP_ID, 
+END_ID));
-                     Insert (New_Config, +LOOP_ID);
-
-                  when package_body_ID =>
-                     Push_Back_Check (New_Config, (+SEMICOLON_ID, 
+name_opt_ID, +END_ID));
-                     if New_Config.Stack.Peek (1).Token.ID = 
+handled_sequence_of_statements_ID then
-                        Push_Back_Check
-                          (New_Config,
-                           (+handled_sequence_of_statements_ID, +BEGIN_ID));
-                     end if;
-                     Push_Back_Check (New_Config, (1 => 
+declarative_part_opt_ID));
-                     Insert (New_Config, (+PACKAGE_ID, +BODY_ID, 
+IDENTIFIER_ID, +IS_ID));
-
-                  when package_specification_ID =>
-                     Push_Back_Check (New_Config, (+name_opt_ID, +END_ID, 
+declarative_part_opt_ID));
-                     if New_Config.Stack.Peek (1).Token.ID = +PRIVATE_ID then
-                        Push_Back_Check (New_Config, (+PRIVATE_ID, 
+declarative_part_opt_ID));
-                     end if;
-                     Insert (New_Config, (+PACKAGE_ID, +IDENTIFIER_ID, 
+IS_ID));
-
-                  when subprogram_body_ID =>
-                     Push_Back_Check
-                       (New_Config,
-                        (+SEMICOLON_ID, +name_opt_ID, +END_ID, 
+handled_sequence_of_statements_ID, +BEGIN_ID,
-                         +declarative_part_opt_ID));
-                     Insert (New_Config, (+PROCEDURE_ID, +IDENTIFIER_ID, 
+IS_ID));
-
-                  when task_body_ID =>
-                     Push_Back_Check
-                       (New_Config,
-                        (+SEMICOLON_ID, +name_opt_ID, +END_ID, 
+handled_sequence_of_statements_ID));
-                     Insert (New_Config, +BEGIN_ID);
-
-                  when others =>
-                     if Trace_McKenzie > Outline then
-                        Put ("Language_Fixes Match_Names_Error 2: unknown 
error token", Config);
-                     end if;
-                     return;
-                  end case;
-
-                  if Trace_McKenzie > Detail then
-                     Put ("Language_Fixes Match_Names_Error 2 " &
-                            Image (Config.Error_Token.ID, Descriptor), 
New_Config);
-                  end if;
-                  Local_Config_Heap.Add (New_Config);
-               exception
-               when Bad_Config =>
-                  null;
-               end;
-
-            else
-               --  Case 1.
-               declare
-                  New_Config : Configuration := Config;
-               begin
-                  New_Config.Error_Token.ID := Invalid_Token_ID;
-                  New_Config.Check_Status   := (Label => Ok);
-
-                  New_Config.Strategy_Counts (Language_Fix) := 
New_Config.Strategy_Counts (Language_Fix) + 1;
-
-                  Push_Back_Check
-                    (New_Config,
-                     (+SEMICOLON_ID,
-                      (case 
Ada_Process_Actions.Token_Enum_ID'(-Config.Error_Token.ID) is
-                       when package_body_ID | package_specification_ID | 
subprogram_body_ID => +name_opt_ID,
-                       when protected_type_declaration_ID | 
single_protected_declaration_ID => +protected_definition_ID,
-                       when others =>  +identifier_opt_ID)));
-
-                  if New_Config.Stack.Peek.Token.Min_Terminal_Index = 
Invalid_Token_Index then
-                     --  'end' is on top of stack. We want to set 
Current_Shared_Token to
-                     --  'end'; we can't if it has an invalid index (which it 
has if it was
-                     --  pushed after a previous fix).
-                     --
-                     --  We don't check earlier for Invalid_Indices, because 
we can handle
-                     --  other tokens having invalid indices.
-
-                     return;
-                  end if;
-
-                  Push_Back_Check (New_Config, +END_ID);
-
-                  --  We don't insert ';' here, because we may need to insert 
other
-                  --  stuff first; let Minimal_Complete_Actions handle it.
-                  Insert (New_Config, +END_ID);
-
-                  Local_Config_Heap.Add (New_Config);
-
-                  if Trace_McKenzie > Detail then
-                     Put ("Language_Fixes Match_Names_Error 1 " & Image 
(Config.Error_Token.ID, Descriptor),
-                          New_Config);
-                  end if;
-               exception
-               when Bad_Config =>
-                  null;
-
-               when E : System.Assertions.Assert_Failure =>
-                  if Trace_McKenzie > Outline then
-                     Trace.Put_Line
-                       ("Match_Names_Error 1 " & 
Standard.Ada.Exceptions.Exception_Message (E) & " " &
-                          Image (Config.Error_Token.ID, Descriptor));
-                  end if;
-               end;
-            end if;
-         end;
-
-      when Missing_Name_Error =>
-         --  0. User name error. The input looks like:
-         --
-         --  "<begin_name_token> ... <end_name_token> ;"
-         --
-         --  where <end_name_token> is empty, because the user is changing it.
-         --
-         --  There are two cases:
-         --
-         --  0a. The nonterm can contain a handled_sequence_of_statements; ie 
a subprogram or named block
-         --
-         --  0b. The nonterm cannot contain a handled_sequence_of_statements;
-         --  ie a protected object or type declaration.
-         --
-         --  The fix is to ignore the error.
-         --
-         --  1. missing 'begin' or extra 'end'. The stack looks like:
-         --
-         --   "<begin_named_token> ... begin handled_sequence_of_statements 
end <end_name_token> ;"
-         --
-         --  where the <end_name_token> is empty. See test_mckenzie_recover.adb
-         --  Missing_Name_*, ada_mode-recover_15.adb.
-         --
-         --  There are two subcases:
-         --
-         --  1a. The 'end <end_name_token> ;' is left over from editing, and
-         --  should be deleted. Note that there could be an End_Keyword_IDs
-         --  with that end instead of a name.
-         --
-         --  1b. There is a missing 'begin'.
-         --
-         --  We can distinguish between 1a and 1b by looking for 'exception';
-         --  if it is present, it is more likely there is a missing 'begin'.
-         --  However, 'exception' is contained by
-         --  'handled_sequence_of_statements' on the stack, so we have to look
-         --  inside that using the syntax tree.
-         --
-         --  We cannot distinguish between cases 0 and 1, other than by parsing
-         --  ahead, except in case 0b. So we enqueue two solutions; 'ignore
-         --  error' and either 'insert begin' or 'delete end;'.
-
-         if not Valid_Tree_Indices (Config.Stack, SAL.Base_Peek_Type 
(Config.Check_Token_Count)) then
-            --  Invalid tree indices happens when recover enqueues a config 
that
-            --  contains tokens pushed during recover. The logic below depends 
on
-            --  valid tree indices.
-
-            return;
-         end if;
-
-         if No_Statements_Nonterm_IDs (Config.Error_Token.ID) then
-            --  case 0b.
-            --  test/ada_mode.ads
-            return;
-         end if;
-
-         if Invalid_Node_Index = Tree.Find_Child (Config.Stack.Peek 
(4).Tree_Index, +EXCEPTION_ID) then
-            --  'exception' not found; case 1a - assume extra 'end [keyword] 
;'; delete it.
-            declare
-               use Config_Op_Arrays;
-               New_Config     : Configuration := Config;
-               Ops            : Config_Op_Arrays.Vector renames New_Config.Ops;
-               Stack          : Recover_Stacks.Stack renames New_Config.Stack;
-               End_Item       : Recover_Stack_Item; -- 'end' keyword; position 
in stack varies with case
-               Keyword_Item   : Recover_Stack_Item; -- keyword after 'end'; 
may not be present
-               Semicolon_Item : Recover_Stack_Item; -- semicolon after 'end'
-            begin
-               New_Config.Error_Token.ID := Invalid_Token_ID;
-               New_Config.Check_Status   := (Label => Ok);
-
-               --  This is a guess, and sometimes deleting the error keyword 
is better, so
-               --  give it a cost.
-               New_Config.Cost := New_Config.Cost + 1;
-
-               New_Config.Strategy_Counts (Language_Fix) := 
New_Config.Strategy_Counts (Language_Fix) + 1;
-
-               case To_Token_Enum (Config.Error_Token.ID) is
-               when block_statement_ID | package_body_ID | subprogram_body_ID 
| task_body_ID =>
-                  Semicolon_Item := Stack.Peek (1);
-                  End_Item       := Stack.Peek (3);
-
-                  Push_Back_Check
-                    (New_Config,
-                     (+SEMICOLON_ID,
-                      (if Config.Error_Token.ID in +block_statement_ID | 
+task_body_ID
-                       then +identifier_opt_ID
-                       else +name_opt_ID),
-                      +END_ID));
-
-                  if Undo_Reduce_Valid (New_Config.Stack, Tree) and then
-                    New_Config.Stack.Peek.Token.ID = 
+handled_sequence_of_statements_ID
-                  then
-                     Undo_Reduce_Check
-                       (New_Config, Tree,
-                        (+handled_sequence_of_statements_ID,
-                         +sequence_of_statements_opt_ID));
-                  else
-                     if Trace_McKenzie > Outline then
-                        Put ("Language_Fixes unimplemented nonterm for 
Missing_Name_Error.", New_Config);
-                     end if;
-                     raise Bad_Config;
-                  end if;
-
-               when package_specification_ID =>
-                  Semicolon_Item := Stack.Peek (1);
-                  End_Item       := Stack.Peek (3);
-
-                  Push_Back_Check (New_Config, (+SEMICOLON_ID, +name_opt_ID, 
+END_ID));
-                  Undo_Reduce_Check (New_Config, Tree, 
+declarative_part_opt_ID);
-
-               when loop_statement_ID =>
-                  Semicolon_Item := Stack.Peek (1);
-                  Keyword_Item   := Stack.Peek (3);
-                  End_Item       := Stack.Peek (4);
-
-                  Push_Back_Check
-                    (New_Config, (+SEMICOLON_ID, +identifier_opt_ID, +LOOP_ID, 
+END_ID));
-
-                  if Undo_Reduce_Valid (New_Config.Stack, Tree) and then
-                    New_Config.Stack.Peek (1).Token.ID = 
+handled_sequence_of_statements_ID
-                  then
-                     Undo_Reduce_Check
-                       (New_Config, Tree,
-                        (+handled_sequence_of_statements_ID,
-                         +sequence_of_statements_opt_ID));
-                  end if;
-               when others =>
-                  if Trace_McKenzie > Outline then
-                     Put ("Language_Fixes unimplemented nonterm for 
Missing_Name_Error.", Config);
-                  end if;
-                  raise Bad_Config;
-               end case;
-
-               if not Has_Space (Ops, 3) then
-                  raise Bad_Config;
-               end if;
-               Append (Ops, (Delete, +END_ID, 
End_Item.Token.Min_Terminal_Index));
-               if Keyword_Item.Token.ID /= Invalid_Token_ID then
-                  Append (Ops, (Delete, Keyword_Item.Token.ID, 
Keyword_Item.Token.Min_Terminal_Index));
-               end if;
-               --  We don't need to delete the identifier|name ; it is missing 
and therefor empty.
-               Append (Ops, (Delete, +SEMICOLON_ID, 
Semicolon_Item.Token.Min_Terminal_Index));
-
-               New_Config.Current_Shared_Token := Config.Current_Shared_Token; 
--  After pushed_back SEMICOLON.
-
-               Local_Config_Heap.Add (New_Config);
-
-               if Trace_McKenzie > Detail then
-                  Put ("Language_Fixes Missing_Name_Error 1a " & Image 
(Config.Error_Token.ID, Descriptor), New_Config);
-               end if;
-            exception
-            when Bad_Config =>
-               null;
-            end;
-
-         else
-            --  'exception' found; case 1b - assume missing 'begin'; insert it
-            --  before 'handled_sequence_of_statements'
-            declare
-               New_Config : Configuration := Config;
-            begin
-               New_Config.Error_Token.ID := Invalid_Token_ID;
-               New_Config.Check_Status   := (Label => Ok);
-
-               New_Config.Cost := New_Config.Cost + 1;
-
-               New_Config.Strategy_Counts (Language_Fix) := 
New_Config.Strategy_Counts (Language_Fix) + 1;
-
-               Push_Back_Check
-                 (New_Config,
-                  (+SEMICOLON_ID,
-                   (if Config.Error_Token.ID = +block_statement_ID
-                    then +identifier_opt_ID
-                    else +name_opt_ID),
-                   +END_ID, +handled_sequence_of_statements_ID));
-
-               Insert (New_Config, +BEGIN_ID);
-
-               Local_Config_Heap.Add (New_Config);
-
-               if Trace_McKenzie > Detail then
-                  Put ("Language_Fixes Missing_Name_Error 1b " & Image 
(Config.Error_Token.ID, Descriptor), New_Config);
-               end if;
-            exception
-            when Bad_Config =>
-               null;
-            end;
-         end if;
-
-      when Extra_Name_Error =>
-         --  The input looks like
-         --
-         --  "<begin_name_token> ... block_label_opt begin ... end 
<end_name_token> ;"
-         --
-         --  where the erroneous reduce matches the empty 'block_label_opt'
-         --  with '<end_name_Token>'.
-         --
-         --  0. If a matching <begin_name_token> is found, this is not a
-         --  plausible user name error (but we always allow 'ignore error'). If
-         --  it is not found, the user could be adding/deleting names; ignore
-         --  error is appropriate. In either case, enqueue other solutions.
-         --
-         --  1. There is at least one missing 'end' before 'begin'. See
-         --  test_mckenzie_recover.adb Extra_Name_1, Extra_Name_2,
-         --  Two_Missing_Ends. The solution is to insert 'end ;' before the
-         --  'begin'.
-         --
-         --  2. There is at least one missing 'end' after 'begin'. See
-         --  test/ada_mode-recover_exception_1.adb. The solution is to insert
-         --  'end' before the 'end', and let Minimal_Complete finish the block.
-         --
-         --  3. There is an extra 'begin', before the 'begin'. See
-         --  test/ada_mode-recover_block_name_mismatch.adb
-         --
-         --  There is no reliable way to distinguish between the three cases, 
so we
-         --  enqueue all solutions.
-         --
-         --  If there is more than one missing 'end', a later recover operation
-         --  will fix the others.
-
-         --  This case can handle Config.Error_Token.Virtual = True, and it
-         --  doesn't use Tree.
-
-         --  Case 1
-         declare
-            New_Config : Configuration := Config;
-         begin
-            New_Config.Error_Token.ID := Invalid_Token_ID;
-            New_Config.Check_Status   := (Label => Ok);
-
-            New_Config.Strategy_Counts (Language_Fix) := 
New_Config.Strategy_Counts (Language_Fix) + 1;
-
-            --  Push_Back the failed reduce tokens.
-            for I in 1 .. New_Config.Check_Token_Count loop
-               if Push_Back_Valid (New_Config) then
-                  Push_Back (New_Config);
-               else
-                  raise Bad_Config;
-               end if;
-            end loop;
-
-            Insert (New_Config, +END_ID);
-            --  Let Minimal_Complete_Actions handle (insert ';').
-
-            Local_Config_Heap.Add (New_Config);
-
-            if Trace_McKenzie > Detail then
-               Put ("Language_Fixes Extra_Name_Error 1 " & Image 
(Config.Error_Token.ID, Descriptor), New_Config);
-            end if;
-
-         exception
-         when Bad_Config =>
-            null;
-         end;
-
-         --  Case 2
-         declare
-            New_Config : Configuration := Config;
-         begin
-            New_Config.Error_Token.ID := Invalid_Token_ID;
-            New_Config.Check_Status   := (Label => Ok);
-
-            New_Config.Strategy_Counts (Language_Fix) := 
New_Config.Strategy_Counts (Language_Fix) + 1;
-
-            case Ada_Process_Actions.Token_Enum_ID'(-Config.Error_Token.ID) is
-            when block_statement_ID =>
-               --  There is almost always an open block of some sort; not worth
-               --  checking.
-               Push_Back_Check (New_Config, (+SEMICOLON_ID, 
+identifier_opt_ID, +END_ID));
-
-            when loop_statement_ID =>
-               Push_Back_Check
-                 (New_Config, (+SEMICOLON_ID, +identifier_opt_ID, +LOOP_ID, 
+END_ID));
-
-            when others =>
-               if Trace_McKenzie > Outline then
-                  Put ("Language_Fixes Extra_Name_Error 2: unrecognized 
Error_Token", Config);
-               end if;
-               raise Bad_Config;
-            end case;
-
-            --  Let Minimal_Complete_Actions finish insert
-            Insert (New_Config, +END_ID);
-
-            Local_Config_Heap.Add (New_Config);
-
-            if Trace_McKenzie > Detail then
-               Put ("Language_Fixes Extra_Name_Error 2 " & Image 
(Config.Error_Token.ID, Descriptor), New_Config);
-            end if;
-         exception
-         when Bad_Config =>
-            null;
-         end;
-
-         --  Case 3. Delete the extra begin
-         --
-         --  If the first begin was inserted by recovery; we actually want to
-         --  delete the second begin. see test/ada_mode-recover_indent_4.adb
-         declare
-            New_Config     : Configuration := Config;
-            I              : SAL.Peek_Type := 1;
-            First_Begin_I  : SAL.Peek_Type;
-            Second_Begin_I : SAL.Peek_Type;
-         begin
-            loop
-               if New_Config.Stack.Peek (I).Token.ID = +BEGIN_ID then
-                  Second_Begin_I := I;
-                  exit;
-               end if;
-               I := I + 1;
-               if I >= New_Config.Stack.Depth then
-                  raise Bad_Config;
-               end if;
-            end loop;
-
-            loop
-               I := I + 1;
-               if I >= New_Config.Stack.Depth then
-                  raise Bad_Config;
-               end if;
-               if New_Config.Stack.Peek (I).Token.ID = +BEGIN_ID then
-                  First_Begin_I := I;
-                  exit;
-               end if;
-            end loop;
-
-            if New_Config.Stack.Peek (First_Begin_I).Token.Virtual then
-               if New_Config.Stack.Peek (Second_Begin_I).Token.Virtual then
-                  --  nothing we can do.
-                  return;
-               end if;
-
-               --  Delete the second begin
-               for I in 1 .. Second_Begin_I loop
-                  if Push_Back_Valid (New_Config) then
-                     Push_Back (New_Config);
-                  else
-                     raise Bad_Config;
-                  end if;
-               end loop;
-               pragma Assert (New_Config.Stack.Peek.Token.ID = 
+block_label_opt_ID);
-
-               if New_Config.Stack.Peek.Token.Byte_Region = Null_Buffer_Region 
then
-                  --  block label is empty
-                  Push_Back (New_Config);
-                  Delete_Check (Terminals, New_Config, +BEGIN_ID);
-               else
-                  Push_Back (New_Config);
-
-                  declare
-                     Index : WisiToken.Token_Index := 
New_Config.Current_Shared_Token;
-                  begin
-                     Delete_Check (Terminals, New_Config, Index, 
+IDENTIFIER_ID);
-                     Delete_Check (Terminals, New_Config, Index, +COLON_ID);
-                     Delete_Check (Terminals, New_Config, Index, +BEGIN_ID);
-                  end;
-               end if;
-
-               if Undo_Reduce_Valid (New_Config.Stack, Tree) then
-                  Undo_Reduce_Check (New_Config, Tree, 
+sequence_of_statements_ID);
-               else
-                  Push_Back_Check (New_Config, +sequence_of_statements_ID);
-               end if;
-               Local_Config_Heap.Add (New_Config);
-
-               if Trace_McKenzie > Detail then
-                  Put ("Language_Fixes Extra_Name_Error 3a " &
-                         Image (Config.Error_Token.ID, Descriptor), 
New_Config);
-               end if;
-            else
-               --  Delete the first begin. We assume it is in a subprogram 
body, so
-               --  we don't need to adjust anything else.
-               for I in 1 .. First_Begin_I loop
-                  if Push_Back_Valid (New_Config) then
-                     Push_Back (New_Config);
-                  else
-                     --  Probably trying to push back thru an earlier error 
recovery; see
-                     --  test/ada_mode-recover_10.adb
-                     raise Bad_Config;
-                  end if;
-               end loop;
-
-               Delete_Check (Terminals, New_Config, +BEGIN_ID);
-               Local_Config_Heap.Add (New_Config);
-
-               if Trace_McKenzie > Detail then
-                  Put ("Language_Fixes Extra_Name_Error 3b " &
-                         Image (Config.Error_Token.ID, Descriptor), 
New_Config);
-               end if;
-            end if;
-         exception
-         when Bad_Config =>
-            null;
-
-         end;
-      end case;
-   exception
-   when Bad_Config =>
-      null;
-
-   when E : System.Assertions.Assert_Failure =>
-      if Debug_Mode then
-         Trace.Put
-           ("Language_Fixes Handle_Check_Fail assert fail: " &
-              Standard.Ada.Exceptions.Exception_Message (E),
-            Prefix => True);
-         Trace.New_Line;
-         raise;
-      elsif Trace_McKenzie > Outline then
-         Trace.Put_Line ("Language_Fixes Handle_Check_Fail Assert fail");
-      end if;
-   end Handle_Check_Fail;
-
-   procedure Handle_Parse_Error
-     (Trace             : in out WisiToken.Trace'Class;
-      Lexer             : access constant WisiToken.Lexer.Instance'Class;
-      Parser_Label      : in     Natural;
-      Parse_Table       : in     WisiToken.Parse.LR.Parse_Table;
-      Terminals         : in     Base_Token_Arrays.Vector;
-      Tree              : in     Syntax_Trees.Tree;
-      Local_Config_Heap : in out Config_Heaps.Heap_Type;
-      Config            : in     Configuration)
-   with Pre => Config.Check_Status.Label = Ok
-   is
-      use Config_Op_Arrays;
-
-      procedure Put (Message : in String; Config : in Configuration)
-      is begin
-         Put (Message, Trace, Parser_Label, Terminals, Config);
-      end Put;
-   begin
-      if (Config.Error_Token.ID = +COLON_ID and
-            Config.Stack.Peek.Token.ID = +IDENTIFIER_ID) and then
-        Push_Back_Valid (Config)
-      then
-         --  Code looks like:
-         --
-         --  ... <variable_identifier> : [aliased constant] 
<subtype_indication> := <expression> ...
-         --
-         --  Assume the user copied a declaration with an initializer, and is
-         --  converting it to an expression; see ada_mode-recover_02.adb,
-         --  test/ada_mode-recover_constant_as_expression_1.adb. Delete
-         --  '<variable_identifier> : [aliased constant] <subtype_indication>
-         --  :='.
-         --
-         --  We cannot reliably search ahead in the unparsed tokens for ':=";
-         --  <subtype_indication> can include a constraint with an arbitrarily
-         --  complex expression. So we only handle the common case where the
-         --  <subtype_indication> is a simple identifier or selected_component.
-         --
-         --  Note that if the user was converting to an assignment, there would
-         --  not be a partial statement in progress before the <variable
-         --  identifier>, and the error would be on 'constant', not ':'.
-         --
-         --  compare to "decl as statement"/"missing end"/"extra begin" case 
below.
-
-         declare
-            New_Config : Configuration         := Config;
-            I          : WisiToken.Token_Index;
-         begin
-            Push_Back_Check (New_Config, +IDENTIFIER_ID);
-
-            I := New_Config.Current_Shared_Token;
-            Delete_Check (Terminals, New_Config, I, +IDENTIFIER_ID);
-            Delete_Check (Terminals, New_Config, I, +COLON_ID);
-            if Terminals (I).ID = +ALIASED_ID then
-               Delete_Check (Terminals, New_Config, I, +ALIASED_ID);
-            end if;
-            if Terminals (I).ID = +CONSTANT_ID then
-               Delete_Check (Terminals, New_Config, I, +CONSTANT_ID);
-            end if;
-            if Terminals (I).ID = +NOT_ID then
-               Delete_Check (Terminals, New_Config, I, +NOT_ID);
-            end if;
-            if Terminals (I).ID = +NULL_ID then
-               Delete_Check (Terminals, New_Config, I, +NULL_ID);
-            end if;
-
-            --  look for ':='
-            loop
-               exit when I = Terminals.Last_Index; --  last is EOI
-               case To_Token_Enum (Terminals (I).ID) is
-               when IDENTIFIER_ID =>
-                  Delete_Check (Terminals, New_Config, I, +IDENTIFIER_ID);
-
-               when DOT_ID =>
-                  Delete_Check (Terminals, New_Config, I, +DOT_ID);
-
-               when COLON_EQUAL_ID =>
-                  Delete_Check (Terminals, New_Config, I, +COLON_EQUAL_ID);
-                  exit;
-
-               when others =>
-                  raise Bad_Config;
-
-               end case;
-            end loop;
-
-            New_Config.Cost := New_Config.Cost + 1;
-            New_Config.Strategy_Counts (Language_Fix) := 
New_Config.Strategy_Counts (Language_Fix) + 1;
-            Local_Config_Heap.Add (New_Config);
-            if Trace_McKenzie > Detail then
-               Put ("Language_Fixes variable decl as expression", New_Config);
-            end if;
-         exception
-         when Bad_Config =>
-            null;
-         end;
-
-      elsif (To_Token_Enum (Config.Error_Token.ID) in ALIASED_ID | CONSTANT_ID 
| IDENTIFIER_ID and
-               Config.Stack.Peek.Token.ID = +COLON_ID) and then
-        Push_Back_Valid (Config)
-      then
-         --  Code looks like:
-         --
-         --  <statement> <variable_identifier> : [aliased constant] 
<subtype_indication> <expression> ...
-         --
-         --  The variable_name looks like a block_label. compare to "variable 
decl as
-         --  param" case above.
-         --
-         --  1) This is a copied variable declaration that the user is 
converting
-         --  to an assignment. See
-         --  test/ada_mode-recover_constant_as_statement_1.adb. Delete
-         --  ': [aliased constant] <subtype_indication>'
-         --
-         --  We cannot reliably search ahead in the unparsed tokens for ':=";
-         --  <subtype_indication> can include a constraint with an arbitrarily
-         --  complex expression. So we only handle the common case where the
-         --  <subtype_indication> is a simple identifier or selected_component.
-         --
-         --  2) There is a missing 'end;' before <variable_name>. See
-         --  test/ada_mode-recover_25.adb. Push_Back + Minimal_Complete also
-         --  handles this case, but we enqueue the same solution here at lower
-         --  cost, so it can compete with the solution for cases 1 and 3.
-         --
-         --  3) There is an extra 'begin' before the <variable_name>. See
-         --  test/ada_mode-recover_27.adb. Delete the 'begin'.
-
-         --  case 1
-         declare
-            New_Config : Configuration := Config;
-            I          : WisiToken.Token_Index;
-         begin
-            Push_Back_Check (New_Config, +COLON_ID);
-            I := New_Config.Current_Shared_Token;
-            Delete_Check (Terminals, New_Config, I, +COLON_ID);
-            if Terminals (I).ID = +ALIASED_ID then
-               Delete_Check (Terminals, New_Config, I, +ALIASED_ID);
-            end if;
-            if Terminals (I).ID = +CONSTANT_ID then
-               Delete_Check (Terminals, New_Config, I, +CONSTANT_ID);
-            end if;
-            if Terminals (I).ID = +NOT_ID then
-               Delete_Check (Terminals, New_Config, I, +NOT_ID);
-            end if;
-            if Terminals (I).ID = +NULL_ID then
-               Delete_Check (Terminals, New_Config, I, +NULL_ID);
-            end if;
-
-            --  look for and keep ':='
-            loop
-               exit when I = Terminals.Last_Index; --  last is EOI
-               case To_Token_Enum (Terminals (I).ID) is
-               when IDENTIFIER_ID =>
-                  Delete_Check (Terminals, New_Config, I, +IDENTIFIER_ID);
-
-               when DOT_ID =>
-                  Delete_Check (Terminals, New_Config, I, +DOT_ID);
-
-               when COLON_EQUAL_ID =>
-                  exit;
-
-               when others =>
-                  raise Bad_Config;
-
-               end case;
-            end loop;
-
-            New_Config.Cost := New_Config.Cost + 1;
-            New_Config.Strategy_Counts (Language_Fix) := 
New_Config.Strategy_Counts (Language_Fix) + 1;
-            Local_Config_Heap.Add (New_Config);
-            if Trace_McKenzie > Detail then
-               Put ("Language_Fixes variable decl as statement", New_Config);
-            end if;
-         exception
-         when Bad_Config =>
-            null;
-         end;
-
-         declare
-            New_Config_1 : Configuration := Config;
-         begin
-            --  Case 2
-            Push_Back_Check (New_Config_1, (+COLON_ID, +IDENTIFIER_ID));
-
-            --  maybe case 3.
-            if -New_Config_1.Stack.Peek.Token.ID = BEGIN_ID and 
Push_Back_Valid (New_Config_1) then
-               declare
-                  New_Config_2 : Configuration := New_Config_1;
-               begin
-                  Push_Back_Check (New_Config_2, +BEGIN_ID);
-                  if Undo_Reduce_Valid (New_Config_2.Stack, Tree) and then
-                    -New_Config_2.Stack.Peek.Token.ID in 
declarative_part_opt_ID | block_label_opt_ID
-                  then
-                     Undo_Reduce_Check (New_Config_2, Tree, 
New_Config_2.Stack.Peek.Token.ID);
-                  else
-                     if Trace_McKenzie > Detail then
-                        Put ("Language_Fixes extra begin 1 unimplemented 
case", New_Config_2);
-                     end if;
-                     raise Bad_Config;
-                  end if;
-                  Delete_Check (Terminals, New_Config_2, +BEGIN_ID);
-
-                  --  This is a guess, so add a cost, equal to case 1, 2.
-                  New_Config_2.Cost := New_Config_2.Cost + 1;
-                  New_Config_2.Strategy_Counts (Language_Fix) := 
New_Config_2.Strategy_Counts (Language_Fix) + 1;
-                  Local_Config_Heap.Add (New_Config_2);
-
-                  if Trace_McKenzie > Detail then
-                     Put ("Language_Fixes extra begin 1", New_Config_2);
-                  end if;
-               exception
-               when Bad_Config =>
-                  null;
-               end;
-            end if;
-
-            Insert (New_Config_1, +END_ID);
-
-            Insert (New_Config_1, +SEMICOLON_ID);
-            --  If we don't insert the ';' here, <variable_name> looks like a
-            --  block end name.
-
-            --  This is a guess, so add a cost, equal to case 1.
-            New_Config_1.Cost := New_Config_1.Cost + 1;
-            New_Config_1.Strategy_Counts (Language_Fix) := 
New_Config_1.Strategy_Counts (Language_Fix) + 1;
-            Local_Config_Heap.Add (New_Config_1);
-
-            if Trace_McKenzie > Detail then
-               Put ("Language_Fixes missing end 1", New_Config_1);
-            end if;
-         end;
-
-      elsif Config.Error_Token.ID = +DOT_ID then
-         --  We've encountered a Selected_Component when we were expecting a
-         --  simple IDENTIFIER or a name. If the name is preceded by 'end', 
then
-         --  this similar to a semantic check Extra_Name_Error, and the
-         --  solutions are similar.
-
-         if Config.Stack.Peek.Token.ID = +IDENTIFIER_ID and
-           Config.Stack.Peek (2).Token.ID = +END_ID
-         then
-            --  The input looks like one of:
-            --
-            --  1) "<begin_name_token_1> ... <begin_name_token_2> ... begin 
... begin ... end <end_name_token_1> ;"
-            --
-            --  2) "<begin_name_token_1> ... begin ... declare ... begin ... 
end <end_name_token_1> ;"
-            --
-            --  Case 1) is missing 'end <end_name_token_2> ;' between the
-            --  'begin's, so parsing expects <end_name_token_1> to match the
-            --  second 'begin', which looks like an unnamed block. See
-            --  test_mckenzie_recover Match_Selected_Component_1. 'declare ...'
-            --  is _not_ present on the second begin. The solution is to
-            --  insert 'end ;' before the second 'begin'.
-            --
-            --  Case 2) is missing 'end;' after the second 'begin'. See
-            --  test_mckenzie_recover Match_Selected_Component_2. 'declare ...'
-            --  may be absent on the second begin, or a name may be present. 
The
-            --  solution is to insert 'end;' after the second 'begin' (ie 
before
-            --  the last 'end').
-            --
-            --  Minimal_Complete_Actions does not handle this case well.
-            --
-            --  Note that it's _not_ possible the user is just editing names; 
that
-            --  would generate a semantic check fail, not a parse table error,
-            --  since a "." would be permitted.
-
-            declare
-               Label        : constant String := "selected_component 1";
-               New_Config_1 : Configuration   := Config;
-            begin
-               New_Config_1.Error_Token.ID := Invalid_Token_ID;
-
-               New_Config_1.Strategy_Counts (Language_Fix) := 
New_Config_1.Strategy_Counts (Language_Fix) + 1;
-
-               Push_Back_Check (New_Config_1, (+IDENTIFIER_ID, +END_ID));
-
-               case To_Token_Enum (New_Config_1.Stack.Peek (3).Token.ID) is
-               when block_label_opt_ID =>
-                  --  no 'declare'; either case 1 or 2, so enqueue both
-
-                  declare
-                     New_Config_2 : Configuration := New_Config_1;
-                  begin
-                     case To_Token_Enum (New_Config_2.Stack.Peek.Token.ID) is
-                     when handled_sequence_of_statements_ID =>
-                        Push_Back_Check
-                          (New_Config_2,
-                           (+handled_sequence_of_statements_ID, +BEGIN_ID, 
+block_label_opt_ID));
-
-                     when sequence_of_statements_ID =>
-                        --  see test/ada_mode-recover_partial_24.adb
-                        Push_Back_Check
-                          (New_Config_2,
-                           (+sequence_of_statements_ID, +BEGIN_ID, 
+block_label_opt_ID));
-
-                     when others =>
-                        if Trace_McKenzie > Outline then
-                           Put ("Language_Fixes " & Label & " missing case 1 " 
& Image
-                                  (New_Config_2.Stack.Peek.Token.ID, 
Descriptor), Config);
-                        end if;
-                        raise Bad_Config;
-                     end case;
-
-                     Insert (New_Config_2, +END_ID);
-                     --  for case 1; let Minimal_Complete_Actions finish 
insert.
-
-                     Local_Config_Heap.Add (New_Config_2);
-                     if Length (New_Config_2.Ops) > 0 then
-                        Put ("Language_Fixes " & Label, New_Config_2);
-                     end if;
-                  exception
-                  when Bad_Config =>
-                     --  We don't check Debug_Mode here, because the failure 
is probably
-                     --  due to pushing back a virtual token, which is not a 
programming
-                     --  error.
-                     null;
-                  end;
-
-                  Insert (New_Config_1, +END_ID);
-                  --  for case 2; let Minimal_Complete_Actions finish insert.
-
-                  Local_Config_Heap.Add (New_Config_1);
-
-               when declarative_part_opt_ID =>
-                  --  'declare' is present; case 2
-                  Insert (New_Config_1, +END_ID);
-                  Local_Config_Heap.Add (New_Config_1);
-
-               when others =>
-                  if Trace_McKenzie > Outline then
-                     Put ("Language_Fixes " & Label & " missing case 2 " & 
Image
-                            (New_Config_1.Stack.Peek (3).Token.ID, 
Descriptor), Config);
-                     Trace.Put_Line ("... new_config stack: " & Image 
(New_Config_1.Stack, Descriptor));
-                  end if;
-                  raise Bad_Config;
-               end case;
-
-               if Trace_McKenzie > Detail then
-                  Put ("Language_Fixes " & Label, New_Config_1);
-
-               end if;
-            exception
-            when Bad_Config =>
-               null;
-            end;
-         end if;
-
-      elsif Config.Error_Token.ID = +IDENTIFIER_ID and
-        Config.Stack.Peek.Token.ID = +END_ID
-      then
-         --  We've encountered an identifier after 'end' when expecting a
-         --  keyword. See test/ada_mode-recover_26.adb, 
test/ada_mode-recover_20.adb.
-         --
-         --  If a matching 'begin name' is found on the stack, the input looks 
like:
-         --
-         --  1) "<begin_name_token> ... begin ... <compound_statement_begin> 
... end <end_name_token> ;"
-         --
-         --  There is a missing 'end <compound_statement_id> ;' before the
-         --  'end'. We can get the ID to insert from Parse_Table
-         --  Minimal_Complete_Actions.
-         --
-         --  When searching for the matching name, we must allow name to be a
-         --  selected_component; see test/ada_mode-recover_20.adb.
-         --
-         --  Minimal_Complete_Actions can handle this case, but it inserts
-         --  '<compound_statement_id> ; end' instead. We want to insert 'end
-         --  <id> ;' before the existing 'end', so Insert_After places the
-         --  tokens better; see test/ada_mode-recover_20.adb.
-         declare
-            function Get_End_Name return String
-            is
-               use Standard.Ada.Strings.Unbounded;
-               Result : Unbounded_String := +Lexer.Buffer_Text 
(Config.Error_Token.Byte_Region);
-               I : WisiToken.Token_Index := 
Config.Error_Token.Min_Terminal_Index + 1;
-            begin
-               loop
-                  exit when I > Terminals.Last_Index;
-                  exit when -Terminals (I).ID not in IDENTIFIER_ID | DOT_ID;
-                  Result := Result & Lexer.Buffer_Text (Terminals 
(I).Byte_Region);
-                  I := I + 1;
-               end loop;
-               return -Result;
-            end Get_End_Name;
-
-            End_ID_Actions : constant Minimal_Action_Arrays.Vector := 
Parse_Table.States
-              (Config.Stack.Peek.State).Minimal_Complete_Actions;
-            End_Name       : constant String := Get_End_Name;
-
-            Matching_Name_Index : SAL.Peek_Type := 2; -- start search before 
'end'
-         begin
-            Find_Matching_Name (Config, Lexer, End_Name, Matching_Name_Index, 
Case_Insensitive => True);
-
-            if Matching_Name_Index < Config.Stack.Depth and then
-              End_ID_Actions.Length = 1 and then
-              End_ID_Actions (End_ID_Actions.First_Index).Verb = Shift
-            then
-               declare
-                  Label      : constant String := "missing end keyword";
-                  New_Config : Configuration   := Config;
-               begin
-                  New_Config.Error_Token.ID := Invalid_Token_ID;
-
-                  New_Config.Strategy_Counts (Language_Fix) := 
New_Config.Strategy_Counts (Language_Fix) + 1;
-
-                  Push_Back_Check (New_Config, +END_ID);
-
-                  --  Inserting the end keyword and semicolon here avoids the 
costs added by
-                  --  Insert_Minimal_Complete_Actions.
-                  Insert (New_Config, (+END_ID, End_ID_Actions 
(End_ID_Actions.First_Index).ID, +SEMICOLON_ID));
-
-                  Local_Config_Heap.Add (New_Config);
-                  if Trace_McKenzie > Detail then
-                     Put ("Language_Fixes " & Label, New_Config);
-                  end if;
-               exception
-               when Bad_Config =>
-                  null;
-               end;
-            end if;
-         end;
-
-      elsif To_Token_Enum (Config.Error_Token.ID) in PRAGMA_ID | USE_ID and
-        Config.Stack.Peek.Token.ID = +BEGIN_ID
-      then
-         --  Code looks like:
-         --
-         --  a) <subprogram|package start> is ... begin use <name>;
-         --  b) <subprogram|package start> is ... begin pragma ...
-         --
-         --  There is an extra 'begin' before 'use' or 'pragma'. See
-         --  test/ada_mode-recover_14.adb. Delete the 'begin'.
-
-         if Push_Back_Valid (Config) then
-            declare
-               New_Config : Configuration := Config;
-            begin
-               New_Config.Strategy_Counts (Language_Fix) := 
New_Config.Strategy_Counts (Language_Fix) + 1;
-
-               Push_Back_Check (New_Config, +BEGIN_ID);
-
-               if Undo_Reduce_Valid (New_Config.Stack, Tree) and then
-                 -New_Config.Stack.Peek.Token.ID in declarative_part_opt_ID | 
block_label_opt_ID
-               then
-                  Undo_Reduce_Check (New_Config, Tree, 
New_Config.Stack.Peek.Token.ID);
-               else
-                  if Trace_McKenzie > Detail then
-                     Put ("Language_Fixes extra begin 2 unimplemented case", 
New_Config);
-                  end if;
-                  raise Bad_Config;
-               end if;
-               Delete_Check (Terminals, New_Config, +BEGIN_ID);
-
-               Local_Config_Heap.Add (New_Config);
-
-               if Trace_McKenzie > Detail then
-                  Put ("Language_Fixes extra begin 2", New_Config);
-               end if;
-            end;
-         end if;
-
-      elsif Config.Error_Token.ID = +OR_ID and then
-        Config.Stack.Peek.Token.ID = +expression_opt_ID
-      then
-         --  Code looks like:
-         --
-         --  expr1 and expr2 or expr3
-         --
-         --  where 'expr1 and expr2' is in the expression on the stack. Missing
-         --  left paren before expr1. See test/ada_mode-recover_20.adb.
-         --
-         --  We could check for the presence of 'and' in expression_opt, but
-         --  that requires a syntax tree. If the left paren doesn't help, this
-         --  config will be dropped.
-
-         declare
-            New_Config : Configuration := Config;
-         begin
-            New_Config.Strategy_Counts (Language_Fix) := 
New_Config.Strategy_Counts (Language_Fix) + 1;
-
-            if Push_Back_Valid (New_Config) then
-               Push_Back_Check (New_Config, +expression_opt_ID);
-            else
-               raise Bad_Config;
-            end if;
-
-            Insert (New_Config, +LEFT_PAREN_ID);
-            --  Minimal_Complete will add the matching right paren.
-
-            Local_Config_Heap.Add (New_Config);
-            if Trace_McKenzie > Detail then
-               Put ("Language_Fixes and/or", New_Config);
-            end if;
-         end;
-
-      elsif Config.Error_Token.ID = +TICK_1_ID and Config.Error_Token.Virtual 
= False then
-         --  Editing "Put ('|');" => "Put ('|-');"; need to change ' to ".
-         --
-         --  We can get here with Virtual = False if this Error_Token comes
-         --  from McKenzie_Recover.Parse.Parse rather than the main parser.
-
-         declare
-            New_Config : Configuration := Config;
-         begin
-            New_Config.Strategy_Counts (Language_Fix) := 
New_Config.Strategy_Counts (Language_Fix) + 1;
-
-            declare
-               Index      : WisiToken.Token_Index               := 
New_Config.Current_Shared_Token;
-               Start_Line : constant WisiToken.Line_Number_Type := Terminals
-                 (Config.Error_Token.Min_Terminal_Index).Line;
-            begin
-               Delete_Check (Terminals, New_Config, Index, +TICK_1_ID); -- 
increments index
-               loop
-                  if Index > Terminals.Last_Index then
-                     raise Bad_Config;
-                  end if;
-                  if Terminals (Index).Line /= Start_Line then
-                     raise Bad_Config;
-                  end if;
-                  exit when Terminals (Index).ID = +TICK_1_ID;
-                  Delete (Terminals, New_Config, Index); -- increments index
-               end loop;
-               Delete_Check (Terminals, New_Config, Index, +TICK_1_ID);
-               Insert (New_Config, Index, +STRING_LITERAL_ID);
-            end;
-            Local_Config_Heap.Add (New_Config);
-            if Trace_McKenzie > Detail then
-               Put ("Language_Fixes char_literal to string", New_Config);
-            end if;
-         end;
-      end if;
-   exception
-   when Bad_Config =>
-      null;
-
-   when E : System.Assertions.Assert_Failure =>
-      if Debug_Mode then
-         Trace.Put
-           ("Language_Fixes Handle_Parse_Error assert fail: " &
-              Standard.Ada.Exceptions.Exception_Message (E),
-            Prefix => True);
-         Trace.New_Line;
-         raise;
-      elsif Trace_McKenzie > Outline then
-         Trace.Put_Line ("Language_Fixes Handle_Parse_Error assert fail");
-      end if;
-   end Handle_Parse_Error;
-
-   ----------
-   --  Public subprograms
-
-   procedure Language_Fixes
-     (Trace             : in out WisiToken.Trace'Class;
-      Lexer             : access constant WisiToken.Lexer.Instance'Class;
-      Parser_Label      : in     Natural;
-      Parse_Table       : in     WisiToken.Parse.LR.Parse_Table;
-      Terminals         : in     Base_Token_Arrays.Vector;
-      Tree              : in     Syntax_Trees.Tree;
-      Local_Config_Heap : in out Config_Heaps.Heap_Type;
-      Config            : in     Configuration)
-   is begin
-      if Trace_McKenzie > Extra then
-         Put ("Language_Fixes", Trace, Parser_Label, Terminals, Config);
-         Put_Line (Trace, Parser_Label, "config stack: " & Image 
(Config.Stack, Descriptor));
-      end if;
-
-      case Config.Check_Status.Label is
-      when Ok =>
-         Handle_Parse_Error (Trace, Lexer, Parser_Label, Parse_Table, 
Terminals, Tree, Local_Config_Heap, Config);
-
-      when others =>
-         Handle_Check_Fail (Trace, Lexer, Parser_Label, Parse_Table, 
Terminals, Tree, Local_Config_Heap, Config);
-      end case;
-   end Language_Fixes;
-
-   procedure Matching_Begin_Tokens
-     (Tokens                  : in     Token_ID_Array_1_3;
-      Config                  : in     Configuration;
-      Matching_Tokens         :    out Token_ID_Arrays.Vector;
-      Forbid_Minimal_Complete :    out Boolean)
-   is
-      use Ada_Process_Actions;
-      use Token_ID_Arrays;
-
-      function Matching_Begin_For_End (Next_Index : in Positive) return 
Token_ID_Arrays.Vector
-      is begin
-         return Result : Token_ID_Arrays.Vector do
-            if Tokens (Next_Index) = Invalid_Token_ID then
-               --  Better to delete 'end'
-               Result := Empty_Vector;
-            else
-               case To_Token_Enum (Tokens (Next_Index)) is
-               when CASE_ID | IF_ID | LOOP_ID | RETURN_ID | SELECT_ID =>
-                  Result := To_Vector (Tokens (Next_Index));
-
-               when IDENTIFIER_ID =>
-                  if Tokens (Next_Index + 1) /= Invalid_Token_ID and then
-                    To_Token_Enum (Tokens (Next_Index + 1)) = DOT_ID
-                  then
-                     Result := To_Vector ((+PACKAGE_ID, +BODY_ID, 
+IDENTIFIER_ID, +IS_ID)); --  package body
-                  else
-                     Result := To_Vector ((+IDENTIFIER_ID, +COLON_ID, 
+BEGIN_ID)); -- named block begin
-                  end if;
-
-               when SEMICOLON_ID =>
-                  Result := To_Vector (+BEGIN_ID);
-
-               when others =>
-                  null;
-               end case;
-            end if;
-         end return;
-      end Matching_Begin_For_End;
-
-   begin
-      case To_Token_Enum (Tokens (1)) is
-      when END_ID =>
-         Matching_Tokens := Matching_Begin_For_End (2);
-
-      when ELSE_ID | ELSIF_ID | THEN_ID =>
-         Matching_Tokens := To_Vector (+IF_ID);
-
-      when EXCEPTION_ID =>
-         Matching_Tokens := To_Vector (+BEGIN_ID);
-
-         --  We don't return LEFT_PAREN for RIGHT_PAREN; better to delete it.
-
-      when WHEN_ID =>
-         Matching_Tokens := To_Vector ((+CASE_ID, +IDENTIFIER_ID, +IS_ID));
-
-      when others =>
-         null;
-      end case;
-
-      if Config.Stack.Peek.Token.ID = +END_ID and
-        ((Tokens (1) = +IDENTIFIER_ID and
-            (Tokens (2) /= Invalid_Token_ID and then
-               -Tokens (2) in DOT_ID | SEMICOLON_ID)) or
-           End_Keyword_IDs (Tokens (1)))
-      then
-         Forbid_Minimal_Complete := True;
-      else
-         Forbid_Minimal_Complete := False;
-      end if;
-   end Matching_Begin_Tokens;
-
-   function String_ID_Set
-     (Descriptor        : in WisiToken.Descriptor;
-      String_Literal_ID : in Token_ID)
-     return Token_ID_Set
-   is
-      use Ada_Process_Actions;
-   begin
-      --  Character literal can be part of a string primary, so the nonterms
-      --  are independent of String_Literal_ID.
-
-      return Result : Token_ID_Set (Descriptor.First_Terminal .. 
Descriptor.Last_Nonterminal) := (others => False) do
-
-         Result (String_Literal_ID)     := True;
-         Result (+name_ID)              := True;
-         Result (+primary_ID)           := True;
-         Result (+factor_ID)            := True;
-         Result (+term_ID)              := True;
-         Result (+term_list_ID)         := True;
-         Result (+simple_expression_ID) := True;
-         Result (+relation_ID)          := True;
-         Result (+expression_ID)        := True;
-      end return;
-   end String_ID_Set;
-
-end WisiToken.Parse.LR.McKenzie_Recover.Ada;
---  Local Variables:
---  ada-case-strict: nil
---  End:
diff --git a/packages/ada-mode/wisitoken-parse-lr-mckenzie_recover-ada.ads 
b/packages/ada-mode/wisitoken-parse-lr-mckenzie_recover-ada.ads
deleted file mode 100644
index a6df020..0000000
--- a/packages/ada-mode/wisitoken-parse-lr-mckenzie_recover-ada.ads
+++ /dev/null
@@ -1,48 +0,0 @@
---  Abstract :
---
---  Ada language specific algorithms for McKenzie_Recover
---
---  Copyright (C) 2018, 2019 Free Software Foundation, Inc.
---
---  This library 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 library is distributed in the hope that it will be useful,
---  but WITHOUT ANY WARRANTY;  without even the implied warranty of MERCHAN-
---  TABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
---  As a special exception under Section 7 of GPL version 3, you are granted
---  additional permissions described in the GCC Runtime Library Exception,
---  version 3.1, as published by the Free Software Foundation.
-
-pragma License (Modified_GPL);
-
-package WisiToken.Parse.LR.McKenzie_Recover.Ada is
-
-   procedure Language_Fixes
-     (Trace             : in out WisiToken.Trace'Class;
-      Lexer             : access constant WisiToken.Lexer.Instance'Class;
-      Parser_Label      : in     Natural;
-      Parse_Table       : in     WisiToken.Parse.LR.Parse_Table;
-      Terminals         : in     Base_Token_Arrays.Vector;
-      Tree              : in     Syntax_Trees.Tree;
-      Local_Config_Heap : in out Config_Heaps.Heap_Type;
-      Config            : in     Configuration);
-   --  See wisitoken-parse-lr-parser.ads Language_Fixes_Access for description.
-
-   procedure Matching_Begin_Tokens
-     (Tokens                  : in     Token_ID_Array_1_3;
-      Config                  : in     Configuration;
-      Matching_Tokens         :    out Token_ID_Arrays.Vector;
-      Forbid_Minimal_Complete :    out Boolean);
-   --  See wisitoken-parse-lr-parser.ads Language_Matching_Begin_Tokens_Access
-   --  for description.
-
-   function String_ID_Set
-     (Descriptor        : in WisiToken.Descriptor;
-      String_Literal_ID : in Token_ID)
-     return Token_ID_Set;
-   --  See wisitoken-parse-lr-parser.ads Language_String_ID_Set_Access for
-   --  description.
-
-end WisiToken.Parse.LR.McKenzie_Recover.Ada;



reply via email to

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