ada-mode-users
[Top][All Lists]
Advanced

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

Re: [Ada-mode-users] Grammar issue for gpr package Naming


From: Stephen Leake
Subject: Re: [Ada-mode-users] Grammar issue for gpr package Naming
Date: Tue, 14 May 2019 17:26:15 -0800
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (windows-nt)

Simon Wright <address@hidden> writes:

> I have this project file:
>
> <snip>
>
> and 6.1.0 from elpa doesn't like the 'use "grd_data.a" at 1;' syntax 

Ah. That syntax is not described in the gpr_build user guide for GPL 2018,
but it is in the 19.1 version.

> I don't understand how the parsing code gets generated, and I'm having
> real trouble with mtn, or I'd see if I could work something out.

Attached is a patch to fix this (against my development head; I have not
changed gpr-mode, so this should apply cleanly to the elpa package).

The grammar is described in the .wy file; this adds the "AT
NUMERIC_LITERAL" option in 'attribute_declaration'.

It's complicated by needing both elisp and Ada versions of the lexer and
parser.

The rest of the patch is against the generated files, which are in the
ELPA package.

You could try running the generator:

# patch just the .wy file

# if not done yet, build the generator:

$ cd ~/.emacs.d/elpa/wisi-2.1.0

$ ./build-wisitoken-bnf-generate.sh

# run the generator:

$ cd ~/.emacs.d/elpa/ada-mode-6.1.0

$ ~/.emacs.d/elpa/wisi-2.1.0/wisitoken-bnf-generate.exe gpr.wy

That should produce the generated files. Then:

$ ./build.sh

to compile and install everything.

I did _not_ test this process against an actual elpa package install.
For the next release, I'll document this in the user guide, and test it.

-- 
-- Stephe
#
# old_revision [433496d82e919c6640d34f522a54a613d3ba5a6f]
#
# patch "gpr-lalr-elisp.el"
#  from [0e15d6eb118c4f2556cbafdd403044346f616333]
#    to [c14cb9c684f360fc8aab3e308da3ff3cdedadd15]
# 
# patch "gpr-mode.el"
#  from [931fa83c96a5dbc06b5459505e08c3a2ea955924]
#    to [0109b1c814f2e0a1a9ba8d6ddf0b65c0224c178f]
# 
# patch "gpr-process.el"
#  from [f30ffc9770e66479575155ac53ad8ae4be2895f6]
#    to [f87ba2df6381b3c3b3de0bd8220ddd7437410bd3]
# 
# patch "gpr.wy"
#  from [1389e7b69a969f707c429c6014cabf90a51a0858]
#    to [c9bad9731f2395d944b40a91b5f5463f1db36d93]
# 
# patch "gpr_process_actions.adb"
#  from [0b7c70924bfa8968b692a60b593505df4b91455c]
#    to [c231898d7b9c9fdf1d2869ff071bdd23524adef8]
# 
# patch "gpr_process_actions.ads"
#  from [e08d9970c495963589b58f746ce516129febb6e4]
#    to [498585bb6312c83ebdcaf6d493086d36e7e08f7e]
# 
# patch "gpr_process_lr1_main.adb"
#  from [72b6b58a4e0ea0f6329e4375246e8cc669bb2f98]
#    to [d3d82e878fe1618ef1e21d7c6a8b4dd8110aacc5]
# 
# patch "gpr_re2c.c"
#  from [d8590bfb252c53c1197f4fbb9f2dd3518c894901]
#    to [79220e886b24a3860be8d524ef9bb2fc8b33141e]
# 
# patch "test/gpr/simple.gpr"
#  from [aacae7596bdc97ef6be625c89b6799fe751c5219]
#    to [381051bc2e7d8b060d732102c93680e23d763d08]
#
============================================================
--- gpr-lalr-elisp.el   0e15d6eb118c4f2556cbafdd403044346f616333
+++ gpr-lalr-elisp.el   c14cb9c684f360fc8aab3e308da3ff3cdedadd15
@@ -23,6 +23,7 @@
 (defconst gpr-lalr-elisp-keyword-table-raw
   '(
    ("abstract" . ABSTRACT)
+   ("at" . AT)
    ("aggregate" . AGGREGATE)
    ("case" . CASE)
    ("configuration" . CONFIGURATION)
@@ -60,6 +61,9 @@
     (SEMICOLON . ";")
     (VERTICAL_BAR . "|")
     )
+   ("number"
+    (NUMERIC_LITERAL ada-wisi-number-p)
+    )
    ("symbol"
     (IDENTIFIER . "")
     )
@@ -85,6 +89,12 @@
       (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-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])
@@ -245,34 +255,34 @@
       ((default . error) (Wisi_EOI . (project_declaration_opt . 1)))
       ((default . error) (ABSTRACT . (context_clause . 0)) (AGGREGATE . 
(context_clause . 0)) (CONFIGURATION . (context_clause . 0)) (LIBRARY . 
(context_clause . 0)) (PROJECT . (context_clause . 0)) (STANDARD . 
(context_clause . 0)) (WITH . (context_clause . 0)) (Wisi_EOI . (context_clause 
. 0)))
       ((default . error) (PROJECT . (project_qualifier_opt . 4)) (Wisi_EOI . 
(project_qualifier_opt . 4)))
-      ((default . error) (EXTENDS . (identifier_opt . 1)) (IS . 
(identifier_opt . 1)) (RENAMES . (identifier_opt . 1)) (RIGHT_PAREN . 
(identifier_opt . 1)) (AMPERSAND . (identifier_opt . 1)) (COMMA . 
(identifier_opt . 1)) (DOT . (identifier_opt . 1)) (QUOTE . (identifier_opt . 
1)) (SEMICOLON . (identifier_opt . 1)))
+      ((default . error) (AT . (identifier_opt . 1)) (EXTENDS . 
(identifier_opt . 1)) (IS . (identifier_opt . 1)) (RENAMES . (identifier_opt . 
1)) (RIGHT_PAREN . (identifier_opt . 1)) (AMPERSAND . (identifier_opt . 1)) 
(COMMA . (identifier_opt . 1)) (DOT . (identifier_opt . 1)) (QUOTE . 
(identifier_opt . 1)) (SEMICOLON . (identifier_opt . 1)))
       ((default . error) (EXTENDS .  34) (IS .  35))
       ((default . error) (LEFT_PAREN .  36))
       ((default . error) (LEFT_PAREN .  36))
       ((default . error) (EXTERNAL .  17) (EXTERNAL_AS_LIST .  18) (LEFT_PAREN 
.  19) (PROJECT .  20) (RIGHT_PAREN . ( 39 (identifier_opt . 0))) (AMPERSAND . 
(identifier_opt . 0)) (COMMA . (identifier_opt . 0)) (DOT . (identifier_opt . 
0)) (QUOTE . (identifier_opt . 0)) (IDENTIFIER .  15) (STRING_LITERAL .  21))
       ((default . error) (QUOTE . (attribute_prefix . 0)))
-      ((default . error) (RIGHT_PAREN . (string_primary . 0)) (AMPERSAND . 
(string_primary . 0)) (COMMA . (string_primary . 0)) (SEMICOLON . 
(string_primary . 0)))
-      ((default . error) (RIGHT_PAREN . (term . 2)) (AMPERSAND . (term . 2)) 
(COMMA . (term . 2)) (SEMICOLON . (term . 2)))
+      ((default . error) (AT . (string_primary . 0)) (RIGHT_PAREN . 
(string_primary . 0)) (AMPERSAND . (string_primary . 0)) (COMMA . 
(string_primary . 0)) (SEMICOLON . (string_primary . 0)))
+      ((default . error) (AT . (term . 2)) (RIGHT_PAREN . (term . 2)) 
(AMPERSAND . (term . 2)) (COMMA . (term . 2)) (SEMICOLON . (term . 2)))
       ((default . error) (QUOTE .  41))
-      ((default . error) (RIGHT_PAREN . (string_primary . 3)) (AMPERSAND . 
(string_primary . 3)) (COMMA . (string_primary . 3)) (SEMICOLON . 
(string_primary . 3)))
+      ((default . error) (AT . (string_primary . 3)) (RIGHT_PAREN . 
(string_primary . 3)) (AMPERSAND . (string_primary . 3)) (COMMA . 
(string_primary . 3)) (SEMICOLON . (string_primary . 3)))
       ((default . error) (RIGHT_PAREN . (string_list . 0)) (AMPERSAND .  42) 
(COMMA . (string_list . 0)) (SEMICOLON . (string_list . 0)))
-      ((default . error) (RIGHT_PAREN . (string_primary . 2)) (AMPERSAND . 
(string_primary . 2)) (COMMA . (string_primary . 2)) (SEMICOLON . 
(string_primary . 2)))
-      ((default . error) (IS . (name . 0)) (RIGHT_PAREN . (name . 0)) 
(AMPERSAND . (name . 0)) (COMMA . (name . 0)) (DOT . (name . 0)) (QUOTE . (name 
. 0)) (SEMICOLON . (name . 0)))
-      ((default . error) (RIGHT_PAREN . (string_primary . 1)) (AMPERSAND . 
(string_primary . 1)) (COMMA . (string_primary . 1)) (DOT .  43) (QUOTE . 
(attribute_prefix . 1)) (SEMICOLON . (string_primary . 1)))
-      ((default . error) (RIGHT_PAREN . (term . 0)) (AMPERSAND . (term . 0)) 
(COMMA . (term . 0)) (SEMICOLON . (term . 0)))
+      ((default . error) (AT . (string_primary . 2)) (RIGHT_PAREN . 
(string_primary . 2)) (AMPERSAND . (string_primary . 2)) (COMMA . 
(string_primary . 2)) (SEMICOLON . (string_primary . 2)))
+      ((default . error) (AT . (name . 0)) (IS . (name . 0)) (RIGHT_PAREN . 
(name . 0)) (AMPERSAND . (name . 0)) (COMMA . (name . 0)) (DOT . (name . 0)) 
(QUOTE . (name . 0)) (SEMICOLON . (name . 0)))
+      ((default . error) (AT . (string_primary . 1)) (RIGHT_PAREN . 
(string_primary . 1)) (AMPERSAND . (string_primary . 1)) (COMMA . 
(string_primary . 1)) (DOT .  43) (QUOTE . (attribute_prefix . 1)) (SEMICOLON . 
(string_primary . 1)))
+      ((default . error) (AT . (term . 0)) (RIGHT_PAREN . (term . 0)) 
(AMPERSAND . (term . 0)) (COMMA . (term . 0)) (SEMICOLON . (term . 0)))
       ((default . error) (COMMA .  44) (SEMICOLON .  45))
-      ((default . error) (RIGHT_PAREN . (expression . 0)) (AMPERSAND . 
(expression . 0)) (COMMA . (expression . 0)) (SEMICOLON . (expression . 0)))
+      ((default . error) (AT . (expression . 0)) (RIGHT_PAREN . (expression . 
0)) (AMPERSAND . (expression . 0)) (COMMA . (expression . 0)) (SEMICOLON . 
(expression . 0)))
       ((default . error) (ABSTRACT . (context_clause . 1)) (AGGREGATE . 
(context_clause . 1)) (CONFIGURATION . (context_clause . 1)) (LIBRARY . 
(context_clause . 1)) (PROJECT . (context_clause . 1)) (STANDARD . 
(context_clause . 1)) (WITH . (context_clause . 1)) (Wisi_EOI . (context_clause 
. 1)))
       ((default . error) (PROJECT .  5) (Wisi_EOI . (project_declaration_opt . 
0)))
       ((default . error) (STRING_LITERAL .  47))
       ((default . error) (CASE .  48) (END . (declarative_items_opt . 0)) (FOR 
.  49) (NULL .  50) (PACKAGE .  51) (TYPE .  52) (IDENTIFIER .  53))
       ((default . error) (EXTERNAL .  17) (EXTERNAL_AS_LIST .  18) (LEFT_PAREN 
.  19) (PROJECT .  20) (RIGHT_PAREN . (identifier_opt . 0)) (AMPERSAND . 
(identifier_opt . 0)) (COMMA . (identifier_opt . 0)) (DOT . (identifier_opt . 
0)) (QUOTE . (identifier_opt . 0)) (IDENTIFIER .  15) (STRING_LITERAL .  21))
-      ((default . error) (RIGHT_PAREN . (external_value . 0)) (AMPERSAND . 
(external_value . 0)) (COMMA . (external_value . 0)) (SEMICOLON . 
(external_value . 0)))
-      ((default . error) (RIGHT_PAREN . (external_value . 1)) (AMPERSAND . 
(external_value . 1)) (COMMA . (external_value . 1)) (SEMICOLON . 
(external_value . 1)))
-      ((default . error) (RIGHT_PAREN . (term . 1)) (AMPERSAND . (term . 1)) 
(COMMA . (term . 1)) (SEMICOLON . (term . 1)))
+      ((default . error) (AT . (external_value . 0)) (RIGHT_PAREN . 
(external_value . 0)) (AMPERSAND . (external_value . 0)) (COMMA . 
(external_value . 0)) (SEMICOLON . (external_value . 0)))
+      ((default . error) (AT . (external_value . 1)) (RIGHT_PAREN . 
(external_value . 1)) (AMPERSAND . (external_value . 1)) (COMMA . 
(external_value . 1)) (SEMICOLON . (external_value . 1)))
+      ((default . error) (AT . (term . 1)) (RIGHT_PAREN . (term . 1)) 
(AMPERSAND . (term . 1)) (COMMA . (term . 1)) (SEMICOLON . (term . 1)))
       ((default . error) (RIGHT_PAREN .  65) (COMMA .  44))
       ((default . error) (IDENTIFIER .  66))
-      ((default . error) (EXTERNAL .  17) (EXTERNAL_AS_LIST .  18) (LEFT_PAREN 
.  19) (PROJECT .  20) (RIGHT_PAREN . (identifier_opt . 0)) (AMPERSAND . 
(identifier_opt . 0)) (COMMA . (identifier_opt . 0)) (DOT . (identifier_opt . 
0)) (QUOTE . (identifier_opt . 0)) (SEMICOLON . (identifier_opt . 0)) 
(IDENTIFIER .  15) (STRING_LITERAL .  21))
+      ((default . error) (AT . (identifier_opt . 0)) (EXTERNAL .  17) 
(EXTERNAL_AS_LIST .  18) (LEFT_PAREN .  19) (PROJECT .  20) (RIGHT_PAREN . 
(identifier_opt . 0)) (AMPERSAND . (identifier_opt . 0)) (COMMA . 
(identifier_opt . 0)) (DOT . (identifier_opt . 0)) (QUOTE . (identifier_opt . 
0)) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  15) (STRING_LITERAL .  
21))
       ((default . error) (IDENTIFIER .  68))
       ((default . error) (EXTERNAL .  17) (EXTERNAL_AS_LIST .  18) (LEFT_PAREN 
.  19) (PROJECT .  20) (RIGHT_PAREN . (identifier_opt . 0)) (AMPERSAND . 
(identifier_opt . 0)) (COMMA . (identifier_opt . 0)) (DOT . (identifier_opt . 
0)) (QUOTE . (identifier_opt . 0)) (SEMICOLON . (identifier_opt . 0)) 
(IDENTIFIER .  15) (STRING_LITERAL .  21))
       ((default . error) (ABSTRACT . (with_clause . 0)) (AGGREGATE . 
(with_clause . 0)) (CONFIGURATION . (with_clause . 0)) (LIBRARY . (with_clause 
. 0)) (PROJECT . (with_clause . 0)) (STANDARD . (with_clause . 0)) (WITH . 
(with_clause . 0)) (Wisi_EOI . (with_clause . 0)))
@@ -295,10 +305,10 @@
       ((default . error) (CASE . (package_declaration . 2)) (END . 
(package_declaration . 2)) (FOR . (package_declaration . 2)) (NULL . 
(package_declaration . 2)) (PACKAGE . (package_declaration . 2)) (TYPE . 
(package_declaration . 2)) (WHEN . (package_declaration . 2)) (IDENTIFIER . 
(package_declaration . 2)))
       ((default . error) (CASE . (declarative_item . 0)) (END . 
(declarative_item . 0)) (FOR . (declarative_item . 0)) (NULL . 
(declarative_item . 0)) (PACKAGE . (declarative_item . 0)) (TYPE . 
(declarative_item . 0)) (WHEN . (declarative_item . 0)) (IDENTIFIER . 
(declarative_item . 0)))
       ((default . error) (CASE . (declarative_item . 1)) (END . 
(declarative_item . 1)) (FOR . (declarative_item . 1)) (NULL . 
(declarative_item . 1)) (PACKAGE . (declarative_item . 1)) (TYPE . 
(declarative_item . 1)) (WHEN . (declarative_item . 1)) (IDENTIFIER . 
(declarative_item . 1)))
-      ((default . error) (RIGHT_PAREN . (aggregate_g . 0)) (AMPERSAND . 
(aggregate_g . 0)) (COMMA . (aggregate_g . 0)) (SEMICOLON . (aggregate_g . 0)))
-      ((default . error) (LEFT_PAREN .  81) (RIGHT_PAREN . 
(attribute_reference . 0)) (AMPERSAND . (attribute_reference . 0)) (COMMA . 
(attribute_reference . 0)) (SEMICOLON . (attribute_reference . 0)))
-      ((default . error) (RIGHT_PAREN . (expression . 1)) (AMPERSAND . 
(expression . 1)) (COMMA . (expression . 1)) (SEMICOLON . (expression . 1)))
-      ((default . error) (IS . (name . 1)) (RIGHT_PAREN . (name . 1)) 
(AMPERSAND . (name . 1)) (COMMA . (name . 1)) (DOT . (name . 1)) (QUOTE . (name 
. 1)) (SEMICOLON . (name . 1)))
+      ((default . error) (AT . (aggregate_g . 0)) (RIGHT_PAREN . (aggregate_g 
. 0)) (AMPERSAND . (aggregate_g . 0)) (COMMA . (aggregate_g . 0)) (SEMICOLON . 
(aggregate_g . 0)))
+      ((default . error) (AT . (attribute_reference . 0)) (LEFT_PAREN .  81) 
(RIGHT_PAREN . (attribute_reference . 0)) (AMPERSAND . (attribute_reference . 
0)) (COMMA . (attribute_reference . 0)) (SEMICOLON . (attribute_reference . 0)))
+      ((default . error) (AT . (expression . 1)) (RIGHT_PAREN . (expression . 
1)) (AMPERSAND . (expression . 1)) (COMMA . (expression . 1)) (SEMICOLON . 
(expression . 1)))
+      ((default . error) (AT . (name . 1)) (IS . (name . 1)) (RIGHT_PAREN . 
(name . 1)) (AMPERSAND . (name . 1)) (COMMA . (name . 1)) (DOT . (name . 1)) 
(QUOTE . (name . 1)) (SEMICOLON . (name . 1)))
       ((default . error) (RIGHT_PAREN . (string_list . 1)) (AMPERSAND .  42) 
(COMMA . (string_list . 1)) (SEMICOLON . (string_list . 1)))
       ((default . error) (CASE .  48) (END . (declarative_items_opt . 0)) (FOR 
.  49) (NULL .  50) (PACKAGE .  51) (TYPE .  52) (IDENTIFIER .  53))
       ((default . error) (IS .  83) (DOT .  43))
@@ -341,7 +351,7 @@
       ((default . error) (EXTERNAL .  17) (EXTERNAL_AS_LIST .  18) (LEFT_PAREN 
.  19) (PROJECT .  20) (AMPERSAND . (identifier_opt . 0)) (DOT . 
(identifier_opt . 0)) (QUOTE . (identifier_opt . 0)) (SEMICOLON . 
(identifier_opt . 0)) (IDENTIFIER .  15) (STRING_LITERAL .  21))
       ((default . error) (CASE . (simple_declarative_item . 0)) (END . 
(simple_declarative_item . 0)) (FOR . (simple_declarative_item . 0)) (NULL . 
(simple_declarative_item . 0)) (PACKAGE . (simple_declarative_item . 0)) (TYPE 
. (simple_declarative_item . 0)) (WHEN . (simple_declarative_item . 0)) 
(IDENTIFIER . (simple_declarative_item . 0)))
       ((default . error) (Wisi_EOI . (simple_project_declaration . 0)))
-      ((default . error) (RIGHT_PAREN . (attribute_reference . 1)) (AMPERSAND 
. (attribute_reference . 1)) (COMMA . (attribute_reference . 1)) (SEMICOLON . 
(attribute_reference . 1)))
+      ((default . error) (AT . (attribute_reference . 1)) (RIGHT_PAREN . 
(attribute_reference . 1)) (AMPERSAND . (attribute_reference . 1)) (COMMA . 
(attribute_reference . 1)) (SEMICOLON . (attribute_reference . 1)))
       ((default . error) (SEMICOLON .  125))
       ((default . error) (EQUAL_GREATER . (discrete_choice_list . 0)) 
(VERTICAL_BAR . (discrete_choice_list . 0)))
       ((default . error) (EQUAL_GREATER .  126) (VERTICAL_BAR .  127))
@@ -360,7 +370,7 @@
       ((default . error) (OTHERS .  100) (EQUAL_GREATER . (discrete_choice . 
0)) (VERTICAL_BAR . (discrete_choice . 0)) (STRING_LITERAL .  101))
       ((default . error) (SEMICOLON .  136))
       ((default . error) (EXTERNAL .  17) (EXTERNAL_AS_LIST .  18) (LEFT_PAREN 
.  19) (PROJECT .  20) (AMPERSAND . (identifier_opt . 0)) (DOT . 
(identifier_opt . 0)) (QUOTE . (identifier_opt . 0)) (SEMICOLON . 
(identifier_opt . 0)) (IDENTIFIER .  15) (STRING_LITERAL .  21))
-      ((default . error) (EXTERNAL .  17) (EXTERNAL_AS_LIST .  18) (LEFT_PAREN 
.  19) (PROJECT .  20) (AMPERSAND . (identifier_opt . 0)) (DOT . 
(identifier_opt . 0)) (QUOTE . (identifier_opt . 0)) (SEMICOLON . 
(identifier_opt . 0)) (IDENTIFIER .  15) (STRING_LITERAL .  21))
+      ((default . error) (AT . (identifier_opt . 0)) (EXTERNAL .  17) 
(EXTERNAL_AS_LIST .  18) (LEFT_PAREN .  19) (PROJECT .  20) (AMPERSAND . 
(identifier_opt . 0)) (DOT . (identifier_opt . 0)) (QUOTE . (identifier_opt . 
0)) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  15) (STRING_LITERAL .  
21))
       ((default . error) (END .  139))
       ((default . error) (SEMICOLON .  140))
       ((default . error) (CASE . (simple_declarative_item . 1)) (END . 
(simple_declarative_item . 1)) (FOR . (simple_declarative_item . 1)) (NULL . 
(simple_declarative_item . 1)) (PACKAGE . (simple_declarative_item . 1)) (TYPE 
. (simple_declarative_item . 1)) (WHEN . (simple_declarative_item . 1)) 
(IDENTIFIER . (simple_declarative_item . 1)))
@@ -368,13 +378,16 @@
       ((default . error) (EQUAL_GREATER . (discrete_choice_list . 1)) 
(VERTICAL_BAR . (discrete_choice_list . 1)))
       ((default . error) (CASE . (case_statement . 0)) (END . (case_statement 
. 0)) (FOR . (case_statement . 0)) (NULL . (case_statement . 0)) (PACKAGE . 
(case_statement . 0)) (TYPE . (case_statement . 0)) (WHEN . (case_statement . 
0)) (IDENTIFIER . (case_statement . 0)))
       ((default . error) (AMPERSAND .  42) (SEMICOLON .  141))
-      ((default . error) (AMPERSAND .  42) (SEMICOLON .  142))
+      ((default . error) (AT .  142) (AMPERSAND .  42) (SEMICOLON .  143))
       ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  15))
       ((default . error) (CASE . (package_spec . 0)) (END . (package_spec . 
0)) (FOR . (package_spec . 0)) (NULL . (package_spec . 0)) (PACKAGE . 
(package_spec . 0)) (TYPE . (package_spec . 0)) (WHEN . (package_spec . 0)) 
(IDENTIFIER . (package_spec . 0)))
-      ((default . error) (CASE . (attribute_declaration . 2)) (END . 
(attribute_declaration . 2)) (FOR . (attribute_declaration . 2)) (NULL . 
(attribute_declaration . 2)) (PACKAGE . (attribute_declaration . 2)) (TYPE . 
(attribute_declaration . 2)) (WHEN . (attribute_declaration . 2)) (IDENTIFIER . 
(attribute_declaration . 2)))
+      ((default . error) (CASE . (attribute_declaration . 3)) (END . 
(attribute_declaration . 3)) (FOR . (attribute_declaration . 3)) (NULL . 
(attribute_declaration . 3)) (PACKAGE . (attribute_declaration . 3)) (TYPE . 
(attribute_declaration . 3)) (WHEN . (attribute_declaration . 3)) (IDENTIFIER . 
(attribute_declaration . 3)))
+      ((default . error) (NUMERIC_LITERAL .  145))
       ((default . error) (CASE . (attribute_declaration . 1)) (END . 
(attribute_declaration . 1)) (FOR . (attribute_declaration . 1)) (NULL . 
(attribute_declaration . 1)) (PACKAGE . (attribute_declaration . 1)) (TYPE . 
(attribute_declaration . 1)) (WHEN . (attribute_declaration . 1)) (IDENTIFIER . 
(attribute_declaration . 1)))
-      ((default . error) (SEMICOLON .  144))
-      ((default . error) (CASE . (package_extension . 0)) (END . 
(package_extension . 0)) (FOR . (package_extension . 0)) (NULL . 
(package_extension . 0)) (PACKAGE . (package_extension . 0)) (TYPE . 
(package_extension . 0)) (WHEN . (package_extension . 0)) (IDENTIFIER . 
(package_extension . 0)))]
+      ((default . error) (SEMICOLON .  146))
+      ((default . error) (SEMICOLON .  147))
+      ((default . error) (CASE . (package_extension . 0)) (END . 
(package_extension . 0)) (FOR . (package_extension . 0)) (NULL . 
(package_extension . 0)) (PACKAGE . (package_extension . 0)) (TYPE . 
(package_extension . 0)) (WHEN . (package_extension . 0)) (IDENTIFIER . 
(package_extension . 0)))
+      ((default . error) (CASE . (attribute_declaration . 2)) (END . 
(attribute_declaration . 2)) (FOR . (attribute_declaration . 2)) (NULL . 
(attribute_declaration . 2)) (PACKAGE . (attribute_declaration . 2)) (TYPE . 
(attribute_declaration . 2)) (WHEN . (attribute_declaration . 2)) (IDENTIFIER . 
(attribute_declaration . 2)))]
      [((compilation_unit . 8)(context_clause . 9)(context_clause_opt . 
10)(project_extension . 11)(simple_project_declaration . 12)(with_clause . 13))
       nil
       nil
@@ -514,11 +527,14 @@
       nil
       nil
       nil
-      ((identifier_opt . 143))
+      ((identifier_opt . 144))
       nil
       nil
       nil
       nil
+      nil
+      nil
+      nil
       nil]))
   "Parser table.")
 
============================================================
--- gpr-mode.el 931fa83c96a5dbc06b5459505e08c3a2ea955924
+++ gpr-mode.el 0109b1c814f2e0a1a9ba8d6ddf0b65c0224c178f
@@ -1,6 +1,6 @@
 ;; gpr-mode --- Major mode for editing GNAT project files  -*- 
lexical-binding:t -*-
 
-;; Copyright (C) 2004, 2007, 2008, 2012-2015, 2017, 2018  Free Software 
Foundation, Inc.
+;; Copyright (C) 2004, 2007, 2008, 2012-2015, 2017, 2018, 2019  Free Software 
Foundation, Inc.
 
 ;; Author: Stephen Leake <address@hidden>
 ;; Maintainer: Stephen Leake <address@hidden>
@@ -142,6 +142,7 @@ Function is called with no arguments.")
   '(
     "abstract"
     "aggregate"
+    "at"
     "case"
     "configuration"
     "end"
============================================================
--- gpr-process.el      f30ffc9770e66479575155ac53ad8ae4be2895f6
+++ gpr-process.el      f87ba2df6381b3c3b3de0bd8220ddd7437410bd3
@@ -23,6 +23,7 @@
    NEW_LINE
    COMMENT
    ABSTRACT
+   AT
    AGGREGATE
    CASE
    CONFIGURATION
@@ -54,6 +55,7 @@
    QUOTE
    SEMICOLON
    VERTICAL_BAR
+   NUMERIC_LITERAL
    IDENTIFIER
    STRING_LITERAL
    Wisi_EOI
@@ -102,6 +104,7 @@
 (defconst gpr-elisp-keyword-table-raw
   '(
    ("abstract" . ABSTRACT)
+   ("at" . AT)
    ("aggregate" . AGGREGATE)
    ("case" . CASE)
    ("configuration" . CONFIGURATION)
@@ -139,6 +142,9 @@
     (SEMICOLON . ";")
     (VERTICAL_BAR . "|")
     )
+   ("number"
+    (NUMERIC_LITERAL ada-wisi-number-p)
+    )
    ("symbol"
     (IDENTIFIER . "")
     )
============================================================
--- gpr.wy      1389e7b69a969f707c429c6014cabf90a51a0858
+++ gpr.wy      c9bad9731f2395d944b40a91b5f5463f1db36d93
@@ -52,6 +52,7 @@
 %case_insensitive
 
 %keyword ABSTRACT "abstract"
+%keyword AT "at"
 %keyword AGGREGATE "aggregate"
 %keyword CASE "case"
 %keyword CONFIGURATION "configuration"
@@ -82,6 +83,12 @@
 
 %non_grammar <comment> COMMENT %[ "--"[^\n]* ]%
 
+%if lexer = elisp
+%token <number> NUMERIC_LITERAL ada-wisi-number-p
+%end if
+%if lexer = re2c
+%token <number> NUMERIC_LITERAL %[ [0-9]+ ]%
+%end if
 %token <symbol> IDENTIFIER %[ 
[a-zA-Z\x80-\U0010FFFF][0-9a-zA-Z_\x80-\U0010FFFF]* ]%
 %token <string-double> STRING_LITERAL %[ (["][\x20-\x21\x23-\U0010FFFF]*["])+ 
]%
 
@@ -124,6 +131,12 @@ attribute_declaration
       (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-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])
============================================================
--- gpr_process_actions.adb     0b7c70924bfa8968b692a60b593505df4b91455c
+++ gpr_process_actions.adb     c231898d7b9c9fdf1d2869ff071bdd23524adef8
@@ -93,6 +93,28 @@ package body Gpr_Process_Actions is
    begin
       case Parse_Data.Post_Parse_Action is
       when Navigate =>
+         Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (10, Statement_End)));
+      when Face =>
+         Face_Apply_Action (Parse_Data, Tree, Nonterm, Tokens, (1 => (2, 1, 
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.Syntax_Trees.Valid_Node_Index;
+     Tokens    : in     WisiToken.Syntax_Trees.Valid_Node_Index_Array)
+   is
+      Parse_Data : Wisi.Parse_Data_Type renames Wisi.Parse_Data_Type 
(User_Data);
+   begin
+      case Parse_Data.Post_Parse_Action is
+      when Navigate =>
          Statement_Action (Parse_Data, Tree, Nonterm, Tokens, ((1, 
Statement_Start), (8, Statement_End)));
       when Face =>
          null;
@@ -102,7 +124,7 @@ package body Gpr_Process_Actions is
          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_2;
+   end attribute_declaration_3;
 
    procedure case_statement_0
     (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
============================================================
--- gpr_process_actions.ads     e08d9970c495963589b58f746ce516129febb6e4
+++ gpr_process_actions.ads     498585bb6312c83ebdcaf6d493086d36e7e08f7e
@@ -23,26 +23,22 @@ package Gpr_Process_Actions is
 package Gpr_Process_Actions is
 
    Descriptor : aliased WisiToken.Descriptor :=
-     (First_Terminal                => 3,
-      Last_Terminal                 => 37,
-      First_Nonterminal             => 38,
-      Last_Nonterminal              => 71,
-      EOI_ID                        => 37,
-      Accept_ID                     => 38,
-      Case_Insensitive              => True,
-      New_Line_ID                   => 1,
-      First_Comment_ID              => 2,
-      Last_Comment_ID               => 2147483647,
-      Left_Paren_ID                 => 2147483647,
-      Right_Paren_ID                => 2147483647,
-      String_1_ID                   => 2147483647,
-      String_2_ID                   => 36,
-      Embedded_Quote_Escape_Doubled => False,
-      Image                         =>
+     (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"),
@@ -74,6 +70,7 @@ package Gpr_Process_Actions is
          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"),
@@ -113,13 +110,14 @@ package Gpr_Process_Actions is
          new String'("with_clause")),
       Terminal_Image_Width => 16,
       Image_Width          => 26,
-      Last_Lookahead       => 37);
+      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,
@@ -151,6 +149,7 @@ package Gpr_Process_Actions is
       QUOTE_ID,
       SEMICOLON_ID,
       VERTICAL_BAR_ID,
+      NUMERIC_LITERAL_ID,
       IDENTIFIER_ID,
       STRING_LITERAL_ID,
       Wisi_EOI_ID,
@@ -217,6 +216,11 @@ package Gpr_Process_Actions is
      Tree      : in out WisiToken.Syntax_Trees.Tree;
      Nonterm   : in     WisiToken.Syntax_Trees.Valid_Node_Index;
      Tokens    : in     WisiToken.Syntax_Trees.Valid_Node_Index_Array);
+   procedure attribute_declaration_3
+    (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
+     Tree      : in out WisiToken.Syntax_Trees.Tree;
+     Nonterm   : in     WisiToken.Syntax_Trees.Valid_Node_Index;
+     Tokens    : in     WisiToken.Syntax_Trees.Valid_Node_Index_Array);
    procedure case_statement_0
     (User_Data : in out WisiToken.Syntax_Trees.User_Data_Type'Class;
      Tree      : in out WisiToken.Syntax_Trees.Tree;
============================================================
--- gpr_process_lr1_main.adb    72b6b58a4e0ea0f6329e4375246e8cc669bb2f98
+++ gpr_process_lr1_main.adb    d3d82e878fe1618ef1e21d7c6a8b4dd8110aacc5
@@ -40,16 +40,18 @@ package body Gpr_Process_LR1_Main is
       use WisiToken.Parse.LR;
       McKenzie_Param : constant McKenzie_Param_Type :=
         (First_Terminal    => 3,
-         Last_Terminal     => 37,
-         First_Nonterminal => 38,
-         Last_Nonterminal  => 71,
+         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, 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),
          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),
          Minimal_Complete_Cost_Delta => -1,
          Ignore_Check_Fail  => 2,
          Task_Count  => 0,
@@ -60,1837 +62,2031 @@ package body Gpr_Process_LR1_Main is
 
       Table : constant Parse_Table_Ptr := new Parse_Table
         (State_First       => 0,
-         State_Last        => 288,
+         State_Last        => 322,
          First_Terminal    => 3,
-         Last_Terminal     => 37,
-         First_Nonterminal => 38,
-         Last_Nonterminal  => 71);
+         Last_Terminal     => 39,
+         First_Nonterminal => 40,
+         Last_Nonterminal  => 73);
    begin
       Table.McKenzie_Param := McKenzie_Param;
       declare
          procedure Subr_1
          is begin
-            Table.States (0).Productions := WisiToken.To_Vector ((1 => (38, 
0)));
-            Add_Action (Table.States (0), 3, Reduce, (48, 0), 0, null, null);
-            Add_Action (Table.States (0), 4, Reduce, (48, 0), 0, null, null);
-            Add_Action (Table.States (0), 6, Reduce, (48, 0), 0, null, null);
-            Add_Action (Table.States (0), 14, Reduce, (48, 0), 0, null, null);
-            Add_Action (Table.States (0), 18, Reduce, (48, 0), 0, null, null);
-            Add_Action (Table.States (0), 21, Reduce, (48, 0), 0, null, null);
-            Add_Action (Table.States (0), 25, 1);
-            Add_Action (Table.States (0), 37, Reduce, (48, 0), 0, null, null);
+            Table.States (0).Productions := WisiToken.To_Vector ((1 => (40, 
0)));
+            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, 1);
+            Add_Action (Table.States (0), 39, Reduce, (50, 0), 0, null, null);
             Add_Error (Table.States (0));
-            Add_Goto (Table.States (0), 46, 2);
-            Add_Goto (Table.States (0), 47, 3);
-            Add_Goto (Table.States (0), 48, 4);
-            Add_Goto (Table.States (0), 71, 5);
-            Table.States (0).Minimal_Complete_Action := (Reduce, 46, 0);
-            Table.States (1).Productions := WisiToken.To_Vector ((1 => (71, 
0)));
-            Add_Action (Table.States (1), 9, 6);
-            Add_Action (Table.States (1), 10, 7);
-            Add_Action (Table.States (1), 13, 8);
-            Add_Action (Table.States (1), 18, 9);
-            Add_Action (Table.States (1), 26, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (1), 29, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (1), 30, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (1), 32, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (1), 33, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (1), 35, 10);
-            Add_Action (Table.States (1), 36, 11);
+            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 (0).Minimal_Complete_Action := (Reduce, 48, 0);
+            Table.States (1).Productions := WisiToken.To_Vector ((1 => (73, 
0)));
+            Add_Action (Table.States (1), 10, 6);
+            Add_Action (Table.States (1), 11, 7);
+            Add_Action (Table.States (1), 14, 8);
+            Add_Action (Table.States (1), 19, 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, 10);
+            Add_Action (Table.States (1), 38, 11);
             Add_Error (Table.States (1));
-            Add_Goto (Table.States (1), 39, 12);
-            Add_Goto (Table.States (1), 41, 13);
-            Add_Goto (Table.States (1), 42, 14);
-            Add_Goto (Table.States (1), 54, 15);
-            Add_Goto (Table.States (1), 55, 16);
-            Add_Goto (Table.States (1), 56, 17);
-            Add_Goto (Table.States (1), 57, 18);
-            Add_Goto (Table.States (1), 67, 19);
-            Add_Goto (Table.States (1), 68, 20);
-            Add_Goto (Table.States (1), 69, 21);
-            Table.States (1).Minimal_Complete_Action := (Reduce, 68, 0);
-            Table.States (2).Productions := WisiToken.To_Vector ((1 => (38, 
0)));
-            Add_Action (Table.States (2), 37, Accept_It, (38, 0), 1, null, 
null);
+            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).Minimal_Complete_Action := (Reduce, 70, 0);
+            Table.States (2).Productions := WisiToken.To_Vector ((1 => (40, 
0)));
+            Add_Action (Table.States (2), 39, Accept_It, (40, 0), 1, null, 
null);
             Add_Error (Table.States (2));
-            Table.States (3).Productions := WisiToken.To_Vector (((47, 1), 
(48, 1)));
-            Add_Action (Table.States (3), 3, Reduce, (48, 1), 1, null, null);
-            Add_Action (Table.States (3), 4, Reduce, (48, 1), 1, null, null);
-            Add_Action (Table.States (3), 6, Reduce, (48, 1), 1, null, null);
-            Add_Action (Table.States (3), 14, Reduce, (48, 1), 1, null, null);
-            Add_Action (Table.States (3), 18, Reduce, (48, 1), 1, null, null);
-            Add_Action (Table.States (3), 21, Reduce, (48, 1), 1, null, null);
-            Add_Action (Table.States (3), 25, 1);
-            Add_Action (Table.States (3), 37, Reduce, (48, 1), 1, null, null);
+            Table.States (3).Productions := WisiToken.To_Vector (((49, 1), 
(50, 1)));
+            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, 1);
+            Add_Action (Table.States (3), 39, Reduce, (50, 1), 1, null, null);
             Add_Error (Table.States (3));
-            Add_Goto (Table.States (3), 71, 22);
-            Table.States (3).Minimal_Complete_Action := (Reduce, 48, 1);
-            Table.States (4).Productions := WisiToken.To_Vector ((1 => (46, 
0)));
+            Add_Goto (Table.States (3), 73, 22);
+            Table.States (3).Minimal_Complete_Action := (Reduce, 50, 1);
+            Table.States (4).Productions := WisiToken.To_Vector ((1 => (48, 
0)));
             Add_Action (Table.States (4), 3, 23);
-            Add_Action (Table.States (4), 4, 24);
-            Add_Action (Table.States (4), 6, 25);
-            Add_Action (Table.States (4), 14, 26);
-            Add_Action (Table.States (4), 18, Reduce, (64, 0), 0, null, null);
-            Add_Action (Table.States (4), 21, 27);
-            Add_Action (Table.States (4), 37, Reduce, (64, 0), 0, null, null);
+            Add_Action (Table.States (4), 5, 24);
+            Add_Action (Table.States (4), 7, 25);
+            Add_Action (Table.States (4), 15, 26);
+            Add_Action (Table.States (4), 19, Reduce, (66, 0), 0, null, null);
+            Add_Action (Table.States (4), 22, 27);
+            Add_Action (Table.States (4), 39, Reduce, (66, 0), 0, null, null);
             Add_Error (Table.States (4));
-            Add_Goto (Table.States (4), 64, 28);
-            Table.States (4).Minimal_Complete_Action := (Reduce, 64, 0);
-            Table.States (5).Productions := WisiToken.To_Vector ((1 => (47, 
0)));
-            Add_Action (Table.States (5), (3, 4, 6, 14, 18, 21, 25, 37), (47, 
0), 1, null, null);
-            Table.States (5).Minimal_Complete_Action := (Reduce, 47, 1);
-            Table.States (6).Productions := WisiToken.To_Vector ((1 => (55, 
0)));
-            Add_Action (Table.States (6), 13, 29);
+            Add_Goto (Table.States (4), 66, 28);
+            Table.States (4).Minimal_Complete_Action := (Reduce, 66, 0);
+            Table.States (5).Productions := WisiToken.To_Vector ((1 => (49, 
0)));
+            Add_Action (Table.States (5), (3, 5, 7, 15, 19, 22, 26, 39), (49, 
0), 1, null, null);
+            Table.States (5).Minimal_Complete_Action := (Reduce, 49, 1);
+            Table.States (6).Productions := WisiToken.To_Vector ((1 => (57, 
0)));
+            Add_Action (Table.States (6), 14, 29);
             Add_Error (Table.States (6));
-            Add_Goto (Table.States (6), 39, 30);
-            Table.States (6).Minimal_Complete_Action := (Shift, 13, 29);
-            Table.States (7).Productions := WisiToken.To_Vector ((1 => (55, 
1)));
-            Add_Action (Table.States (7), 13, 29);
+            Add_Goto (Table.States (6), 41, 30);
+            Table.States (6).Minimal_Complete_Action := (Shift, 14, 29);
+            Table.States (7).Productions := WisiToken.To_Vector ((1 => (57, 
1)));
+            Add_Action (Table.States (7), 14, 29);
             Add_Error (Table.States (7));
-            Add_Goto (Table.States (7), 39, 31);
-            Table.States (7).Minimal_Complete_Action := (Shift, 13, 29);
-            Table.States (8).Productions := WisiToken.To_Vector (((39, 0), 
(69, 1)));
-            Add_Action (Table.States (8), 9, 32);
-            Add_Action (Table.States (8), 10, 33);
-            Add_Action (Table.States (8), 13, 34);
-            Add_Action (Table.States (8), 18, 9);
-            Add_Action (Table.States (8), 20, 35);
-            Add_Conflict (Table.States (8), 20, (56, 0), 0, null, null);
-            Add_Action (Table.States (8), 26, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (8), 29, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (8), 30, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (8), 32, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (8), 35, 36);
-            Add_Action (Table.States (8), 36, 37);
+            Add_Goto (Table.States (7), 41, 31);
+            Table.States (7).Minimal_Complete_Action := (Shift, 14, 29);
+            Table.States (8).Productions := WisiToken.To_Vector (((41, 0), 
(71, 1)));
+            Add_Action (Table.States (8), 10, 32);
+            Add_Action (Table.States (8), 11, 33);
+            Add_Action (Table.States (8), 14, 34);
+            Add_Action (Table.States (8), 19, 9);
+            Add_Action (Table.States (8), 21, 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, 36);
+            Add_Action (Table.States (8), 38, 37);
             Add_Error (Table.States (8));
-            Add_Goto (Table.States (8), 39, 38);
-            Add_Goto (Table.States (8), 41, 39);
-            Add_Goto (Table.States (8), 42, 40);
-            Add_Goto (Table.States (8), 54, 41);
-            Add_Goto (Table.States (8), 55, 42);
-            Add_Goto (Table.States (8), 56, 43);
-            Add_Goto (Table.States (8), 57, 44);
-            Add_Goto (Table.States (8), 67, 45);
-            Add_Goto (Table.States (8), 68, 46);
-            Add_Goto (Table.States (8), 69, 47);
-            Table.States (8).Minimal_Complete_Action := (Reduce, 68, 0);
-            Table.States (9).Productions := WisiToken.To_Vector ((1 => (41, 
0)));
-            Add_Action (Table.States (9), (1 =>  32), (41, 0), 1, null, null);
-            Table.States (9).Minimal_Complete_Action := (Reduce, 41, 1);
-            Table.States (10).Productions := WisiToken.To_Vector ((1 => (56, 
1)));
-            Add_Action (Table.States (10), (26, 29, 30, 32, 33), (56, 1), 1, 
null, identifier_opt_1_check'Access);
-            Table.States (10).Minimal_Complete_Action := (Reduce, 56, 1);
-            Table.States (11).Productions := WisiToken.To_Vector ((1 => (67, 
0)));
-            Add_Action (Table.States (11), (26, 29, 33), (67, 0), 1, null, 
null);
-            Table.States (11).Minimal_Complete_Action := (Reduce, 67, 1);
-            Table.States (12).Productions := WisiToken.To_Vector ((1 => (69, 
2)));
-            Add_Action (Table.States (12), (26, 29, 33), (69, 2), 1, null, 
null);
-            Table.States (12).Minimal_Complete_Action := (Reduce, 69, 1);
-            Table.States (13).Productions := WisiToken.To_Vector (((42, 0), 
(42, 1)));
-            Add_Action (Table.States (13), 32, 48);
+            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).Minimal_Complete_Action := (Reduce, 70, 0);
+            Table.States (9).Productions := WisiToken.To_Vector ((1 => (43, 
0)));
+            Add_Action (Table.States (9), (1 =>  33), (43, 0), 1, null, null);
+            Table.States (9).Minimal_Complete_Action := (Reduce, 43, 1);
+            Table.States (10).Productions := WisiToken.To_Vector ((1 => (58, 
1)));
+            Add_Action (Table.States (10), (27, 30, 31, 33, 34), (58, 1), 1, 
null, identifier_opt_1_check'Access);
+            Table.States (10).Minimal_Complete_Action := (Reduce, 58, 1);
+            Table.States (11).Productions := WisiToken.To_Vector ((1 => (69, 
0)));
+            Add_Action (Table.States (11), (27, 30, 34), (69, 0), 1, null, 
null);
+            Table.States (11).Minimal_Complete_Action := (Reduce, 69, 1);
+            Table.States (12).Productions := WisiToken.To_Vector ((1 => (71, 
2)));
+            Add_Action (Table.States (12), (27, 30, 34), (71, 2), 1, null, 
null);
+            Table.States (12).Minimal_Complete_Action := (Reduce, 71, 1);
+            Table.States (13).Productions := WisiToken.To_Vector (((44, 0), 
(44, 1)));
+            Add_Action (Table.States (13), 33, 48);
             Add_Error (Table.States (13));
-            Table.States (13).Minimal_Complete_Action := (Shift, 32, 48);
-            Table.States (14).Productions := WisiToken.To_Vector ((1 => (67, 
3)));
-            Add_Action (Table.States (14), (26, 29, 33), (67, 3), 1, null, 
null);
-            Table.States (14).Minimal_Complete_Action := (Reduce, 67, 1);
-            Table.States (15).Productions := WisiToken.To_Vector (((54, 1), 
(68, 0)));
-            Add_Action (Table.States (15), 26, 49);
-            Add_Action (Table.States (15), 29, Reduce, (68, 0), 1, null, null);
-            Add_Action (Table.States (15), 33, Reduce, (68, 0), 1, null, null);
+            Table.States (13).Minimal_Complete_Action := (Shift, 33, 48);
+            Table.States (14).Productions := WisiToken.To_Vector ((1 => (69, 
3)));
+            Add_Action (Table.States (14), (27, 30, 34), (69, 3), 1, null, 
null);
+            Table.States (14).Minimal_Complete_Action := (Reduce, 69, 1);
+            Table.States (15).Productions := WisiToken.To_Vector (((56, 1), 
(70, 0)));
+            Add_Action (Table.States (15), 27, 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);
             Add_Error (Table.States (15));
-            Table.States (15).Minimal_Complete_Action := (Reduce, 68, 1);
-            Table.States (16).Productions := WisiToken.To_Vector ((1 => (67, 
2)));
-            Add_Action (Table.States (16), (26, 29, 33), (67, 2), 1, null, 
null);
-            Table.States (16).Minimal_Complete_Action := (Reduce, 67, 1);
-            Table.States (17).Productions := WisiToken.To_Vector ((1 => (57, 
0)));
-            Add_Action (Table.States (17), (26, 29, 30, 32, 33), (57, 0), 1, 
null, null);
-            Table.States (17).Minimal_Complete_Action := (Reduce, 57, 1);
-            Table.States (18).Productions := WisiToken.To_Vector (((41, 1), 
(57, 1), (67, 1)));
-            Add_Action (Table.States (18), 26, Reduce, (67, 1), 1, null, null);
-            Add_Action (Table.States (18), 29, Reduce, (67, 1), 1, null, null);
-            Add_Action (Table.States (18), 30, 50);
-            Add_Action (Table.States (18), 32, Reduce, (41, 1), 1, null, null);
-            Add_Action (Table.States (18), 33, Reduce, (67, 1), 1, null, null);
+            Table.States (15).Minimal_Complete_Action := (Reduce, 70, 1);
+            Table.States (16).Productions := WisiToken.To_Vector ((1 => (69, 
2)));
+            Add_Action (Table.States (16), (27, 30, 34), (69, 2), 1, null, 
null);
+            Table.States (16).Minimal_Complete_Action := (Reduce, 69, 1);
+            Table.States (17).Productions := WisiToken.To_Vector ((1 => (59, 
0)));
+            Add_Action (Table.States (17), (27, 30, 31, 33, 34), (59, 0), 1, 
null, null);
+            Table.States (17).Minimal_Complete_Action := (Reduce, 59, 1);
+            Table.States (18).Productions := WisiToken.To_Vector (((43, 1), 
(59, 1), (69, 1)));
+            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, 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);
             Add_Error (Table.States (18));
-            Table.States (18).Minimal_Complete_Action := (Reduce, 41, 1);
-            Table.States (19).Productions := WisiToken.To_Vector ((1 => (69, 
0)));
-            Add_Action (Table.States (19), (26, 29, 33), (69, 0), 1, null, 
null);
-            Table.States (19).Minimal_Complete_Action := (Reduce, 69, 1);
-            Table.States (20).Productions := WisiToken.To_Vector (((68, 1), 
(71, 0)));
-            Add_Action (Table.States (20), 29, 51);
-            Add_Action (Table.States (20), 33, 52);
+            Table.States (18).Minimal_Complete_Action := (Reduce, 43, 1);
+            Table.States (19).Productions := WisiToken.To_Vector ((1 => (71, 
0)));
+            Add_Action (Table.States (19), (27, 30, 34), (71, 0), 1, null, 
null);
+            Table.States (19).Minimal_Complete_Action := (Reduce, 71, 1);
+            Table.States (20).Productions := WisiToken.To_Vector (((70, 1), 
(73, 0)));
+            Add_Action (Table.States (20), 30, 51);
+            Add_Action (Table.States (20), 34, 52);
             Add_Error (Table.States (20));
-            Table.States (20).Minimal_Complete_Action := (Shift, 33, 52);
-            Table.States (21).Productions := WisiToken.To_Vector ((1 => (54, 
0)));
-            Add_Action (Table.States (21), (26, 29, 33), (54, 0), 1, null, 
null);
-            Table.States (21).Minimal_Complete_Action := (Reduce, 54, 1);
-            Table.States (22).Productions := WisiToken.To_Vector ((1 => (47, 
1)));
-            Add_Action (Table.States (22), (3, 4, 6, 14, 18, 21, 25, 37), (47, 
1), 2, null, null);
-            Table.States (22).Minimal_Complete_Action := (Reduce, 47, 2);
-            Table.States (23).Productions := WisiToken.To_Vector ((1 => (64, 
1)));
-            Add_Action (Table.States (23), (18, 37), (64, 1), 1, null, null);
-            Table.States (23).Minimal_Complete_Action := (Reduce, 64, 1);
-            Table.States (24).Productions := WisiToken.To_Vector (((64, 3), 
(64, 4)));
-            Add_Action (Table.States (24), 14, 53);
-            Add_Action (Table.States (24), 18, Reduce, (64, 3), 1, null, null);
-            Add_Action (Table.States (24), 37, Reduce, (64, 3), 1, null, null);
+            Table.States (20).Minimal_Complete_Action := (Shift, 34, 52);
+            Table.States (21).Productions := WisiToken.To_Vector ((1 => (56, 
0)));
+            Add_Action (Table.States (21), (27, 30, 34), (56, 0), 1, null, 
null);
+            Table.States (21).Minimal_Complete_Action := (Reduce, 56, 1);
+            Table.States (22).Productions := WisiToken.To_Vector ((1 => (49, 
1)));
+            Add_Action (Table.States (22), (3, 5, 7, 15, 19, 22, 26, 39), (49, 
1), 2, null, null);
+            Table.States (22).Minimal_Complete_Action := (Reduce, 49, 2);
+            Table.States (23).Productions := WisiToken.To_Vector ((1 => (66, 
1)));
+            Add_Action (Table.States (23), (19, 39), (66, 1), 1, null, null);
+            Table.States (23).Minimal_Complete_Action := (Reduce, 66, 1);
+            Table.States (24).Productions := WisiToken.To_Vector (((66, 3), 
(66, 4)));
+            Add_Action (Table.States (24), 15, 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);
             Add_Error (Table.States (24));
-            Table.States (24).Minimal_Complete_Action := (Reduce, 64, 1);
-            Table.States (25).Productions := WisiToken.To_Vector ((1 => (64, 
6)));
-            Add_Action (Table.States (25), (18, 37), (64, 6), 1, null, null);
-            Table.States (25).Minimal_Complete_Action := (Reduce, 64, 1);
-            Table.States (26).Productions := WisiToken.To_Vector ((1 => (64, 
5)));
-            Add_Action (Table.States (26), (18, 37), (64, 5), 1, null, null);
-            Table.States (26).Minimal_Complete_Action := (Reduce, 64, 1);
-            Table.States (27).Productions := WisiToken.To_Vector ((1 => (64, 
2)));
-            Add_Action (Table.States (27), (18, 37), (64, 2), 1, null, null);
-            Table.States (27).Minimal_Complete_Action := (Reduce, 64, 1);
-            Table.States (28).Productions := WisiToken.To_Vector ((1 => (46, 
0)));
-            Add_Action (Table.States (28), 18, 54);
-            Add_Action (Table.States (28), 37, Reduce, (62, 0), 0, null, null);
+            Table.States (24).Minimal_Complete_Action := (Reduce, 66, 1);
+            Table.States (25).Productions := WisiToken.To_Vector ((1 => (66, 
6)));
+            Add_Action (Table.States (25), (19, 39), (66, 6), 1, null, null);
+            Table.States (25).Minimal_Complete_Action := (Reduce, 66, 1);
+            Table.States (26).Productions := WisiToken.To_Vector ((1 => (66, 
5)));
+            Add_Action (Table.States (26), (19, 39), (66, 5), 1, null, null);
+            Table.States (26).Minimal_Complete_Action := (Reduce, 66, 1);
+            Table.States (27).Productions := WisiToken.To_Vector ((1 => (66, 
2)));
+            Add_Action (Table.States (27), (19, 39), (66, 2), 1, null, null);
+            Table.States (27).Minimal_Complete_Action := (Reduce, 66, 1);
+            Table.States (28).Productions := WisiToken.To_Vector ((1 => (48, 
0)));
+            Add_Action (Table.States (28), 19, 54);
+            Add_Action (Table.States (28), 39, Reduce, (64, 0), 0, null, null);
             Add_Error (Table.States (28));
-            Add_Goto (Table.States (28), 62, 55);
-            Add_Goto (Table.States (28), 63, 56);
-            Add_Goto (Table.States (28), 66, 57);
-            Table.States (28).Minimal_Complete_Action := (Reduce, 62, 0);
-            Table.States (29).Productions := WisiToken.To_Vector ((1 => (39, 
0)));
-            Add_Action (Table.States (29), 9, 32);
-            Add_Action (Table.States (29), 10, 33);
-            Add_Action (Table.States (29), 13, 34);
-            Add_Action (Table.States (29), 18, 9);
-            Add_Action (Table.States (29), 20, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (29), 26, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (29), 29, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (29), 30, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (29), 32, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (29), 35, 36);
-            Add_Action (Table.States (29), 36, 37);
+            Add_Goto (Table.States (28), 64, 55);
+            Add_Goto (Table.States (28), 65, 56);
+            Add_Goto (Table.States (28), 68, 57);
+            Table.States (28).Minimal_Complete_Action := (Reduce, 64, 0);
+            Table.States (29).Productions := WisiToken.To_Vector ((1 => (41, 
0)));
+            Add_Action (Table.States (29), 10, 32);
+            Add_Action (Table.States (29), 11, 33);
+            Add_Action (Table.States (29), 14, 34);
+            Add_Action (Table.States (29), 19, 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, 36);
+            Add_Action (Table.States (29), 38, 37);
             Add_Error (Table.States (29));
-            Add_Goto (Table.States (29), 39, 38);
-            Add_Goto (Table.States (29), 41, 39);
-            Add_Goto (Table.States (29), 42, 40);
-            Add_Goto (Table.States (29), 54, 41);
-            Add_Goto (Table.States (29), 55, 42);
-            Add_Goto (Table.States (29), 56, 43);
-            Add_Goto (Table.States (29), 57, 44);
-            Add_Goto (Table.States (29), 67, 45);
-            Add_Goto (Table.States (29), 68, 46);
-            Add_Goto (Table.States (29), 69, 47);
-            Table.States (29).Minimal_Complete_Action := (Reduce, 68, 0);
-            Table.States (30).Productions := WisiToken.To_Vector ((1 => (55, 
0)));
-            Add_Action (Table.States (30), (26, 29, 33), (55, 0), 2, null, 
null);
-            Table.States (30).Minimal_Complete_Action := (Reduce, 55, 2);
-            Table.States (31).Productions := WisiToken.To_Vector ((1 => (55, 
1)));
-            Add_Action (Table.States (31), (26, 29, 33), (55, 1), 2, null, 
null);
-            Table.States (31).Minimal_Complete_Action := (Reduce, 55, 2);
-            Table.States (32).Productions := WisiToken.To_Vector ((1 => (55, 
0)));
-            Add_Action (Table.States (32), 13, 58);
+            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).Minimal_Complete_Action := (Reduce, 70, 0);
+            Table.States (30).Productions := WisiToken.To_Vector ((1 => (57, 
0)));
+            Add_Action (Table.States (30), (27, 30, 34), (57, 0), 2, null, 
null);
+            Table.States (30).Minimal_Complete_Action := (Reduce, 57, 2);
+            Table.States (31).Productions := WisiToken.To_Vector ((1 => (57, 
1)));
+            Add_Action (Table.States (31), (27, 30, 34), (57, 1), 2, null, 
null);
+            Table.States (31).Minimal_Complete_Action := (Reduce, 57, 2);
+            Table.States (32).Productions := WisiToken.To_Vector ((1 => (57, 
0)));
+            Add_Action (Table.States (32), 14, 58);
             Add_Error (Table.States (32));
-            Add_Goto (Table.States (32), 39, 59);
-            Table.States (32).Minimal_Complete_Action := (Shift, 13, 58);
-            Table.States (33).Productions := WisiToken.To_Vector ((1 => (55, 
1)));
-            Add_Action (Table.States (33), 13, 58);
+            Add_Goto (Table.States (32), 41, 59);
+            Table.States (32).Minimal_Complete_Action := (Shift, 14, 58);
+            Table.States (33).Productions := WisiToken.To_Vector ((1 => (57, 
1)));
+            Add_Action (Table.States (33), 14, 58);
             Add_Error (Table.States (33));
-            Add_Goto (Table.States (33), 39, 60);
-            Table.States (33).Minimal_Complete_Action := (Shift, 13, 58);
-            Table.States (34).Productions := WisiToken.To_Vector (((39, 0), 
(69, 1)));
-            Add_Action (Table.States (34), 9, 32);
-            Add_Action (Table.States (34), 10, 33);
-            Add_Action (Table.States (34), 13, 34);
-            Add_Action (Table.States (34), 18, 9);
-            Add_Action (Table.States (34), 20, 61);
-            Add_Conflict (Table.States (34), 20, (56, 0), 0, null, null);
-            Add_Action (Table.States (34), 26, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (34), 29, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (34), 30, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (34), 32, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (34), 35, 36);
-            Add_Action (Table.States (34), 36, 37);
+            Add_Goto (Table.States (33), 41, 60);
+            Table.States (33).Minimal_Complete_Action := (Shift, 14, 58);
+            Table.States (34).Productions := WisiToken.To_Vector (((41, 0), 
(71, 1)));
+            Add_Action (Table.States (34), 10, 32);
+            Add_Action (Table.States (34), 11, 33);
+            Add_Action (Table.States (34), 14, 34);
+            Add_Action (Table.States (34), 19, 9);
+            Add_Action (Table.States (34), 21, 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, 36);
+            Add_Action (Table.States (34), 38, 37);
             Add_Error (Table.States (34));
-            Add_Goto (Table.States (34), 39, 38);
-            Add_Goto (Table.States (34), 41, 39);
-            Add_Goto (Table.States (34), 42, 40);
-            Add_Goto (Table.States (34), 54, 41);
-            Add_Goto (Table.States (34), 55, 42);
-            Add_Goto (Table.States (34), 56, 43);
-            Add_Goto (Table.States (34), 57, 44);
-            Add_Goto (Table.States (34), 67, 45);
-            Add_Goto (Table.States (34), 68, 62);
-            Add_Goto (Table.States (34), 69, 47);
-            Table.States (34).Minimal_Complete_Action := (Reduce, 68, 0);
-            Table.States (35).Productions := WisiToken.To_Vector ((1 => (69, 
1)));
-            Add_Action (Table.States (35), (26, 29, 33), (69, 1), 2, null, 
null);
-            Table.States (35).Minimal_Complete_Action := (Reduce, 69, 2);
-            Table.States (36).Productions := WisiToken.To_Vector ((1 => (56, 
1)));
-            Add_Action (Table.States (36), (20, 26, 29, 30, 32), (56, 1), 1, 
null, identifier_opt_1_check'Access);
-            Table.States (36).Minimal_Complete_Action := (Reduce, 56, 1);
-            Table.States (37).Productions := WisiToken.To_Vector ((1 => (67, 
0)));
-            Add_Action (Table.States (37), (20, 26, 29), (67, 0), 1, null, 
null);
-            Table.States (37).Minimal_Complete_Action := (Reduce, 67, 1);
-            Table.States (38).Productions := WisiToken.To_Vector ((1 => (69, 
2)));
-            Add_Action (Table.States (38), (20, 26, 29), (69, 2), 1, null, 
null);
-            Table.States (38).Minimal_Complete_Action := (Reduce, 69, 1);
-            Table.States (39).Productions := WisiToken.To_Vector (((42, 0), 
(42, 1)));
-            Add_Action (Table.States (39), 32, 63);
+            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).Minimal_Complete_Action := (Reduce, 70, 0);
+            Table.States (35).Productions := WisiToken.To_Vector ((1 => (71, 
1)));
+            Add_Action (Table.States (35), (27, 30, 34), (71, 1), 2, null, 
null);
+            Table.States (35).Minimal_Complete_Action := (Reduce, 71, 2);
+            Table.States (36).Productions := WisiToken.To_Vector ((1 => (58, 
1)));
+            Add_Action (Table.States (36), (21, 27, 30, 31, 33), (58, 1), 1, 
null, identifier_opt_1_check'Access);
+            Table.States (36).Minimal_Complete_Action := (Reduce, 58, 1);
+            Table.States (37).Productions := WisiToken.To_Vector ((1 => (69, 
0)));
+            Add_Action (Table.States (37), (21, 27, 30), (69, 0), 1, null, 
null);
+            Table.States (37).Minimal_Complete_Action := (Reduce, 69, 1);
+            Table.States (38).Productions := WisiToken.To_Vector ((1 => (71, 
2)));
+            Add_Action (Table.States (38), (21, 27, 30), (71, 2), 1, null, 
null);
+            Table.States (38).Minimal_Complete_Action := (Reduce, 71, 1);
+            Table.States (39).Productions := WisiToken.To_Vector (((44, 0), 
(44, 1)));
+            Add_Action (Table.States (39), 33, 63);
             Add_Error (Table.States (39));
-            Table.States (39).Minimal_Complete_Action := (Shift, 32, 63);
-            Table.States (40).Productions := WisiToken.To_Vector ((1 => (67, 
3)));
-            Add_Action (Table.States (40), (20, 26, 29), (67, 3), 1, null, 
null);
-            Table.States (40).Minimal_Complete_Action := (Reduce, 67, 1);
-            Table.States (41).Productions := WisiToken.To_Vector (((54, 1), 
(68, 0)));
-            Add_Action (Table.States (41), 20, Reduce, (68, 0), 1, null, null);
-            Add_Action (Table.States (41), 26, 64);
-            Add_Action (Table.States (41), 29, Reduce, (68, 0), 1, null, null);
+            Table.States (39).Minimal_Complete_Action := (Shift, 33, 63);
+            Table.States (40).Productions := WisiToken.To_Vector ((1 => (69, 
3)));
+            Add_Action (Table.States (40), (21, 27, 30), (69, 3), 1, null, 
null);
+            Table.States (40).Minimal_Complete_Action := (Reduce, 69, 1);
+            Table.States (41).Productions := WisiToken.To_Vector (((56, 1), 
(70, 0)));
+            Add_Action (Table.States (41), 21, Reduce, (70, 0), 1, null, null);
+            Add_Action (Table.States (41), 27, 64);
+            Add_Action (Table.States (41), 30, Reduce, (70, 0), 1, null, null);
             Add_Error (Table.States (41));
-            Table.States (41).Minimal_Complete_Action := (Reduce, 68, 1);
-            Table.States (42).Productions := WisiToken.To_Vector ((1 => (67, 
2)));
-            Add_Action (Table.States (42), (20, 26, 29), (67, 2), 1, null, 
null);
-            Table.States (42).Minimal_Complete_Action := (Reduce, 67, 1);
-            Table.States (43).Productions := WisiToken.To_Vector ((1 => (57, 
0)));
-            Add_Action (Table.States (43), (20, 26, 29, 30, 32), (57, 0), 1, 
null, null);
-            Table.States (43).Minimal_Complete_Action := (Reduce, 57, 1);
-            Table.States (44).Productions := WisiToken.To_Vector (((41, 1), 
(57, 1), (67, 1)));
-            Add_Action (Table.States (44), 20, Reduce, (67, 1), 1, null, null);
-            Add_Action (Table.States (44), 26, Reduce, (67, 1), 1, null, null);
-            Add_Action (Table.States (44), 29, Reduce, (67, 1), 1, null, null);
-            Add_Action (Table.States (44), 30, 65);
-            Add_Action (Table.States (44), 32, Reduce, (41, 1), 1, null, null);
+            Table.States (41).Minimal_Complete_Action := (Reduce, 70, 1);
+            Table.States (42).Productions := WisiToken.To_Vector ((1 => (69, 
2)));
+            Add_Action (Table.States (42), (21, 27, 30), (69, 2), 1, null, 
null);
+            Table.States (42).Minimal_Complete_Action := (Reduce, 69, 1);
+            Table.States (43).Productions := WisiToken.To_Vector ((1 => (59, 
0)));
+            Add_Action (Table.States (43), (21, 27, 30, 31, 33), (59, 0), 1, 
null, null);
+            Table.States (43).Minimal_Complete_Action := (Reduce, 59, 1);
+            Table.States (44).Productions := WisiToken.To_Vector (((43, 1), 
(59, 1), (69, 1)));
+            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, 65);
+            Add_Action (Table.States (44), 33, Reduce, (43, 1), 1, null, null);
             Add_Error (Table.States (44));
-            Table.States (44).Minimal_Complete_Action := (Reduce, 41, 1);
-            Table.States (45).Productions := WisiToken.To_Vector ((1 => (69, 
0)));
-            Add_Action (Table.States (45), (20, 26, 29), (69, 0), 1, null, 
null);
-            Table.States (45).Minimal_Complete_Action := (Reduce, 69, 1);
-            Table.States (46).Productions := WisiToken.To_Vector (((39, 0), 
(68, 1)));
-            Add_Action (Table.States (46), 20, 66);
-            Add_Action (Table.States (46), 29, 67);
+            Table.States (44).Minimal_Complete_Action := (Reduce, 43, 1);
+            Table.States (45).Productions := WisiToken.To_Vector ((1 => (71, 
0)));
+            Add_Action (Table.States (45), (21, 27, 30), (71, 0), 1, null, 
null);
+            Table.States (45).Minimal_Complete_Action := (Reduce, 71, 1);
+            Table.States (46).Productions := WisiToken.To_Vector (((41, 0), 
(70, 1)));
+            Add_Action (Table.States (46), 21, 66);
+            Add_Action (Table.States (46), 30, 67);
             Add_Error (Table.States (46));
-            Table.States (46).Minimal_Complete_Action := (Shift, 20, 66);
-            Table.States (47).Productions := WisiToken.To_Vector ((1 => (54, 
0)));
-            Add_Action (Table.States (47), (20, 26, 29), (54, 0), 1, null, 
null);
-            Table.States (47).Minimal_Complete_Action := (Reduce, 54, 1);
-            Table.States (48).Productions := WisiToken.To_Vector (((42, 0), 
(42, 1)));
-            Add_Action (Table.States (48), 35, 68);
+            Table.States (46).Minimal_Complete_Action := (Shift, 21, 66);
+            Table.States (47).Productions := WisiToken.To_Vector ((1 => (56, 
0)));
+            Add_Action (Table.States (47), (21, 27, 30), (56, 0), 1, null, 
null);
+            Table.States (47).Minimal_Complete_Action := (Reduce, 56, 1);
+            Table.States (48).Productions := WisiToken.To_Vector (((44, 0), 
(44, 1)));
+            Add_Action (Table.States (48), 37, 68);
             Add_Error (Table.States (48));
-            Table.States (48).Minimal_Complete_Action := (Shift, 35, 68);
-            Table.States (49).Productions := WisiToken.To_Vector ((1 => (54, 
1)));
-            Add_Action (Table.States (49), 9, 6);
-            Add_Action (Table.States (49), 10, 7);
-            Add_Action (Table.States (49), 13, 8);
-            Add_Action (Table.States (49), 18, 9);
-            Add_Action (Table.States (49), 26, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (49), 29, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (49), 30, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (49), 32, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (49), 33, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (49), 35, 10);
-            Add_Action (Table.States (49), 36, 11);
+            Table.States (48).Minimal_Complete_Action := (Shift, 37, 68);
+            Table.States (49).Productions := WisiToken.To_Vector ((1 => (56, 
1)));
+            Add_Action (Table.States (49), 10, 6);
+            Add_Action (Table.States (49), 11, 7);
+            Add_Action (Table.States (49), 14, 8);
+            Add_Action (Table.States (49), 19, 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, 10);
+            Add_Action (Table.States (49), 38, 11);
             Add_Error (Table.States (49));
-            Add_Goto (Table.States (49), 39, 12);
-            Add_Goto (Table.States (49), 41, 13);
-            Add_Goto (Table.States (49), 42, 14);
-            Add_Goto (Table.States (49), 55, 16);
-            Add_Goto (Table.States (49), 56, 17);
-            Add_Goto (Table.States (49), 57, 18);
-            Add_Goto (Table.States (49), 67, 19);
-            Add_Goto (Table.States (49), 69, 69);
-            Table.States (49).Minimal_Complete_Action := (Reduce, 69, 0);
-            Table.States (50).Productions := WisiToken.To_Vector ((1 => (57, 
1)));
-            Add_Action (Table.States (50), 35, 70);
+            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).Minimal_Complete_Action := (Reduce, 71, 0);
+            Table.States (50).Productions := WisiToken.To_Vector ((1 => (59, 
1)));
+            Add_Action (Table.States (50), 37, 70);
             Add_Error (Table.States (50));
-            Table.States (50).Minimal_Complete_Action := (Shift, 35, 70);
-            Table.States (51).Productions := WisiToken.To_Vector ((1 => (68, 
1)));
-            Add_Action (Table.States (51), 9, 6);
-            Add_Action (Table.States (51), 10, 7);
-            Add_Action (Table.States (51), 13, 8);
-            Add_Action (Table.States (51), 18, 9);
-            Add_Action (Table.States (51), 26, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (51), 29, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (51), 30, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (51), 32, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (51), 33, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (51), 35, 10);
-            Add_Action (Table.States (51), 36, 11);
+            Table.States (50).Minimal_Complete_Action := (Shift, 37, 70);
+            Table.States (51).Productions := WisiToken.To_Vector ((1 => (70, 
1)));
+            Add_Action (Table.States (51), 10, 6);
+            Add_Action (Table.States (51), 11, 7);
+            Add_Action (Table.States (51), 14, 8);
+            Add_Action (Table.States (51), 19, 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, 10);
+            Add_Action (Table.States (51), 38, 11);
             Add_Error (Table.States (51));
-            Add_Goto (Table.States (51), 39, 12);
-            Add_Goto (Table.States (51), 41, 13);
-            Add_Goto (Table.States (51), 42, 14);
-            Add_Goto (Table.States (51), 54, 71);
-            Add_Goto (Table.States (51), 55, 16);
-            Add_Goto (Table.States (51), 56, 17);
-            Add_Goto (Table.States (51), 57, 18);
-            Add_Goto (Table.States (51), 67, 19);
-            Add_Goto (Table.States (51), 69, 21);
-            Table.States (51).Minimal_Complete_Action := (Reduce, 54, 0);
-            Table.States (52).Productions := WisiToken.To_Vector ((1 => (71, 
0)));
-            Add_Action (Table.States (52), (3, 4, 6, 14, 18, 21, 25, 37), (71, 
0), 3, null, null);
-            Table.States (52).Minimal_Complete_Action := (Reduce, 71, 3);
-            Table.States (53).Productions := WisiToken.To_Vector ((1 => (64, 
4)));
-            Add_Action (Table.States (53), (18, 37), (64, 4), 2, null, null);
-            Table.States (53).Minimal_Complete_Action := (Reduce, 64, 2);
-            Table.States (54).Productions := WisiToken.To_Vector (((63, 0), 
(66, 0)));
-            Add_Action (Table.States (54), 8, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (54), 12, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (54), 35, 72);
+            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).Minimal_Complete_Action := (Reduce, 56, 0);
+            Table.States (52).Productions := WisiToken.To_Vector ((1 => (73, 
0)));
+            Add_Action (Table.States (52), (3, 5, 7, 15, 19, 22, 26, 39), (73, 
0), 3, null, null);
+            Table.States (52).Minimal_Complete_Action := (Reduce, 73, 3);
+            Table.States (53).Productions := WisiToken.To_Vector ((1 => (66, 
4)));
+            Add_Action (Table.States (53), (19, 39), (66, 4), 2, null, null);
+            Table.States (53).Minimal_Complete_Action := (Reduce, 66, 2);
+            Table.States (54).Productions := WisiToken.To_Vector (((65, 0), 
(68, 0)));
+            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, 72);
             Add_Error (Table.States (54));
-            Add_Goto (Table.States (54), 56, 73);
-            Table.States (54).Minimal_Complete_Action := (Reduce, 56, 0);
-            Table.States (55).Productions := WisiToken.To_Vector ((1 => (46, 
0)));
-            Add_Action (Table.States (55), (1 =>  37), (46, 0), 3, 
compilation_unit_0'Access, null);
-            Table.States (55).Minimal_Complete_Action := (Reduce, 46, 3);
-            Table.States (56).Productions := WisiToken.To_Vector ((1 => (62, 
2)));
-            Add_Action (Table.States (56), (1 =>  37), (62, 2), 1, null, null);
-            Table.States (56).Minimal_Complete_Action := (Reduce, 62, 1);
-            Table.States (57).Productions := WisiToken.To_Vector ((1 => (62, 
1)));
-            Add_Action (Table.States (57), (1 =>  37), (62, 1), 1, null, null);
-            Table.States (57).Minimal_Complete_Action := (Reduce, 62, 1);
-            Table.States (58).Productions := WisiToken.To_Vector ((1 => (39, 
0)));
-            Add_Action (Table.States (58), 9, 32);
-            Add_Action (Table.States (58), 10, 33);
-            Add_Action (Table.States (58), 13, 34);
-            Add_Action (Table.States (58), 18, 9);
-            Add_Action (Table.States (58), 20, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (58), 26, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (58), 29, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (58), 30, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (58), 32, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (58), 35, 36);
-            Add_Action (Table.States (58), 36, 37);
+            Add_Goto (Table.States (54), 58, 73);
+            Table.States (54).Minimal_Complete_Action := (Reduce, 58, 0);
+            Table.States (55).Productions := WisiToken.To_Vector ((1 => (48, 
0)));
+            Add_Action (Table.States (55), (1 =>  39), (48, 0), 3, 
compilation_unit_0'Access, null);
+            Table.States (55).Minimal_Complete_Action := (Reduce, 48, 3);
+            Table.States (56).Productions := WisiToken.To_Vector ((1 => (64, 
2)));
+            Add_Action (Table.States (56), (1 =>  39), (64, 2), 1, null, null);
+            Table.States (56).Minimal_Complete_Action := (Reduce, 64, 1);
+            Table.States (57).Productions := WisiToken.To_Vector ((1 => (64, 
1)));
+            Add_Action (Table.States (57), (1 =>  39), (64, 1), 1, null, null);
+            Table.States (57).Minimal_Complete_Action := (Reduce, 64, 1);
+            Table.States (58).Productions := WisiToken.To_Vector ((1 => (41, 
0)));
+            Add_Action (Table.States (58), 10, 32);
+            Add_Action (Table.States (58), 11, 33);
+            Add_Action (Table.States (58), 14, 34);
+            Add_Action (Table.States (58), 19, 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, 36);
+            Add_Action (Table.States (58), 38, 37);
             Add_Error (Table.States (58));
-            Add_Goto (Table.States (58), 39, 38);
-            Add_Goto (Table.States (58), 41, 39);
-            Add_Goto (Table.States (58), 42, 40);
-            Add_Goto (Table.States (58), 54, 41);
-            Add_Goto (Table.States (58), 55, 42);
-            Add_Goto (Table.States (58), 56, 43);
-            Add_Goto (Table.States (58), 57, 44);
-            Add_Goto (Table.States (58), 67, 45);
-            Add_Goto (Table.States (58), 68, 62);
-            Add_Goto (Table.States (58), 69, 47);
-            Table.States (58).Minimal_Complete_Action := (Reduce, 68, 0);
-            Table.States (59).Productions := WisiToken.To_Vector ((1 => (55, 
0)));
-            Add_Action (Table.States (59), (20, 26, 29), (55, 0), 2, null, 
null);
-            Table.States (59).Minimal_Complete_Action := (Reduce, 55, 2);
-            Table.States (60).Productions := WisiToken.To_Vector ((1 => (55, 
1)));
-            Add_Action (Table.States (60), (20, 26, 29), (55, 1), 2, null, 
null);
-            Table.States (60).Minimal_Complete_Action := (Reduce, 55, 2);
-            Table.States (61).Productions := WisiToken.To_Vector ((1 => (69, 
1)));
-            Add_Action (Table.States (61), (20, 26, 29), (69, 1), 2, null, 
null);
-            Table.States (61).Minimal_Complete_Action := (Reduce, 69, 2);
-            Table.States (62).Productions := WisiToken.To_Vector (((39, 0), 
(68, 1)));
-            Add_Action (Table.States (62), 20, 74);
-            Add_Action (Table.States (62), 29, 67);
+            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).Minimal_Complete_Action := (Reduce, 70, 0);
+            Table.States (59).Productions := WisiToken.To_Vector ((1 => (57, 
0)));
+            Add_Action (Table.States (59), (21, 27, 30), (57, 0), 2, null, 
null);
+            Table.States (59).Minimal_Complete_Action := (Reduce, 57, 2);
+            Table.States (60).Productions := WisiToken.To_Vector ((1 => (57, 
1)));
+            Add_Action (Table.States (60), (21, 27, 30), (57, 1), 2, null, 
null);
+            Table.States (60).Minimal_Complete_Action := (Reduce, 57, 2);
+            Table.States (61).Productions := WisiToken.To_Vector ((1 => (71, 
1)));
+            Add_Action (Table.States (61), (21, 27, 30), (71, 1), 2, null, 
null);
+            Table.States (61).Minimal_Complete_Action := (Reduce, 71, 2);
+            Table.States (62).Productions := WisiToken.To_Vector (((41, 0), 
(70, 1)));
+            Add_Action (Table.States (62), 21, 74);
+            Add_Action (Table.States (62), 30, 67);
             Add_Error (Table.States (62));
-            Table.States (62).Minimal_Complete_Action := (Shift, 20, 74);
-            Table.States (63).Productions := WisiToken.To_Vector (((42, 0), 
(42, 1)));
-            Add_Action (Table.States (63), 35, 75);
+            Table.States (62).Minimal_Complete_Action := (Shift, 21, 74);
+            Table.States (63).Productions := WisiToken.To_Vector (((44, 0), 
(44, 1)));
+            Add_Action (Table.States (63), 37, 75);
             Add_Error (Table.States (63));
-            Table.States (63).Minimal_Complete_Action := (Shift, 35, 75);
-            Table.States (64).Productions := WisiToken.To_Vector ((1 => (54, 
1)));
-            Add_Action (Table.States (64), 9, 32);
-            Add_Action (Table.States (64), 10, 33);
-            Add_Action (Table.States (64), 13, 34);
-            Add_Action (Table.States (64), 18, 9);
-            Add_Action (Table.States (64), 20, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (64), 26, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (64), 29, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (64), 30, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (64), 32, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (64), 35, 36);
-            Add_Action (Table.States (64), 36, 37);
+            Table.States (63).Minimal_Complete_Action := (Shift, 37, 75);
+            Table.States (64).Productions := WisiToken.To_Vector ((1 => (56, 
1)));
+            Add_Action (Table.States (64), 10, 32);
+            Add_Action (Table.States (64), 11, 33);
+            Add_Action (Table.States (64), 14, 34);
+            Add_Action (Table.States (64), 19, 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, 36);
+            Add_Action (Table.States (64), 38, 37);
             Add_Error (Table.States (64));
-            Add_Goto (Table.States (64), 39, 38);
-            Add_Goto (Table.States (64), 41, 39);
-            Add_Goto (Table.States (64), 42, 40);
-            Add_Goto (Table.States (64), 55, 42);
-            Add_Goto (Table.States (64), 56, 43);
-            Add_Goto (Table.States (64), 57, 44);
-            Add_Goto (Table.States (64), 67, 45);
-            Add_Goto (Table.States (64), 69, 76);
-            Table.States (64).Minimal_Complete_Action := (Reduce, 69, 0);
-            Table.States (65).Productions := WisiToken.To_Vector ((1 => (57, 
1)));
-            Add_Action (Table.States (65), 35, 77);
+            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).Minimal_Complete_Action := (Reduce, 71, 0);
+            Table.States (65).Productions := WisiToken.To_Vector ((1 => (59, 
1)));
+            Add_Action (Table.States (65), 37, 77);
             Add_Error (Table.States (65));
-            Table.States (65).Minimal_Complete_Action := (Shift, 35, 77);
-            Table.States (66).Productions := WisiToken.To_Vector ((1 => (39, 
0)));
-            Add_Action (Table.States (66), (26, 29, 33), (39, 0), 3, 
aggregate_g_0'Access, null);
-            Table.States (66).Minimal_Complete_Action := (Reduce, 39, 3);
-            Table.States (67).Productions := WisiToken.To_Vector ((1 => (68, 
1)));
-            Add_Action (Table.States (67), 9, 32);
-            Add_Action (Table.States (67), 10, 33);
-            Add_Action (Table.States (67), 13, 34);
-            Add_Action (Table.States (67), 18, 9);
-            Add_Action (Table.States (67), 20, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (67), 26, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (67), 29, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (67), 30, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (67), 32, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (67), 35, 36);
-            Add_Action (Table.States (67), 36, 37);
+            Table.States (65).Minimal_Complete_Action := (Shift, 37, 77);
+            Table.States (66).Productions := WisiToken.To_Vector ((1 => (41, 
0)));
+            Add_Action (Table.States (66), (27, 30, 34), (41, 0), 3, 
aggregate_g_0'Access, null);
+            Table.States (66).Minimal_Complete_Action := (Reduce, 41, 3);
+            Table.States (67).Productions := WisiToken.To_Vector ((1 => (70, 
1)));
+            Add_Action (Table.States (67), 10, 32);
+            Add_Action (Table.States (67), 11, 33);
+            Add_Action (Table.States (67), 14, 34);
+            Add_Action (Table.States (67), 19, 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, 36);
+            Add_Action (Table.States (67), 38, 37);
             Add_Error (Table.States (67));
-            Add_Goto (Table.States (67), 39, 38);
-            Add_Goto (Table.States (67), 41, 39);
-            Add_Goto (Table.States (67), 42, 40);
-            Add_Goto (Table.States (67), 54, 78);
-            Add_Goto (Table.States (67), 55, 42);
-            Add_Goto (Table.States (67), 56, 43);
-            Add_Goto (Table.States (67), 57, 44);
-            Add_Goto (Table.States (67), 67, 45);
-            Add_Goto (Table.States (67), 69, 47);
-            Table.States (67).Minimal_Complete_Action := (Reduce, 54, 0);
-            Table.States (68).Productions := WisiToken.To_Vector (((42, 0), 
(42, 1)));
-            Add_Action (Table.States (68), 13, 79);
-            Add_Action (Table.States (68), 26, Reduce, (42, 0), 3, null, null);
-            Add_Action (Table.States (68), 29, Reduce, (42, 0), 3, null, null);
-            Add_Action (Table.States (68), 33, Reduce, (42, 0), 3, null, null);
+            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).Minimal_Complete_Action := (Reduce, 56, 0);
+            Table.States (68).Productions := WisiToken.To_Vector (((44, 0), 
(44, 1)));
+            Add_Action (Table.States (68), 14, 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);
             Add_Error (Table.States (68));
-            Table.States (68).Minimal_Complete_Action := (Reduce, 42, 3);
-            Table.States (69).Productions := WisiToken.To_Vector ((1 => (54, 
1)));
-            Add_Action (Table.States (69), (26, 29, 33), (54, 1), 3, null, 
null);
-            Table.States (69).Minimal_Complete_Action := (Reduce, 54, 3);
-            Table.States (70).Productions := WisiToken.To_Vector ((1 => (57, 
1)));
-            Add_Action (Table.States (70), (26, 29, 30, 32, 33), (57, 1), 3, 
null, null);
-            Table.States (70).Minimal_Complete_Action := (Reduce, 57, 3);
-            Table.States (71).Productions := WisiToken.To_Vector (((54, 1), 
(68, 1)));
-            Add_Action (Table.States (71), 26, 49);
-            Add_Action (Table.States (71), 29, Reduce, (68, 1), 3, null, null);
-            Add_Action (Table.States (71), 33, Reduce, (68, 1), 3, null, null);
+            Table.States (68).Minimal_Complete_Action := (Reduce, 44, 3);
+            Table.States (69).Productions := WisiToken.To_Vector ((1 => (56, 
1)));
+            Add_Action (Table.States (69), (27, 30, 34), (56, 1), 3, null, 
null);
+            Table.States (69).Minimal_Complete_Action := (Reduce, 56, 3);
+            Table.States (70).Productions := WisiToken.To_Vector ((1 => (59, 
1)));
+            Add_Action (Table.States (70), (27, 30, 31, 33, 34), (59, 1), 3, 
null, null);
+            Table.States (70).Minimal_Complete_Action := (Reduce, 59, 3);
+            Table.States (71).Productions := WisiToken.To_Vector (((56, 1), 
(70, 1)));
+            Add_Action (Table.States (71), 27, 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);
             Add_Error (Table.States (71));
-            Table.States (71).Minimal_Complete_Action := (Reduce, 68, 3);
-            Table.States (72).Productions := WisiToken.To_Vector ((1 => (56, 
1)));
-            Add_Action (Table.States (72), (8, 12), (56, 1), 1, null, 
identifier_opt_1_check'Access);
-            Table.States (72).Minimal_Complete_Action := (Reduce, 56, 1);
-            Table.States (73).Productions := WisiToken.To_Vector (((63, 0), 
(66, 0)));
-            Add_Action (Table.States (73), 8, 80);
-            Add_Action (Table.States (73), 12, 81);
+            Table.States (71).Minimal_Complete_Action := (Reduce, 70, 3);
+            Table.States (72).Productions := WisiToken.To_Vector ((1 => (58, 
1)));
+            Add_Action (Table.States (72), (9, 13), (58, 1), 1, null, 
identifier_opt_1_check'Access);
+            Table.States (72).Minimal_Complete_Action := (Reduce, 58, 1);
+            Table.States (73).Productions := WisiToken.To_Vector (((65, 0), 
(68, 0)));
+            Add_Action (Table.States (73), 9, 80);
+            Add_Action (Table.States (73), 13, 81);
             Add_Error (Table.States (73));
-            Table.States (73).Minimal_Complete_Action := (Shift, 12, 81);
-            Table.States (74).Productions := WisiToken.To_Vector ((1 => (39, 
0)));
-            Add_Action (Table.States (74), (20, 26, 29), (39, 0), 3, 
aggregate_g_0'Access, null);
-            Table.States (74).Minimal_Complete_Action := (Reduce, 39, 3);
-            Table.States (75).Productions := WisiToken.To_Vector (((42, 0), 
(42, 1)));
-            Add_Action (Table.States (75), 13, 82);
-            Add_Action (Table.States (75), 20, Reduce, (42, 0), 3, null, null);
-            Add_Action (Table.States (75), 26, Reduce, (42, 0), 3, null, null);
-            Add_Action (Table.States (75), 29, Reduce, (42, 0), 3, null, null);
+            Table.States (73).Minimal_Complete_Action := (Shift, 13, 81);
+            Table.States (74).Productions := WisiToken.To_Vector ((1 => (41, 
0)));
+            Add_Action (Table.States (74), (21, 27, 30), (41, 0), 3, 
aggregate_g_0'Access, null);
+            Table.States (74).Minimal_Complete_Action := (Reduce, 41, 3);
+            Table.States (75).Productions := WisiToken.To_Vector (((44, 0), 
(44, 1)));
+            Add_Action (Table.States (75), 14, 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);
             Add_Error (Table.States (75));
-            Table.States (75).Minimal_Complete_Action := (Reduce, 42, 3);
-            Table.States (76).Productions := WisiToken.To_Vector ((1 => (54, 
1)));
-            Add_Action (Table.States (76), (20, 26, 29), (54, 1), 3, null, 
null);
-            Table.States (76).Minimal_Complete_Action := (Reduce, 54, 3);
-            Table.States (77).Productions := WisiToken.To_Vector ((1 => (57, 
1)));
-            Add_Action (Table.States (77), (20, 26, 29, 30, 32), (57, 1), 3, 
null, null);
-            Table.States (77).Minimal_Complete_Action := (Reduce, 57, 3);
-            Table.States (78).Productions := WisiToken.To_Vector (((54, 1), 
(68, 1)));
-            Add_Action (Table.States (78), 20, Reduce, (68, 1), 3, null, null);
-            Add_Action (Table.States (78), 26, 64);
-            Add_Action (Table.States (78), 29, Reduce, (68, 1), 3, null, null);
+            Table.States (75).Minimal_Complete_Action := (Reduce, 44, 3);
+            Table.States (76).Productions := WisiToken.To_Vector ((1 => (56, 
1)));
+            Add_Action (Table.States (76), (21, 27, 30), (56, 1), 3, null, 
null);
+            Table.States (76).Minimal_Complete_Action := (Reduce, 56, 3);
+            Table.States (77).Productions := WisiToken.To_Vector ((1 => (59, 
1)));
+            Add_Action (Table.States (77), (21, 27, 30, 31, 33), (59, 1), 3, 
null, null);
+            Table.States (77).Minimal_Complete_Action := (Reduce, 59, 3);
+            Table.States (78).Productions := WisiToken.To_Vector (((56, 1), 
(70, 1)));
+            Add_Action (Table.States (78), 21, Reduce, (70, 1), 3, null, null);
+            Add_Action (Table.States (78), 27, 64);
+            Add_Action (Table.States (78), 30, Reduce, (70, 1), 3, null, null);
             Add_Error (Table.States (78));
-            Table.States (78).Minimal_Complete_Action := (Reduce, 68, 3);
-            Table.States (79).Productions := WisiToken.To_Vector ((1 => (42, 
1)));
-            Add_Action (Table.States (79), 36, 83);
+            Table.States (78).Minimal_Complete_Action := (Reduce, 70, 3);
+            Table.States (79).Productions := WisiToken.To_Vector ((1 => (44, 
1)));
+            Add_Action (Table.States (79), 38, 83);
             Add_Error (Table.States (79));
-            Table.States (79).Minimal_Complete_Action := (Shift, 36, 83);
-            Table.States (80).Productions := WisiToken.To_Vector ((1 => (63, 
0)));
-            Add_Action (Table.States (80), 36, 84);
+            Table.States (79).Minimal_Complete_Action := (Shift, 38, 83);
+            Table.States (80).Productions := WisiToken.To_Vector ((1 => (65, 
0)));
+            Add_Action (Table.States (80), 38, 84);
             Add_Error (Table.States (80));
-            Table.States (80).Minimal_Complete_Action := (Shift, 36, 84);
-            Table.States (81).Productions := WisiToken.To_Vector ((1 => (66, 
0)));
-            Add_Action (Table.States (81), 5, 85);
-            Add_Action (Table.States (81), 7, Reduce, (51, 0), 0, null, null);
-            Add_Action (Table.States (81), 11, 86);
-            Add_Action (Table.States (81), 15, 87);
-            Add_Action (Table.States (81), 17, 88);
-            Add_Action (Table.States (81), 22, 89);
-            Add_Action (Table.States (81), 35, 90);
+            Table.States (80).Minimal_Complete_Action := (Shift, 38, 84);
+            Table.States (81).Productions := WisiToken.To_Vector ((1 => (68, 
0)));
+            Add_Action (Table.States (81), 6, 85);
+            Add_Action (Table.States (81), 8, Reduce, (53, 0), 0, null, null);
+            Add_Action (Table.States (81), 12, 86);
+            Add_Action (Table.States (81), 16, 87);
+            Add_Action (Table.States (81), 18, 88);
+            Add_Action (Table.States (81), 23, 89);
+            Add_Action (Table.States (81), 37, 90);
             Add_Error (Table.States (81));
-            Add_Goto (Table.States (81), 40, 91);
-            Add_Goto (Table.States (81), 43, 92);
-            Add_Goto (Table.States (81), 49, 93);
-            Add_Goto (Table.States (81), 50, 94);
-            Add_Goto (Table.States (81), 51, 95);
-            Add_Goto (Table.States (81), 58, 96);
-            Add_Goto (Table.States (81), 59, 97);
-            Add_Goto (Table.States (81), 60, 98);
-            Add_Goto (Table.States (81), 61, 99);
-            Add_Goto (Table.States (81), 65, 100);
-            Add_Goto (Table.States (81), 70, 101);
-            Table.States (81).Minimal_Complete_Action := (Reduce, 51, 0);
-            Table.States (82).Productions := WisiToken.To_Vector ((1 => (42, 
1)));
-            Add_Action (Table.States (82), 36, 102);
+            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).Minimal_Complete_Action := (Reduce, 53, 0);
+            Table.States (82).Productions := WisiToken.To_Vector ((1 => (44, 
1)));
+            Add_Action (Table.States (82), 38, 102);
             Add_Error (Table.States (82));
-            Table.States (82).Minimal_Complete_Action := (Shift, 36, 102);
-            Table.States (83).Productions := WisiToken.To_Vector ((1 => (42, 
1)));
-            Add_Action (Table.States (83), 20, 103);
+            Table.States (82).Minimal_Complete_Action := (Shift, 38, 102);
+            Table.States (83).Productions := WisiToken.To_Vector ((1 => (44, 
1)));
+            Add_Action (Table.States (83), 21, 103);
             Add_Error (Table.States (83));
-            Table.States (83).Minimal_Complete_Action := (Shift, 20, 103);
-            Table.States (84).Productions := WisiToken.To_Vector ((1 => (63, 
0)));
-            Add_Action (Table.States (84), 12, 104);
+            Table.States (83).Minimal_Complete_Action := (Shift, 21, 103);
+            Table.States (84).Productions := WisiToken.To_Vector ((1 => (65, 
0)));
+            Add_Action (Table.States (84), 13, 104);
             Add_Error (Table.States (84));
-            Table.States (84).Minimal_Complete_Action := (Shift, 12, 104);
-            Table.States (85).Productions := WisiToken.To_Vector ((1 => (43, 
0)));
-            Add_Action (Table.States (85), 12, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (85), 30, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (85), 35, 105);
+            Table.States (84).Minimal_Complete_Action := (Shift, 13, 104);
+            Table.States (85).Productions := WisiToken.To_Vector ((1 => (45, 
0)));
+            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, 105);
             Add_Error (Table.States (85));
-            Add_Goto (Table.States (85), 56, 106);
-            Add_Goto (Table.States (85), 57, 107);
-            Table.States (85).Minimal_Complete_Action := (Reduce, 57, 0);
-            Table.States (86).Productions := WisiToken.To_Vector (((40, 0), 
(40, 1), (40, 2)));
-            Add_Action (Table.States (86), 9, 108);
-            Add_Action (Table.States (86), 35, 109);
+            Add_Goto (Table.States (85), 58, 106);
+            Add_Goto (Table.States (85), 59, 107);
+            Table.States (85).Minimal_Complete_Action := (Reduce, 59, 0);
+            Table.States (86).Productions := WisiToken.To_Vector (((42, 0), 
(42, 1), (42, 2), (42, 3)));
+            Add_Action (Table.States (86), 10, 108);
+            Add_Action (Table.States (86), 37, 109);
             Add_Error (Table.States (86));
-            Table.States (86).Minimal_Complete_Action := (Shift, 35, 109);
-            Table.States (87).Productions := WisiToken.To_Vector ((1 => (65, 
4)));
-            Add_Action (Table.States (87), 33, 110);
+            Table.States (86).Minimal_Complete_Action := (Shift, 37, 109);
+            Table.States (87).Productions := WisiToken.To_Vector ((1 => (67, 
4)));
+            Add_Action (Table.States (87), 34, 110);
             Add_Error (Table.States (87));
-            Table.States (87).Minimal_Complete_Action := (Shift, 33, 110);
-            Table.States (88).Productions := WisiToken.To_Vector (((59, 0), 
(60, 0), (61, 0)));
-            Add_Action (Table.States (88), 8, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (88), 12, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (88), 19, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (88), 35, 111);
+            Table.States (87).Minimal_Complete_Action := (Shift, 34, 110);
+            Table.States (88).Productions := WisiToken.To_Vector (((61, 0), 
(62, 0), (63, 0)));
+            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, 111);
             Add_Error (Table.States (88));
-            Add_Goto (Table.States (88), 56, 112);
-            Table.States (88).Minimal_Complete_Action := (Reduce, 56, 0);
-            Table.States (89).Productions := WisiToken.To_Vector ((1 => (70, 
0)));
-            Add_Action (Table.States (89), 35, 113);
+            Add_Goto (Table.States (88), 58, 112);
+            Table.States (88).Minimal_Complete_Action := (Reduce, 58, 0);
+            Table.States (89).Productions := WisiToken.To_Vector ((1 => (72, 
0)));
+            Add_Action (Table.States (89), 37, 113);
             Add_Error (Table.States (89));
-            Table.States (89).Minimal_Complete_Action := (Shift, 35, 113);
-            Table.States (90).Productions := WisiToken.To_Vector (((65, 0), 
(65, 1)));
-            Add_Action (Table.States (90), 27, 114);
-            Add_Action (Table.States (90), 28, 115);
+            Table.States (89).Minimal_Complete_Action := (Shift, 37, 113);
+            Table.States (90).Productions := WisiToken.To_Vector (((67, 0), 
(67, 1)));
+            Add_Action (Table.States (90), 28, 114);
+            Add_Action (Table.States (90), 29, 115);
             Add_Error (Table.States (90));
-            Table.States (90).Minimal_Complete_Action := (Shift, 28, 115);
-            Table.States (91).Productions := WisiToken.To_Vector ((1 => (65, 
2)));
-            Add_Action (Table.States (91), (5, 7, 11, 15, 17, 22, 35), (65, 
2), 1, null, null);
-            Table.States (91).Minimal_Complete_Action := (Reduce, 65, 1);
-            Table.States (92).Productions := WisiToken.To_Vector ((1 => (65, 
3)));
-            Add_Action (Table.States (92), (5, 7, 11, 15, 17, 22, 35), (65, 
3), 1, null, null);
-            Table.States (92).Minimal_Complete_Action := (Reduce, 65, 1);
-            Table.States (93).Productions := WisiToken.To_Vector ((1 => (50, 
0)));
-            Add_Action (Table.States (93), (5, 7, 11, 15, 17, 22, 35), (50, 
0), 1, null, null);
-            Table.States (93).Minimal_Complete_Action := (Reduce, 50, 1);
-            Table.States (94).Productions := WisiToken.To_Vector (((50, 1), 
(51, 1)));
-            Add_Action (Table.States (94), 5, 85);
-            Add_Action (Table.States (94), 7, Reduce, (51, 1), 1, null, null);
-            Add_Action (Table.States (94), 11, 86);
-            Add_Action (Table.States (94), 15, 87);
-            Add_Action (Table.States (94), 17, 88);
-            Add_Action (Table.States (94), 22, 89);
-            Add_Action (Table.States (94), 35, 90);
+            Table.States (90).Minimal_Complete_Action := (Shift, 29, 115);
+            Table.States (91).Productions := WisiToken.To_Vector ((1 => (67, 
2)));
+            Add_Action (Table.States (91), (6, 8, 12, 16, 18, 23, 37), (67, 
2), 1, null, null);
+            Table.States (91).Minimal_Complete_Action := (Reduce, 67, 1);
+            Table.States (92).Productions := WisiToken.To_Vector ((1 => (67, 
3)));
+            Add_Action (Table.States (92), (6, 8, 12, 16, 18, 23, 37), (67, 
3), 1, null, null);
+            Table.States (92).Minimal_Complete_Action := (Reduce, 67, 1);
+            Table.States (93).Productions := WisiToken.To_Vector ((1 => (52, 
0)));
+            Add_Action (Table.States (93), (6, 8, 12, 16, 18, 23, 37), (52, 
0), 1, null, null);
+            Table.States (93).Minimal_Complete_Action := (Reduce, 52, 1);
+            Table.States (94).Productions := WisiToken.To_Vector (((52, 1), 
(53, 1)));
+            Add_Action (Table.States (94), 6, 85);
+            Add_Action (Table.States (94), 8, Reduce, (53, 1), 1, null, null);
+            Add_Action (Table.States (94), 12, 86);
+            Add_Action (Table.States (94), 16, 87);
+            Add_Action (Table.States (94), 18, 88);
+            Add_Action (Table.States (94), 23, 89);
+            Add_Action (Table.States (94), 37, 90);
             Add_Error (Table.States (94));
-            Add_Goto (Table.States (94), 40, 91);
-            Add_Goto (Table.States (94), 43, 92);
-            Add_Goto (Table.States (94), 49, 116);
-            Add_Goto (Table.States (94), 58, 96);
-            Add_Goto (Table.States (94), 59, 97);
-            Add_Goto (Table.States (94), 60, 98);
-            Add_Goto (Table.States (94), 61, 99);
-            Add_Goto (Table.States (94), 65, 100);
-            Add_Goto (Table.States (94), 70, 101);
-            Table.States (94).Minimal_Complete_Action := (Reduce, 51, 1);
-            Table.States (95).Productions := WisiToken.To_Vector ((1 => (66, 
0)));
-            Add_Action (Table.States (95), 7, 117);
+            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).Minimal_Complete_Action := (Reduce, 53, 1);
+            Table.States (95).Productions := WisiToken.To_Vector ((1 => (68, 
0)));
+            Add_Action (Table.States (95), 8, 117);
             Add_Error (Table.States (95));
-            Table.States (95).Minimal_Complete_Action := (Shift, 7, 117);
-            Table.States (96).Productions := WisiToken.To_Vector ((1 => (49, 
2)));
-            Add_Action (Table.States (96), (5, 7, 11, 15, 17, 22, 35), (49, 
2), 1, null, null);
-            Table.States (96).Minimal_Complete_Action := (Reduce, 49, 1);
-            Table.States (97).Productions := WisiToken.To_Vector ((1 => (58, 
0)));
-            Add_Action (Table.States (97), (5, 7, 11, 15, 17, 22, 35), (58, 
0), 1, null, null);
-            Table.States (97).Minimal_Complete_Action := (Reduce, 58, 1);
-            Table.States (98).Productions := WisiToken.To_Vector ((1 => (58, 
1)));
-            Add_Action (Table.States (98), (5, 7, 11, 15, 17, 22, 35), (58, 
1), 1, null, null);
-            Table.States (98).Minimal_Complete_Action := (Reduce, 58, 1);
-            Table.States (99).Productions := WisiToken.To_Vector ((1 => (58, 
2)));
-            Add_Action (Table.States (99), (5, 7, 11, 15, 17, 22, 35), (58, 
2), 1, null, null);
-            Table.States (99).Minimal_Complete_Action := (Reduce, 58, 1);
-            Table.States (100).Productions := WisiToken.To_Vector ((1 => (49, 
0)));
-            Add_Action (Table.States (100), (5, 7, 11, 15, 17, 22, 35), (49, 
0), 1, null, null);
-            Table.States (100).Minimal_Complete_Action := (Reduce, 49, 1);
-            Table.States (101).Productions := WisiToken.To_Vector ((1 => (49, 
1)));
-            Add_Action (Table.States (101), (5, 7, 11, 15, 17, 22, 35), (49, 
1), 1, null, null);
-            Table.States (101).Minimal_Complete_Action := (Reduce, 49, 1);
-            Table.States (102).Productions := WisiToken.To_Vector ((1 => (42, 
1)));
-            Add_Action (Table.States (102), 20, 118);
+            Table.States (95).Minimal_Complete_Action := (Shift, 8, 117);
+            Table.States (96).Productions := WisiToken.To_Vector ((1 => (51, 
2)));
+            Add_Action (Table.States (96), (6, 8, 12, 16, 18, 23, 37), (51, 
2), 1, null, null);
+            Table.States (96).Minimal_Complete_Action := (Reduce, 51, 1);
+            Table.States (97).Productions := WisiToken.To_Vector ((1 => (60, 
0)));
+            Add_Action (Table.States (97), (6, 8, 12, 16, 18, 23, 37), (60, 
0), 1, null, null);
+            Table.States (97).Minimal_Complete_Action := (Reduce, 60, 1);
+            Table.States (98).Productions := WisiToken.To_Vector ((1 => (60, 
1)));
+            Add_Action (Table.States (98), (6, 8, 12, 16, 18, 23, 37), (60, 
1), 1, null, null);
+            Table.States (98).Minimal_Complete_Action := (Reduce, 60, 1);
+            Table.States (99).Productions := WisiToken.To_Vector ((1 => (60, 
2)));
+            Add_Action (Table.States (99), (6, 8, 12, 16, 18, 23, 37), (60, 
2), 1, null, null);
+            Table.States (99).Minimal_Complete_Action := (Reduce, 60, 1);
+            Table.States (100).Productions := WisiToken.To_Vector ((1 => (51, 
0)));
+            Add_Action (Table.States (100), (6, 8, 12, 16, 18, 23, 37), (51, 
0), 1, null, null);
+            Table.States (100).Minimal_Complete_Action := (Reduce, 51, 1);
+            Table.States (101).Productions := WisiToken.To_Vector ((1 => (51, 
1)));
+            Add_Action (Table.States (101), (6, 8, 12, 16, 18, 23, 37), (51, 
1), 1, null, null);
+            Table.States (101).Minimal_Complete_Action := (Reduce, 51, 1);
+            Table.States (102).Productions := WisiToken.To_Vector ((1 => (44, 
1)));
+            Add_Action (Table.States (102), 21, 118);
             Add_Error (Table.States (102));
-            Table.States (102).Minimal_Complete_Action := (Shift, 20, 118);
-            Table.States (103).Productions := WisiToken.To_Vector ((1 => (42, 
1)));
-            Add_Action (Table.States (103), (26, 29, 33), (42, 1), 6, null, 
null);
-            Table.States (103).Minimal_Complete_Action := (Reduce, 42, 6);
-            Table.States (104).Productions := WisiToken.To_Vector ((1 => (63, 
0)));
-            Add_Action (Table.States (104), 5, 85);
-            Add_Action (Table.States (104), 7, Reduce, (51, 0), 0, null, null);
-            Add_Action (Table.States (104), 11, 86);
-            Add_Action (Table.States (104), 15, 87);
-            Add_Action (Table.States (104), 17, 88);
-            Add_Action (Table.States (104), 22, 89);
-            Add_Action (Table.States (104), 35, 90);
+            Table.States (102).Minimal_Complete_Action := (Shift, 21, 118);
+            Table.States (103).Productions := WisiToken.To_Vector ((1 => (44, 
1)));
+            Add_Action (Table.States (103), (27, 30, 34), (44, 1), 6, null, 
null);
+            Table.States (103).Minimal_Complete_Action := (Reduce, 44, 6);
+            Table.States (104).Productions := WisiToken.To_Vector ((1 => (65, 
0)));
+            Add_Action (Table.States (104), 6, 85);
+            Add_Action (Table.States (104), 8, Reduce, (53, 0), 0, null, null);
+            Add_Action (Table.States (104), 12, 86);
+            Add_Action (Table.States (104), 16, 87);
+            Add_Action (Table.States (104), 18, 88);
+            Add_Action (Table.States (104), 23, 89);
+            Add_Action (Table.States (104), 37, 90);
             Add_Error (Table.States (104));
-            Add_Goto (Table.States (104), 40, 91);
-            Add_Goto (Table.States (104), 43, 92);
-            Add_Goto (Table.States (104), 49, 93);
-            Add_Goto (Table.States (104), 50, 94);
-            Add_Goto (Table.States (104), 51, 119);
-            Add_Goto (Table.States (104), 58, 96);
-            Add_Goto (Table.States (104), 59, 97);
-            Add_Goto (Table.States (104), 60, 98);
-            Add_Goto (Table.States (104), 61, 99);
-            Add_Goto (Table.States (104), 65, 100);
-            Add_Goto (Table.States (104), 70, 101);
-            Table.States (104).Minimal_Complete_Action := (Reduce, 51, 0);
-            Table.States (105).Productions := WisiToken.To_Vector ((1 => (56, 
1)));
-            Add_Action (Table.States (105), (12, 30), (56, 1), 1, null, 
identifier_opt_1_check'Access);
-            Table.States (105).Minimal_Complete_Action := (Reduce, 56, 1);
-            Table.States (106).Productions := WisiToken.To_Vector ((1 => (57, 
0)));
-            Add_Action (Table.States (106), (12, 30), (57, 0), 1, null, null);
-            Table.States (106).Minimal_Complete_Action := (Reduce, 57, 1);
+            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).Minimal_Complete_Action := (Reduce, 53, 0);
+            Table.States (105).Productions := WisiToken.To_Vector ((1 => (58, 
1)));
+            Add_Action (Table.States (105), (13, 31), (58, 1), 1, null, 
identifier_opt_1_check'Access);
+            Table.States (105).Minimal_Complete_Action := (Reduce, 58, 1);
+            Table.States (106).Productions := WisiToken.To_Vector ((1 => (59, 
0)));
+            Add_Action (Table.States (106), (13, 31), (59, 0), 1, null, null);
+            Table.States (106).Minimal_Complete_Action := (Reduce, 59, 1);
          end Subr_1;
          procedure Subr_2
          is begin
-            Table.States (107).Productions := WisiToken.To_Vector (((43, 0), 
(57, 1)));
-            Add_Action (Table.States (107), 12, 120);
-            Add_Action (Table.States (107), 30, 121);
+            Table.States (107).Productions := WisiToken.To_Vector (((45, 0), 
(59, 1)));
+            Add_Action (Table.States (107), 13, 120);
+            Add_Action (Table.States (107), 31, 121);
             Add_Error (Table.States (107));
-            Table.States (107).Minimal_Complete_Action := (Shift, 12, 120);
-            Table.States (108).Productions := WisiToken.To_Vector ((1 => (40, 
2)));
-            Add_Action (Table.States (108), 13, 122);
+            Table.States (107).Minimal_Complete_Action := (Shift, 13, 120);
+            Table.States (108).Productions := WisiToken.To_Vector ((1 => (42, 
3)));
+            Add_Action (Table.States (108), 14, 122);
             Add_Error (Table.States (108));
-            Table.States (108).Minimal_Complete_Action := (Shift, 13, 122);
-            Table.States (109).Productions := WisiToken.To_Vector (((40, 0), 
(40, 1)));
-            Add_Action (Table.States (109), 13, 123);
-            Add_Action (Table.States (109), 23, 124);
+            Table.States (108).Minimal_Complete_Action := (Shift, 14, 122);
+            Table.States (109).Productions := WisiToken.To_Vector (((42, 0), 
(42, 1), (42, 2)));
+            Add_Action (Table.States (109), 14, 123);
+            Add_Action (Table.States (109), 24, 124);
             Add_Error (Table.States (109));
-            Table.States (109).Minimal_Complete_Action := (Shift, 23, 124);
-            Table.States (110).Productions := WisiToken.To_Vector ((1 => (65, 
4)));
-            Add_Action (Table.States (110), (5, 7, 11, 15, 17, 22, 35), (65, 
4), 2, simple_declarative_item_4'Access,
+            Table.States (109).Minimal_Complete_Action := (Shift, 24, 124);
+            Table.States (110).Productions := WisiToken.To_Vector ((1 => (67, 
4)));
+            Add_Action (Table.States (110), (6, 8, 12, 16, 18, 23, 37), (67, 
4), 2, simple_declarative_item_4'Access,
             null);
-            Table.States (110).Minimal_Complete_Action := (Reduce, 65, 2);
-            Table.States (111).Productions := WisiToken.To_Vector ((1 => (56, 
1)));
-            Add_Action (Table.States (111), (8, 12, 19), (56, 1), 1, null, 
identifier_opt_1_check'Access);
-            Table.States (111).Minimal_Complete_Action := (Reduce, 56, 1);
-            Table.States (112).Productions := WisiToken.To_Vector (((59, 0), 
(60, 0), (61, 0)));
-            Add_Action (Table.States (112), 8, 125);
-            Add_Action (Table.States (112), 12, 126);
-            Add_Action (Table.States (112), 19, 127);
+            Table.States (110).Minimal_Complete_Action := (Reduce, 67, 2);
+            Table.States (111).Productions := WisiToken.To_Vector ((1 => (58, 
1)));
+            Add_Action (Table.States (111), (9, 13, 20), (58, 1), 1, null, 
identifier_opt_1_check'Access);
+            Table.States (111).Minimal_Complete_Action := (Reduce, 58, 1);
+            Table.States (112).Productions := WisiToken.To_Vector (((61, 0), 
(62, 0), (63, 0)));
+            Add_Action (Table.States (112), 9, 125);
+            Add_Action (Table.States (112), 13, 126);
+            Add_Action (Table.States (112), 20, 127);
             Add_Error (Table.States (112));
-            Table.States (112).Minimal_Complete_Action := (Shift, 19, 127);
-            Table.States (113).Productions := WisiToken.To_Vector ((1 => (70, 
0)));
-            Add_Action (Table.States (113), 12, 128);
+            Table.States (112).Minimal_Complete_Action := (Shift, 20, 127);
+            Table.States (113).Productions := WisiToken.To_Vector ((1 => (72, 
0)));
+            Add_Action (Table.States (113), 13, 128);
             Add_Error (Table.States (113));
-            Table.States (113).Minimal_Complete_Action := (Shift, 12, 128);
-            Table.States (114).Productions := WisiToken.To_Vector ((1 => (65, 
1)));
-            Add_Action (Table.States (114), 35, 129);
+            Table.States (113).Minimal_Complete_Action := (Shift, 13, 128);
+            Table.States (114).Productions := WisiToken.To_Vector ((1 => (67, 
1)));
+            Add_Action (Table.States (114), 37, 129);
             Add_Error (Table.States (114));
-            Table.States (114).Minimal_Complete_Action := (Shift, 35, 129);
-            Table.States (115).Productions := WisiToken.To_Vector ((1 => (65, 
0)));
-            Add_Action (Table.States (115), 9, 130);
-            Add_Action (Table.States (115), 10, 131);
-            Add_Action (Table.States (115), 13, 132);
-            Add_Action (Table.States (115), 18, 9);
-            Add_Action (Table.States (115), 26, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (115), 30, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (115), 32, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (115), 33, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (115), 35, 133);
-            Add_Action (Table.States (115), 36, 134);
+            Table.States (114).Minimal_Complete_Action := (Shift, 37, 129);
+            Table.States (115).Productions := WisiToken.To_Vector ((1 => (67, 
0)));
+            Add_Action (Table.States (115), 10, 130);
+            Add_Action (Table.States (115), 11, 131);
+            Add_Action (Table.States (115), 14, 132);
+            Add_Action (Table.States (115), 19, 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, 133);
+            Add_Action (Table.States (115), 38, 134);
             Add_Error (Table.States (115));
-            Add_Goto (Table.States (115), 39, 135);
-            Add_Goto (Table.States (115), 41, 136);
-            Add_Goto (Table.States (115), 42, 137);
-            Add_Goto (Table.States (115), 54, 138);
-            Add_Goto (Table.States (115), 55, 139);
-            Add_Goto (Table.States (115), 56, 140);
-            Add_Goto (Table.States (115), 57, 141);
-            Add_Goto (Table.States (115), 67, 142);
-            Add_Goto (Table.States (115), 69, 143);
-            Table.States (115).Minimal_Complete_Action := (Reduce, 54, 0);
-            Table.States (116).Productions := WisiToken.To_Vector ((1 => (50, 
1)));
-            Add_Action (Table.States (116), (5, 7, 11, 15, 17, 22, 35), (50, 
1), 2, null, null);
-            Table.States (116).Minimal_Complete_Action := (Reduce, 50, 2);
-            Table.States (117).Productions := WisiToken.To_Vector ((1 => (66, 
0)));
-            Add_Action (Table.States (117), 33, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (117), 35, 144);
+            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).Minimal_Complete_Action := (Reduce, 56, 0);
+            Table.States (116).Productions := WisiToken.To_Vector ((1 => (52, 
1)));
+            Add_Action (Table.States (116), (6, 8, 12, 16, 18, 23, 37), (52, 
1), 2, null, null);
+            Table.States (116).Minimal_Complete_Action := (Reduce, 52, 2);
+            Table.States (117).Productions := WisiToken.To_Vector ((1 => (68, 
0)));
+            Add_Action (Table.States (117), 34, Reduce, (58, 0), 0, null, 
null);
+            Add_Action (Table.States (117), 37, 144);
             Add_Error (Table.States (117));
-            Add_Goto (Table.States (117), 56, 145);
-            Table.States (117).Minimal_Complete_Action := (Reduce, 56, 0);
-            Table.States (118).Productions := WisiToken.To_Vector ((1 => (42, 
1)));
-            Add_Action (Table.States (118), (20, 26, 29), (42, 1), 6, null, 
null);
-            Table.States (118).Minimal_Complete_Action := (Reduce, 42, 6);
-            Table.States (119).Productions := WisiToken.To_Vector ((1 => (63, 
0)));
-            Add_Action (Table.States (119), 7, 146);
+            Add_Goto (Table.States (117), 58, 145);
+            Table.States (117).Minimal_Complete_Action := (Reduce, 58, 0);
+            Table.States (118).Productions := WisiToken.To_Vector ((1 => (44, 
1)));
+            Add_Action (Table.States (118), (21, 27, 30), (44, 1), 6, null, 
null);
+            Table.States (118).Minimal_Complete_Action := (Reduce, 44, 6);
+            Table.States (119).Productions := WisiToken.To_Vector ((1 => (65, 
0)));
+            Add_Action (Table.States (119), 8, 146);
             Add_Error (Table.States (119));
-            Table.States (119).Minimal_Complete_Action := (Shift, 7, 146);
-            Table.States (120).Productions := WisiToken.To_Vector ((1 => (43, 
0)));
-            Add_Action (Table.States (120), 7, Reduce, (45, 0), 0, null, null);
-            Add_Action (Table.States (120), 24, 147);
-            Add_Conflict (Table.States (120), 24, (45, 0), 0, null, null);
+            Table.States (119).Minimal_Complete_Action := (Shift, 8, 146);
+            Table.States (120).Productions := WisiToken.To_Vector ((1 => (45, 
0)));
+            Add_Action (Table.States (120), 8, Reduce, (47, 0), 0, null, null);
+            Add_Action (Table.States (120), 25, 147);
+            Add_Conflict (Table.States (120), 25, (47, 0), 0, null, null);
             Add_Error (Table.States (120));
-            Add_Goto (Table.States (120), 44, 148);
-            Add_Goto (Table.States (120), 45, 149);
-            Table.States (120).Minimal_Complete_Action := (Reduce, 45, 0);
-            Table.States (121).Productions := WisiToken.To_Vector ((1 => (57, 
1)));
-            Add_Action (Table.States (121), 35, 150);
+            Add_Goto (Table.States (120), 46, 148);
+            Add_Goto (Table.States (120), 47, 149);
+            Table.States (120).Minimal_Complete_Action := (Reduce, 47, 0);
+            Table.States (121).Productions := WisiToken.To_Vector ((1 => (59, 
1)));
+            Add_Action (Table.States (121), 37, 150);
             Add_Error (Table.States (121));
-            Table.States (121).Minimal_Complete_Action := (Shift, 35, 150);
-            Table.States (122).Productions := WisiToken.To_Vector ((1 => (40, 
2)));
-            Add_Action (Table.States (122), 36, 151);
+            Table.States (121).Minimal_Complete_Action := (Shift, 37, 150);
+            Table.States (122).Productions := WisiToken.To_Vector ((1 => (42, 
3)));
+            Add_Action (Table.States (122), 38, 151);
             Add_Error (Table.States (122));
-            Table.States (122).Minimal_Complete_Action := (Shift, 36, 151);
-            Table.States (123).Productions := WisiToken.To_Vector ((1 => (40, 
1)));
-            Add_Action (Table.States (123), 16, 152);
-            Add_Action (Table.States (123), 20, Reduce, (52, 0), 0, null, 
null);
-            Add_Action (Table.States (123), 36, 153);
+            Table.States (122).Minimal_Complete_Action := (Shift, 38, 151);
+            Table.States (123).Productions := WisiToken.To_Vector (((42, 1), 
(42, 2)));
+            Add_Action (Table.States (123), 17, 152);
+            Add_Action (Table.States (123), 21, Reduce, (54, 0), 0, null, 
null);
+            Add_Action (Table.States (123), 38, 153);
             Add_Error (Table.States (123));
-            Add_Goto (Table.States (123), 52, 154);
-            Table.States (123).Minimal_Complete_Action := (Reduce, 52, 0);
-            Table.States (124).Productions := WisiToken.To_Vector ((1 => (40, 
0)));
-            Add_Action (Table.States (124), 9, 130);
-            Add_Action (Table.States (124), 10, 131);
-            Add_Action (Table.States (124), 13, 132);
-            Add_Action (Table.States (124), 18, 9);
-            Add_Action (Table.States (124), 26, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (124), 30, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (124), 32, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (124), 33, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (124), 35, 133);
-            Add_Action (Table.States (124), 36, 134);
+            Add_Goto (Table.States (123), 54, 154);
+            Table.States (123).Minimal_Complete_Action := (Reduce, 54, 0);
+            Table.States (124).Productions := WisiToken.To_Vector ((1 => (42, 
0)));
+            Add_Action (Table.States (124), 10, 130);
+            Add_Action (Table.States (124), 11, 131);
+            Add_Action (Table.States (124), 14, 132);
+            Add_Action (Table.States (124), 19, 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, 133);
+            Add_Action (Table.States (124), 38, 134);
             Add_Error (Table.States (124));
-            Add_Goto (Table.States (124), 39, 135);
-            Add_Goto (Table.States (124), 41, 136);
-            Add_Goto (Table.States (124), 42, 137);
-            Add_Goto (Table.States (124), 54, 155);
-            Add_Goto (Table.States (124), 55, 139);
-            Add_Goto (Table.States (124), 56, 140);
-            Add_Goto (Table.States (124), 57, 141);
-            Add_Goto (Table.States (124), 67, 142);
-            Add_Goto (Table.States (124), 69, 143);
-            Table.States (124).Minimal_Complete_Action := (Reduce, 54, 0);
-            Table.States (125).Productions := WisiToken.To_Vector ((1 => (60, 
0)));
-            Add_Action (Table.States (125), 12, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (125), 30, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (125), 35, 105);
+            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).Minimal_Complete_Action := (Reduce, 56, 0);
+            Table.States (125).Productions := WisiToken.To_Vector ((1 => (62, 
0)));
+            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, 105);
             Add_Error (Table.States (125));
-            Add_Goto (Table.States (125), 56, 106);
-            Add_Goto (Table.States (125), 57, 156);
-            Table.States (125).Minimal_Complete_Action := (Reduce, 57, 0);
-            Table.States (126).Productions := WisiToken.To_Vector ((1 => (59, 
0)));
-            Add_Action (Table.States (126), 5, 85);
-            Add_Action (Table.States (126), 7, Reduce, (51, 0), 0, null, null);
-            Add_Action (Table.States (126), 11, 86);
-            Add_Action (Table.States (126), 15, 87);
-            Add_Action (Table.States (126), 17, 88);
-            Add_Action (Table.States (126), 22, 89);
-            Add_Action (Table.States (126), 35, 90);
+            Add_Goto (Table.States (125), 58, 106);
+            Add_Goto (Table.States (125), 59, 156);
+            Table.States (125).Minimal_Complete_Action := (Reduce, 59, 0);
+            Table.States (126).Productions := WisiToken.To_Vector ((1 => (61, 
0)));
+            Add_Action (Table.States (126), 6, 85);
+            Add_Action (Table.States (126), 8, Reduce, (53, 0), 0, null, null);
+            Add_Action (Table.States (126), 12, 86);
+            Add_Action (Table.States (126), 16, 87);
+            Add_Action (Table.States (126), 18, 88);
+            Add_Action (Table.States (126), 23, 89);
+            Add_Action (Table.States (126), 37, 90);
             Add_Error (Table.States (126));
-            Add_Goto (Table.States (126), 40, 91);
-            Add_Goto (Table.States (126), 43, 92);
-            Add_Goto (Table.States (126), 49, 93);
-            Add_Goto (Table.States (126), 50, 94);
-            Add_Goto (Table.States (126), 51, 157);
-            Add_Goto (Table.States (126), 58, 96);
-            Add_Goto (Table.States (126), 59, 97);
-            Add_Goto (Table.States (126), 60, 98);
-            Add_Goto (Table.States (126), 61, 99);
-            Add_Goto (Table.States (126), 65, 100);
-            Add_Goto (Table.States (126), 70, 101);
-            Table.States (126).Minimal_Complete_Action := (Reduce, 51, 0);
-            Table.States (127).Productions := WisiToken.To_Vector ((1 => (61, 
0)));
-            Add_Action (Table.States (127), 30, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (127), 33, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (127), 35, 158);
+            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).Minimal_Complete_Action := (Reduce, 53, 0);
+            Table.States (127).Productions := WisiToken.To_Vector ((1 => (63, 
0)));
+            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, 158);
             Add_Error (Table.States (127));
-            Add_Goto (Table.States (127), 56, 159);
-            Add_Goto (Table.States (127), 57, 160);
-            Table.States (127).Minimal_Complete_Action := (Reduce, 57, 0);
-            Table.States (128).Productions := WisiToken.To_Vector ((1 => (70, 
0)));
-            Add_Action (Table.States (128), 13, 161);
+            Add_Goto (Table.States (127), 58, 159);
+            Add_Goto (Table.States (127), 59, 160);
+            Table.States (127).Minimal_Complete_Action := (Reduce, 59, 0);
+            Table.States (128).Productions := WisiToken.To_Vector ((1 => (72, 
0)));
+            Add_Action (Table.States (128), 14, 161);
             Add_Error (Table.States (128));
-            Add_Goto (Table.States (128), 39, 162);
-            Table.States (128).Minimal_Complete_Action := (Shift, 13, 161);
-            Table.States (129).Productions := WisiToken.To_Vector ((1 => (65, 
1)));
-            Add_Action (Table.States (129), 28, 163);
+            Add_Goto (Table.States (128), 41, 162);
+            Table.States (128).Minimal_Complete_Action := (Shift, 14, 161);
+            Table.States (129).Productions := WisiToken.To_Vector ((1 => (67, 
1)));
+            Add_Action (Table.States (129), 29, 163);
             Add_Error (Table.States (129));
-            Table.States (129).Minimal_Complete_Action := (Shift, 28, 163);
-            Table.States (130).Productions := WisiToken.To_Vector ((1 => (55, 
0)));
-            Add_Action (Table.States (130), 13, 164);
+            Table.States (129).Minimal_Complete_Action := (Shift, 29, 163);
+            Table.States (130).Productions := WisiToken.To_Vector ((1 => (57, 
0)));
+            Add_Action (Table.States (130), 14, 164);
             Add_Error (Table.States (130));
-            Add_Goto (Table.States (130), 39, 165);
-            Table.States (130).Minimal_Complete_Action := (Shift, 13, 164);
-            Table.States (131).Productions := WisiToken.To_Vector ((1 => (55, 
1)));
-            Add_Action (Table.States (131), 13, 164);
+            Add_Goto (Table.States (130), 41, 165);
+            Table.States (130).Minimal_Complete_Action := (Shift, 14, 164);
+            Table.States (131).Productions := WisiToken.To_Vector ((1 => (57, 
1)));
+            Add_Action (Table.States (131), 14, 164);
             Add_Error (Table.States (131));
-            Add_Goto (Table.States (131), 39, 166);
-            Table.States (131).Minimal_Complete_Action := (Shift, 13, 164);
-            Table.States (132).Productions := WisiToken.To_Vector (((39, 0), 
(69, 1)));
-            Add_Action (Table.States (132), 9, 32);
-            Add_Action (Table.States (132), 10, 33);
-            Add_Action (Table.States (132), 13, 34);
-            Add_Action (Table.States (132), 18, 9);
-            Add_Action (Table.States (132), 20, 167);
-            Add_Conflict (Table.States (132), 20, (56, 0), 0, null, null);
-            Add_Action (Table.States (132), 26, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (132), 29, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (132), 30, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (132), 32, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (132), 35, 36);
-            Add_Action (Table.States (132), 36, 37);
+            Add_Goto (Table.States (131), 41, 166);
+            Table.States (131).Minimal_Complete_Action := (Shift, 14, 164);
+            Table.States (132).Productions := WisiToken.To_Vector (((41, 0), 
(71, 1)));
+            Add_Action (Table.States (132), 10, 32);
+            Add_Action (Table.States (132), 11, 33);
+            Add_Action (Table.States (132), 14, 34);
+            Add_Action (Table.States (132), 19, 9);
+            Add_Action (Table.States (132), 21, 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, 36);
+            Add_Action (Table.States (132), 38, 37);
             Add_Error (Table.States (132));
-            Add_Goto (Table.States (132), 39, 38);
-            Add_Goto (Table.States (132), 41, 39);
-            Add_Goto (Table.States (132), 42, 40);
-            Add_Goto (Table.States (132), 54, 41);
-            Add_Goto (Table.States (132), 55, 42);
-            Add_Goto (Table.States (132), 56, 43);
-            Add_Goto (Table.States (132), 57, 44);
-            Add_Goto (Table.States (132), 67, 45);
-            Add_Goto (Table.States (132), 68, 168);
-            Add_Goto (Table.States (132), 69, 47);
-            Table.States (132).Minimal_Complete_Action := (Reduce, 68, 0);
-            Table.States (133).Productions := WisiToken.To_Vector ((1 => (56, 
1)));
-            Add_Action (Table.States (133), (26, 30, 32, 33), (56, 1), 1, 
null, identifier_opt_1_check'Access);
-            Table.States (133).Minimal_Complete_Action := (Reduce, 56, 1);
-            Table.States (134).Productions := WisiToken.To_Vector ((1 => (67, 
0)));
-            Add_Action (Table.States (134), (26, 33), (67, 0), 1, null, null);
-            Table.States (134).Minimal_Complete_Action := (Reduce, 67, 1);
-            Table.States (135).Productions := WisiToken.To_Vector ((1 => (69, 
2)));
-            Add_Action (Table.States (135), (26, 33), (69, 2), 1, null, null);
-            Table.States (135).Minimal_Complete_Action := (Reduce, 69, 1);
-            Table.States (136).Productions := WisiToken.To_Vector (((42, 0), 
(42, 1)));
-            Add_Action (Table.States (136), 32, 169);
+            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).Minimal_Complete_Action := (Reduce, 70, 0);
+            Table.States (133).Productions := WisiToken.To_Vector ((1 => (58, 
1)));
+            Add_Action (Table.States (133), (27, 31, 33, 34), (58, 1), 1, 
null, identifier_opt_1_check'Access);
+            Table.States (133).Minimal_Complete_Action := (Reduce, 58, 1);
+            Table.States (134).Productions := WisiToken.To_Vector ((1 => (69, 
0)));
+            Add_Action (Table.States (134), (27, 34), (69, 0), 1, null, null);
+            Table.States (134).Minimal_Complete_Action := (Reduce, 69, 1);
+            Table.States (135).Productions := WisiToken.To_Vector ((1 => (71, 
2)));
+            Add_Action (Table.States (135), (27, 34), (71, 2), 1, null, null);
+            Table.States (135).Minimal_Complete_Action := (Reduce, 71, 1);
+            Table.States (136).Productions := WisiToken.To_Vector (((44, 0), 
(44, 1)));
+            Add_Action (Table.States (136), 33, 169);
             Add_Error (Table.States (136));
-            Table.States (136).Minimal_Complete_Action := (Shift, 32, 169);
-            Table.States (137).Productions := WisiToken.To_Vector ((1 => (67, 
3)));
-            Add_Action (Table.States (137), (26, 33), (67, 3), 1, null, null);
-            Table.States (137).Minimal_Complete_Action := (Reduce, 67, 1);
-            Table.States (138).Productions := WisiToken.To_Vector (((54, 1), 
(65, 0)));
-            Add_Action (Table.States (138), 26, 170);
-            Add_Action (Table.States (138), 33, 171);
+            Table.States (136).Minimal_Complete_Action := (Shift, 33, 169);
+            Table.States (137).Productions := WisiToken.To_Vector ((1 => (69, 
3)));
+            Add_Action (Table.States (137), (27, 34), (69, 3), 1, null, null);
+            Table.States (137).Minimal_Complete_Action := (Reduce, 69, 1);
+            Table.States (138).Productions := WisiToken.To_Vector (((56, 1), 
(67, 0)));
+            Add_Action (Table.States (138), 27, 170);
+            Add_Action (Table.States (138), 34, 171);
             Add_Error (Table.States (138));
-            Table.States (138).Minimal_Complete_Action := (Shift, 33, 171);
-            Table.States (139).Productions := WisiToken.To_Vector ((1 => (67, 
2)));
-            Add_Action (Table.States (139), (26, 33), (67, 2), 1, null, null);
-            Table.States (139).Minimal_Complete_Action := (Reduce, 67, 1);
-            Table.States (140).Productions := WisiToken.To_Vector ((1 => (57, 
0)));
-            Add_Action (Table.States (140), (26, 30, 32, 33), (57, 0), 1, 
null, null);
-            Table.States (140).Minimal_Complete_Action := (Reduce, 57, 1);
-            Table.States (141).Productions := WisiToken.To_Vector (((41, 1), 
(57, 1), (67, 1)));
-            Add_Action (Table.States (141), 26, Reduce, (67, 1), 1, null, 
null);
-            Add_Action (Table.States (141), 30, 172);
-            Add_Action (Table.States (141), 32, Reduce, (41, 1), 1, null, 
null);
-            Add_Action (Table.States (141), 33, Reduce, (67, 1), 1, null, 
null);
+            Table.States (138).Minimal_Complete_Action := (Shift, 34, 171);
+            Table.States (139).Productions := WisiToken.To_Vector ((1 => (69, 
2)));
+            Add_Action (Table.States (139), (27, 34), (69, 2), 1, null, null);
+            Table.States (139).Minimal_Complete_Action := (Reduce, 69, 1);
+            Table.States (140).Productions := WisiToken.To_Vector ((1 => (59, 
0)));
+            Add_Action (Table.States (140), (27, 31, 33, 34), (59, 0), 1, 
null, null);
+            Table.States (140).Minimal_Complete_Action := (Reduce, 59, 1);
+            Table.States (141).Productions := WisiToken.To_Vector (((43, 1), 
(59, 1), (69, 1)));
+            Add_Action (Table.States (141), 27, Reduce, (69, 1), 1, null, 
null);
+            Add_Action (Table.States (141), 31, 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);
             Add_Error (Table.States (141));
-            Table.States (141).Minimal_Complete_Action := (Reduce, 41, 1);
-            Table.States (142).Productions := WisiToken.To_Vector ((1 => (69, 
0)));
-            Add_Action (Table.States (142), (26, 33), (69, 0), 1, null, null);
-            Table.States (142).Minimal_Complete_Action := (Reduce, 69, 1);
-            Table.States (143).Productions := WisiToken.To_Vector ((1 => (54, 
0)));
-            Add_Action (Table.States (143), (26, 33), (54, 0), 1, null, null);
-            Table.States (143).Minimal_Complete_Action := (Reduce, 54, 1);
-            Table.States (144).Productions := WisiToken.To_Vector ((1 => (56, 
1)));
-            Add_Action (Table.States (144), (1 =>  33), (56, 1), 1, null, 
identifier_opt_1_check'Access);
-            Table.States (144).Minimal_Complete_Action := (Reduce, 56, 1);
-            Table.States (145).Productions := WisiToken.To_Vector ((1 => (66, 
0)));
-            Add_Action (Table.States (145), 33, 173);
+            Table.States (141).Minimal_Complete_Action := (Reduce, 43, 1);
+            Table.States (142).Productions := WisiToken.To_Vector ((1 => (71, 
0)));
+            Add_Action (Table.States (142), (27, 34), (71, 0), 1, null, null);
+            Table.States (142).Minimal_Complete_Action := (Reduce, 71, 1);
+            Table.States (143).Productions := WisiToken.To_Vector ((1 => (56, 
0)));
+            Add_Action (Table.States (143), (27, 34), (56, 0), 1, null, null);
+            Table.States (143).Minimal_Complete_Action := (Reduce, 56, 1);
+            Table.States (144).Productions := WisiToken.To_Vector ((1 => (58, 
1)));
+            Add_Action (Table.States (144), (1 =>  34), (58, 1), 1, null, 
identifier_opt_1_check'Access);
+            Table.States (144).Minimal_Complete_Action := (Reduce, 58, 1);
+            Table.States (145).Productions := WisiToken.To_Vector ((1 => (68, 
0)));
+            Add_Action (Table.States (145), 34, 173);
             Add_Error (Table.States (145));
-            Table.States (145).Minimal_Complete_Action := (Shift, 33, 173);
-            Table.States (146).Productions := WisiToken.To_Vector ((1 => (63, 
0)));
-            Add_Action (Table.States (146), 33, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (146), 35, 144);
+            Table.States (145).Minimal_Complete_Action := (Shift, 34, 173);
+            Table.States (146).Productions := WisiToken.To_Vector ((1 => (65, 
0)));
+            Add_Action (Table.States (146), 34, Reduce, (58, 0), 0, null, 
null);
+            Add_Action (Table.States (146), 37, 144);
             Add_Error (Table.States (146));
-            Add_Goto (Table.States (146), 56, 174);
-            Table.States (146).Minimal_Complete_Action := (Reduce, 56, 0);
-            Table.States (147).Productions := WisiToken.To_Vector ((1 => (44, 
0)));
-            Add_Action (Table.States (147), 16, 175);
-            Add_Action (Table.States (147), 31, Reduce, (52, 0), 0, null, 
null);
-            Add_Action (Table.States (147), 34, Reduce, (52, 0), 0, null, 
null);
-            Add_Action (Table.States (147), 36, 176);
+            Add_Goto (Table.States (146), 58, 174);
+            Table.States (146).Minimal_Complete_Action := (Reduce, 58, 0);
+            Table.States (147).Productions := WisiToken.To_Vector ((1 => (46, 
0)));
+            Add_Action (Table.States (147), 17, 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, 176);
             Add_Error (Table.States (147));
-            Add_Goto (Table.States (147), 52, 177);
-            Add_Goto (Table.States (147), 53, 178);
-            Table.States (147).Minimal_Complete_Action := (Reduce, 53, 0);
-            Table.States (148).Productions := WisiToken.To_Vector ((1 => (45, 
1)));
-            Add_Action (Table.States (148), (7, 24), (45, 1), 1, null, null);
-            Table.States (148).Minimal_Complete_Action := (Reduce, 45, 1);
-            Table.States (149).Productions := WisiToken.To_Vector (((43, 0), 
(45, 2)));
-            Add_Action (Table.States (149), 7, 179);
-            Add_Action (Table.States (149), 24, 147);
+            Add_Goto (Table.States (147), 54, 177);
+            Add_Goto (Table.States (147), 55, 178);
+            Table.States (147).Minimal_Complete_Action := (Reduce, 55, 0);
+            Table.States (148).Productions := WisiToken.To_Vector ((1 => (47, 
1)));
+            Add_Action (Table.States (148), (8, 25), (47, 1), 1, null, null);
+            Table.States (148).Minimal_Complete_Action := (Reduce, 47, 1);
+            Table.States (149).Productions := WisiToken.To_Vector (((45, 0), 
(47, 2)));
+            Add_Action (Table.States (149), 8, 179);
+            Add_Action (Table.States (149), 25, 147);
             Add_Error (Table.States (149));
-            Add_Goto (Table.States (149), 44, 180);
-            Table.States (149).Minimal_Complete_Action := (Shift, 7, 179);
-            Table.States (150).Productions := WisiToken.To_Vector ((1 => (57, 
1)));
-            Add_Action (Table.States (150), (12, 30), (57, 1), 3, null, null);
-            Table.States (150).Minimal_Complete_Action := (Reduce, 57, 3);
-            Table.States (151).Productions := WisiToken.To_Vector ((1 => (40, 
2)));
-            Add_Action (Table.States (151), 20, 181);
+            Add_Goto (Table.States (149), 46, 180);
+            Table.States (149).Minimal_Complete_Action := (Shift, 8, 179);
+            Table.States (150).Productions := WisiToken.To_Vector ((1 => (59, 
1)));
+            Add_Action (Table.States (150), (13, 31), (59, 1), 3, null, null);
+            Table.States (150).Minimal_Complete_Action := (Reduce, 59, 3);
+            Table.States (151).Productions := WisiToken.To_Vector ((1 => (42, 
3)));
+            Add_Action (Table.States (151), 21, 181);
             Add_Error (Table.States (151));
-            Table.States (151).Minimal_Complete_Action := (Shift, 20, 181);
-            Table.States (152).Productions := WisiToken.To_Vector ((1 => (52, 
2)));
-            Add_Action (Table.States (152), (1 =>  20), (52, 2), 1, null, 
null);
-            Table.States (152).Minimal_Complete_Action := (Reduce, 52, 1);
-            Table.States (153).Productions := WisiToken.To_Vector ((1 => (52, 
1)));
-            Add_Action (Table.States (153), (1 =>  20), (52, 1), 1, null, 
null);
-            Table.States (153).Minimal_Complete_Action := (Reduce, 52, 1);
-            Table.States (154).Productions := WisiToken.To_Vector ((1 => (40, 
1)));
-            Add_Action (Table.States (154), 20, 182);
+            Table.States (151).Minimal_Complete_Action := (Shift, 21, 181);
+            Table.States (152).Productions := WisiToken.To_Vector ((1 => (54, 
2)));
+            Add_Action (Table.States (152), (1 =>  21), (54, 2), 1, null, 
null);
+            Table.States (152).Minimal_Complete_Action := (Reduce, 54, 1);
+            Table.States (153).Productions := WisiToken.To_Vector ((1 => (54, 
1)));
+            Add_Action (Table.States (153), (1 =>  21), (54, 1), 1, null, 
null);
+            Table.States (153).Minimal_Complete_Action := (Reduce, 54, 1);
+            Table.States (154).Productions := WisiToken.To_Vector (((42, 1), 
(42, 2)));
+            Add_Action (Table.States (154), 21, 182);
             Add_Error (Table.States (154));
-            Table.States (154).Minimal_Complete_Action := (Shift, 20, 182);
-            Table.States (155).Productions := WisiToken.To_Vector (((40, 0), 
(54, 1)));
-            Add_Action (Table.States (155), 26, 170);
-            Add_Action (Table.States (155), 33, 183);
+            Table.States (154).Minimal_Complete_Action := (Shift, 21, 182);
+            Table.States (155).Productions := WisiToken.To_Vector (((42, 0), 
(56, 1)));
+            Add_Action (Table.States (155), 27, 170);
+            Add_Action (Table.States (155), 34, 183);
             Add_Error (Table.States (155));
-            Table.States (155).Minimal_Complete_Action := (Shift, 33, 183);
-            Table.States (156).Productions := WisiToken.To_Vector (((57, 1), 
(60, 0)));
-            Add_Action (Table.States (156), 12, 184);
-            Add_Action (Table.States (156), 30, 121);
+            Table.States (155).Minimal_Complete_Action := (Shift, 34, 183);
+            Table.States (156).Productions := WisiToken.To_Vector (((59, 1), 
(62, 0)));
+            Add_Action (Table.States (156), 13, 184);
+            Add_Action (Table.States (156), 31, 121);
             Add_Error (Table.States (156));
-            Table.States (156).Minimal_Complete_Action := (Shift, 12, 184);
-            Table.States (157).Productions := WisiToken.To_Vector ((1 => (59, 
0)));
-            Add_Action (Table.States (157), 7, 185);
+            Table.States (156).Minimal_Complete_Action := (Shift, 13, 184);
+            Table.States (157).Productions := WisiToken.To_Vector ((1 => (61, 
0)));
+            Add_Action (Table.States (157), 8, 185);
             Add_Error (Table.States (157));
-            Table.States (157).Minimal_Complete_Action := (Shift, 7, 185);
-            Table.States (158).Productions := WisiToken.To_Vector ((1 => (56, 
1)));
-            Add_Action (Table.States (158), (30, 33), (56, 1), 1, null, 
identifier_opt_1_check'Access);
-            Table.States (158).Minimal_Complete_Action := (Reduce, 56, 1);
-            Table.States (159).Productions := WisiToken.To_Vector ((1 => (57, 
0)));
-            Add_Action (Table.States (159), (30, 33), (57, 0), 1, null, null);
-            Table.States (159).Minimal_Complete_Action := (Reduce, 57, 1);
-            Table.States (160).Productions := WisiToken.To_Vector (((57, 1), 
(61, 0)));
-            Add_Action (Table.States (160), 30, 186);
-            Add_Action (Table.States (160), 33, 187);
+            Table.States (157).Minimal_Complete_Action := (Shift, 8, 185);
+            Table.States (158).Productions := WisiToken.To_Vector ((1 => (58, 
1)));
+            Add_Action (Table.States (158), (31, 34), (58, 1), 1, null, 
identifier_opt_1_check'Access);
+            Table.States (158).Minimal_Complete_Action := (Reduce, 58, 1);
+            Table.States (159).Productions := WisiToken.To_Vector ((1 => (59, 
0)));
+            Add_Action (Table.States (159), (31, 34), (59, 0), 1, null, null);
+            Table.States (159).Minimal_Complete_Action := (Reduce, 59, 1);
+            Table.States (160).Productions := WisiToken.To_Vector (((59, 1), 
(63, 0)));
+            Add_Action (Table.States (160), 31, 186);
+            Add_Action (Table.States (160), 34, 187);
             Add_Error (Table.States (160));
-            Table.States (160).Minimal_Complete_Action := (Shift, 33, 187);
-            Table.States (161).Productions := WisiToken.To_Vector ((1 => (39, 
0)));
-            Add_Action (Table.States (161), 9, 32);
-            Add_Action (Table.States (161), 10, 33);
-            Add_Action (Table.States (161), 13, 34);
-            Add_Action (Table.States (161), 18, 9);
-            Add_Action (Table.States (161), 20, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (161), 26, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (161), 29, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (161), 30, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (161), 32, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (161), 35, 36);
-            Add_Action (Table.States (161), 36, 37);
+            Table.States (160).Minimal_Complete_Action := (Shift, 34, 187);
+            Table.States (161).Productions := WisiToken.To_Vector ((1 => (41, 
0)));
+            Add_Action (Table.States (161), 10, 32);
+            Add_Action (Table.States (161), 11, 33);
+            Add_Action (Table.States (161), 14, 34);
+            Add_Action (Table.States (161), 19, 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, 36);
+            Add_Action (Table.States (161), 38, 37);
             Add_Error (Table.States (161));
-            Add_Goto (Table.States (161), 39, 38);
-            Add_Goto (Table.States (161), 41, 39);
-            Add_Goto (Table.States (161), 42, 40);
-            Add_Goto (Table.States (161), 54, 41);
-            Add_Goto (Table.States (161), 55, 42);
-            Add_Goto (Table.States (161), 56, 43);
-            Add_Goto (Table.States (161), 57, 44);
-            Add_Goto (Table.States (161), 67, 45);
-            Add_Goto (Table.States (161), 68, 188);
-            Add_Goto (Table.States (161), 69, 47);
-            Table.States (161).Minimal_Complete_Action := (Reduce, 68, 0);
-            Table.States (162).Productions := WisiToken.To_Vector ((1 => (70, 
0)));
-            Add_Action (Table.States (162), 33, 189);
+            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).Minimal_Complete_Action := (Reduce, 70, 0);
+            Table.States (162).Productions := WisiToken.To_Vector ((1 => (72, 
0)));
+            Add_Action (Table.States (162), 34, 189);
             Add_Error (Table.States (162));
-            Table.States (162).Minimal_Complete_Action := (Shift, 33, 189);
-            Table.States (163).Productions := WisiToken.To_Vector ((1 => (65, 
1)));
-            Add_Action (Table.States (163), 9, 130);
-            Add_Action (Table.States (163), 10, 131);
-            Add_Action (Table.States (163), 13, 132);
-            Add_Action (Table.States (163), 18, 9);
-            Add_Action (Table.States (163), 26, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (163), 30, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (163), 32, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (163), 33, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (163), 35, 133);
-            Add_Action (Table.States (163), 36, 134);
+            Table.States (162).Minimal_Complete_Action := (Shift, 34, 189);
+            Table.States (163).Productions := WisiToken.To_Vector ((1 => (67, 
1)));
+            Add_Action (Table.States (163), 10, 130);
+            Add_Action (Table.States (163), 11, 131);
+            Add_Action (Table.States (163), 14, 132);
+            Add_Action (Table.States (163), 19, 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, 133);
+            Add_Action (Table.States (163), 38, 134);
             Add_Error (Table.States (163));
-            Add_Goto (Table.States (163), 39, 135);
-            Add_Goto (Table.States (163), 41, 136);
-            Add_Goto (Table.States (163), 42, 137);
-            Add_Goto (Table.States (163), 54, 190);
-            Add_Goto (Table.States (163), 55, 139);
-            Add_Goto (Table.States (163), 56, 140);
-            Add_Goto (Table.States (163), 57, 141);
-            Add_Goto (Table.States (163), 67, 142);
-            Add_Goto (Table.States (163), 69, 143);
-            Table.States (163).Minimal_Complete_Action := (Reduce, 54, 0);
-            Table.States (164).Productions := WisiToken.To_Vector ((1 => (39, 
0)));
-            Add_Action (Table.States (164), 9, 32);
-            Add_Action (Table.States (164), 10, 33);
-            Add_Action (Table.States (164), 13, 34);
-            Add_Action (Table.States (164), 18, 9);
-            Add_Action (Table.States (164), 20, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (164), 26, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (164), 29, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (164), 30, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (164), 32, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (164), 35, 36);
-            Add_Action (Table.States (164), 36, 37);
+            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).Minimal_Complete_Action := (Reduce, 56, 0);
+            Table.States (164).Productions := WisiToken.To_Vector ((1 => (41, 
0)));
+            Add_Action (Table.States (164), 10, 32);
+            Add_Action (Table.States (164), 11, 33);
+            Add_Action (Table.States (164), 14, 34);
+            Add_Action (Table.States (164), 19, 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, 36);
+            Add_Action (Table.States (164), 38, 37);
             Add_Error (Table.States (164));
-            Add_Goto (Table.States (164), 39, 38);
-            Add_Goto (Table.States (164), 41, 39);
-            Add_Goto (Table.States (164), 42, 40);
-            Add_Goto (Table.States (164), 54, 41);
-            Add_Goto (Table.States (164), 55, 42);
-            Add_Goto (Table.States (164), 56, 43);
-            Add_Goto (Table.States (164), 57, 44);
-            Add_Goto (Table.States (164), 67, 45);
-            Add_Goto (Table.States (164), 68, 168);
-            Add_Goto (Table.States (164), 69, 47);
-            Table.States (164).Minimal_Complete_Action := (Reduce, 68, 0);
-            Table.States (165).Productions := WisiToken.To_Vector ((1 => (55, 
0)));
-            Add_Action (Table.States (165), (26, 33), (55, 0), 2, null, null);
-            Table.States (165).Minimal_Complete_Action := (Reduce, 55, 2);
-            Table.States (166).Productions := WisiToken.To_Vector ((1 => (55, 
1)));
-            Add_Action (Table.States (166), (26, 33), (55, 1), 2, null, null);
-            Table.States (166).Minimal_Complete_Action := (Reduce, 55, 2);
-            Table.States (167).Productions := WisiToken.To_Vector ((1 => (69, 
1)));
-            Add_Action (Table.States (167), (26, 33), (69, 1), 2, null, null);
-            Table.States (167).Minimal_Complete_Action := (Reduce, 69, 2);
-            Table.States (168).Productions := WisiToken.To_Vector (((39, 0), 
(68, 1)));
-            Add_Action (Table.States (168), 20, 191);
-            Add_Action (Table.States (168), 29, 67);
+            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).Minimal_Complete_Action := (Reduce, 70, 0);
+            Table.States (165).Productions := WisiToken.To_Vector ((1 => (57, 
0)));
+            Add_Action (Table.States (165), (27, 34), (57, 0), 2, null, null);
+            Table.States (165).Minimal_Complete_Action := (Reduce, 57, 2);
+            Table.States (166).Productions := WisiToken.To_Vector ((1 => (57, 
1)));
+            Add_Action (Table.States (166), (27, 34), (57, 1), 2, null, null);
+            Table.States (166).Minimal_Complete_Action := (Reduce, 57, 2);
+            Table.States (167).Productions := WisiToken.To_Vector ((1 => (71, 
1)));
+            Add_Action (Table.States (167), (27, 34), (71, 1), 2, null, null);
+            Table.States (167).Minimal_Complete_Action := (Reduce, 71, 2);
+            Table.States (168).Productions := WisiToken.To_Vector (((41, 0), 
(70, 1)));
+            Add_Action (Table.States (168), 21, 191);
+            Add_Action (Table.States (168), 30, 67);
             Add_Error (Table.States (168));
-            Table.States (168).Minimal_Complete_Action := (Shift, 20, 191);
-            Table.States (169).Productions := WisiToken.To_Vector (((42, 0), 
(42, 1)));
-            Add_Action (Table.States (169), 35, 192);
+            Table.States (168).Minimal_Complete_Action := (Shift, 21, 191);
+            Table.States (169).Productions := WisiToken.To_Vector (((44, 0), 
(44, 1)));
+            Add_Action (Table.States (169), 37, 192);
             Add_Error (Table.States (169));
-            Table.States (169).Minimal_Complete_Action := (Shift, 35, 192);
-            Table.States (170).Productions := WisiToken.To_Vector ((1 => (54, 
1)));
-            Add_Action (Table.States (170), 9, 130);
-            Add_Action (Table.States (170), 10, 131);
-            Add_Action (Table.States (170), 13, 132);
-            Add_Action (Table.States (170), 18, 9);
-            Add_Action (Table.States (170), 26, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (170), 30, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (170), 32, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (170), 33, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (170), 35, 133);
-            Add_Action (Table.States (170), 36, 134);
+            Table.States (169).Minimal_Complete_Action := (Shift, 37, 192);
+            Table.States (170).Productions := WisiToken.To_Vector ((1 => (56, 
1)));
+            Add_Action (Table.States (170), 10, 130);
+            Add_Action (Table.States (170), 11, 131);
+            Add_Action (Table.States (170), 14, 132);
+            Add_Action (Table.States (170), 19, 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, 133);
+            Add_Action (Table.States (170), 38, 134);
             Add_Error (Table.States (170));
-            Add_Goto (Table.States (170), 39, 135);
-            Add_Goto (Table.States (170), 41, 136);
-            Add_Goto (Table.States (170), 42, 137);
-            Add_Goto (Table.States (170), 55, 139);
-            Add_Goto (Table.States (170), 56, 140);
-            Add_Goto (Table.States (170), 57, 141);
-            Add_Goto (Table.States (170), 67, 142);
-            Add_Goto (Table.States (170), 69, 193);
-            Table.States (170).Minimal_Complete_Action := (Reduce, 69, 0);
-            Table.States (171).Productions := WisiToken.To_Vector ((1 => (65, 
0)));
-            Add_Action (Table.States (171), (5, 7, 11, 15, 17, 22, 35), (65, 
0), 4, simple_declarative_item_0'Access,
+            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).Minimal_Complete_Action := (Reduce, 71, 0);
+            Table.States (171).Productions := WisiToken.To_Vector ((1 => (67, 
0)));
+            Add_Action (Table.States (171), (6, 8, 12, 16, 18, 23, 37), (67, 
0), 4, simple_declarative_item_0'Access,
             null);
-            Table.States (171).Minimal_Complete_Action := (Reduce, 65, 4);
-            Table.States (172).Productions := WisiToken.To_Vector ((1 => (57, 
1)));
-            Add_Action (Table.States (172), 35, 194);
+            Table.States (171).Minimal_Complete_Action := (Reduce, 67, 4);
+            Table.States (172).Productions := WisiToken.To_Vector ((1 => (59, 
1)));
+            Add_Action (Table.States (172), 37, 194);
             Add_Error (Table.States (172));
-            Table.States (172).Minimal_Complete_Action := (Shift, 35, 194);
-            Table.States (173).Productions := WisiToken.To_Vector ((1 => (66, 
0)));
-            Add_Action (Table.States (173), (1 =>  37), (66, 0), 7, 
simple_project_declaration_0'Access,
+            Table.States (172).Minimal_Complete_Action := (Shift, 37, 194);
+            Table.States (173).Productions := WisiToken.To_Vector ((1 => (68, 
0)));
+            Add_Action (Table.States (173), (1 =>  39), (68, 0), 7, 
simple_project_declaration_0'Access,
             simple_project_declaration_0_check'Access);
-            Table.States (173).Minimal_Complete_Action := (Reduce, 66, 7);
-            Table.States (174).Productions := WisiToken.To_Vector ((1 => (63, 
0)));
-            Add_Action (Table.States (174), 33, 195);
+            Table.States (173).Minimal_Complete_Action := (Reduce, 68, 7);
+            Table.States (174).Productions := WisiToken.To_Vector ((1 => (65, 
0)));
+            Add_Action (Table.States (174), 34, 195);
             Add_Error (Table.States (174));
-            Table.States (174).Minimal_Complete_Action := (Shift, 33, 195);
-            Table.States (175).Productions := WisiToken.To_Vector ((1 => (52, 
2)));
-            Add_Action (Table.States (175), (31, 34), (52, 2), 1, null, null);
-            Table.States (175).Minimal_Complete_Action := (Reduce, 52, 1);
-            Table.States (176).Productions := WisiToken.To_Vector ((1 => (52, 
1)));
-            Add_Action (Table.States (176), (31, 34), (52, 1), 1, null, null);
-            Table.States (176).Minimal_Complete_Action := (Reduce, 52, 1);
-            Table.States (177).Productions := WisiToken.To_Vector ((1 => (53, 
0)));
-            Add_Action (Table.States (177), (31, 34), (53, 0), 1, null, null);
-            Table.States (177).Minimal_Complete_Action := (Reduce, 53, 1);
-            Table.States (178).Productions := WisiToken.To_Vector (((44, 0), 
(53, 1)));
-            Add_Action (Table.States (178), 31, 196);
-            Add_Action (Table.States (178), 34, 197);
+            Table.States (174).Minimal_Complete_Action := (Shift, 34, 195);
+            Table.States (175).Productions := WisiToken.To_Vector ((1 => (54, 
2)));
+            Add_Action (Table.States (175), (32, 35), (54, 2), 1, null, null);
+            Table.States (175).Minimal_Complete_Action := (Reduce, 54, 1);
+            Table.States (176).Productions := WisiToken.To_Vector ((1 => (54, 
1)));
+            Add_Action (Table.States (176), (32, 35), (54, 1), 1, null, null);
+            Table.States (176).Minimal_Complete_Action := (Reduce, 54, 1);
+            Table.States (177).Productions := WisiToken.To_Vector ((1 => (55, 
0)));
+            Add_Action (Table.States (177), (32, 35), (55, 0), 1, null, null);
+            Table.States (177).Minimal_Complete_Action := (Reduce, 55, 1);
+            Table.States (178).Productions := WisiToken.To_Vector (((46, 0), 
(55, 1)));
+            Add_Action (Table.States (178), 32, 196);
+            Add_Action (Table.States (178), 35, 197);
             Add_Error (Table.States (178));
-            Table.States (178).Minimal_Complete_Action := (Shift, 31, 196);
-            Table.States (179).Productions := WisiToken.To_Vector ((1 => (43, 
0)));
-            Add_Action (Table.States (179), 5, 198);
+            Table.States (178).Minimal_Complete_Action := (Shift, 32, 196);
+            Table.States (179).Productions := WisiToken.To_Vector ((1 => (45, 
0)));
+            Add_Action (Table.States (179), 6, 198);
             Add_Error (Table.States (179));
-            Table.States (179).Minimal_Complete_Action := (Shift, 5, 198);
-            Table.States (180).Productions := WisiToken.To_Vector ((1 => (45, 
2)));
-            Add_Action (Table.States (180), (7, 24), (45, 2), 2, null, null);
-            Table.States (180).Minimal_Complete_Action := (Reduce, 45, 2);
-            Table.States (181).Productions := WisiToken.To_Vector ((1 => (40, 
2)));
-            Add_Action (Table.States (181), 23, 199);
+            Table.States (179).Minimal_Complete_Action := (Shift, 6, 198);
+            Table.States (180).Productions := WisiToken.To_Vector ((1 => (47, 
2)));
+            Add_Action (Table.States (180), (8, 25), (47, 2), 2, null, null);
+            Table.States (180).Minimal_Complete_Action := (Reduce, 47, 2);
+            Table.States (181).Productions := WisiToken.To_Vector ((1 => (42, 
3)));
+            Add_Action (Table.States (181), 24, 199);
             Add_Error (Table.States (181));
-            Table.States (181).Minimal_Complete_Action := (Shift, 23, 199);
-            Table.States (182).Productions := WisiToken.To_Vector ((1 => (40, 
1)));
-            Add_Action (Table.States (182), 23, 200);
+            Table.States (181).Minimal_Complete_Action := (Shift, 24, 199);
+            Table.States (182).Productions := WisiToken.To_Vector (((42, 1), 
(42, 2)));
+            Add_Action (Table.States (182), 24, 200);
             Add_Error (Table.States (182));
-            Table.States (182).Minimal_Complete_Action := (Shift, 23, 200);
-            Table.States (183).Productions := WisiToken.To_Vector ((1 => (40, 
0)));
-            Add_Action (Table.States (183), (5, 7, 11, 15, 17, 22, 35), (40, 
0), 5, attribute_declaration_0'Access,
+            Table.States (182).Minimal_Complete_Action := (Shift, 24, 200);
+            Table.States (183).Productions := WisiToken.To_Vector ((1 => (42, 
0)));
+            Add_Action (Table.States (183), (6, 8, 12, 16, 18, 23, 37), (42, 
0), 5, attribute_declaration_0'Access,
             null);
-            Table.States (183).Minimal_Complete_Action := (Reduce, 40, 5);
-            Table.States (184).Productions := WisiToken.To_Vector ((1 => (60, 
0)));
-            Add_Action (Table.States (184), 5, 85);
-            Add_Action (Table.States (184), 7, Reduce, (51, 0), 0, null, null);
-            Add_Action (Table.States (184), 11, 86);
-            Add_Action (Table.States (184), 15, 87);
-            Add_Action (Table.States (184), 17, 88);
-            Add_Action (Table.States (184), 22, 89);
-            Add_Action (Table.States (184), 35, 90);
+            Table.States (183).Minimal_Complete_Action := (Reduce, 42, 5);
+            Table.States (184).Productions := WisiToken.To_Vector ((1 => (62, 
0)));
+            Add_Action (Table.States (184), 6, 85);
+            Add_Action (Table.States (184), 8, Reduce, (53, 0), 0, null, null);
+            Add_Action (Table.States (184), 12, 86);
+            Add_Action (Table.States (184), 16, 87);
+            Add_Action (Table.States (184), 18, 88);
+            Add_Action (Table.States (184), 23, 89);
+            Add_Action (Table.States (184), 37, 90);
             Add_Error (Table.States (184));
-            Add_Goto (Table.States (184), 40, 91);
-            Add_Goto (Table.States (184), 43, 92);
-            Add_Goto (Table.States (184), 49, 93);
-            Add_Goto (Table.States (184), 50, 94);
-            Add_Goto (Table.States (184), 51, 201);
-            Add_Goto (Table.States (184), 58, 96);
-            Add_Goto (Table.States (184), 59, 97);
-            Add_Goto (Table.States (184), 60, 98);
-            Add_Goto (Table.States (184), 61, 99);
-            Add_Goto (Table.States (184), 65, 100);
-            Add_Goto (Table.States (184), 70, 101);
-            Table.States (184).Minimal_Complete_Action := (Reduce, 51, 0);
-            Table.States (185).Productions := WisiToken.To_Vector ((1 => (59, 
0)));
-            Add_Action (Table.States (185), 33, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (185), 35, 144);
+            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).Minimal_Complete_Action := (Reduce, 53, 0);
+            Table.States (185).Productions := WisiToken.To_Vector ((1 => (61, 
0)));
+            Add_Action (Table.States (185), 34, Reduce, (58, 0), 0, null, 
null);
+            Add_Action (Table.States (185), 37, 144);
             Add_Error (Table.States (185));
-            Add_Goto (Table.States (185), 56, 202);
-            Table.States (185).Minimal_Complete_Action := (Reduce, 56, 0);
-            Table.States (186).Productions := WisiToken.To_Vector ((1 => (57, 
1)));
-            Add_Action (Table.States (186), 35, 203);
+            Add_Goto (Table.States (185), 58, 202);
+            Table.States (185).Minimal_Complete_Action := (Reduce, 58, 0);
+            Table.States (186).Productions := WisiToken.To_Vector ((1 => (59, 
1)));
+            Add_Action (Table.States (186), 37, 203);
             Add_Error (Table.States (186));
-            Table.States (186).Minimal_Complete_Action := (Shift, 35, 203);
-            Table.States (187).Productions := WisiToken.To_Vector ((1 => (61, 
0)));
-            Add_Action (Table.States (187), (5, 7, 11, 15, 17, 22, 35), (61, 
0), 5, package_renaming_0'Access, null);
-            Table.States (187).Minimal_Complete_Action := (Reduce, 61, 5);
-            Table.States (188).Productions := WisiToken.To_Vector (((39, 0), 
(68, 1)));
-            Add_Action (Table.States (188), 20, 204);
-            Add_Action (Table.States (188), 29, 67);
+            Table.States (186).Minimal_Complete_Action := (Shift, 37, 203);
+            Table.States (187).Productions := WisiToken.To_Vector ((1 => (63, 
0)));
+            Add_Action (Table.States (187), (6, 8, 12, 16, 18, 23, 37), (63, 
0), 5, package_renaming_0'Access, null);
+            Table.States (187).Minimal_Complete_Action := (Reduce, 63, 5);
+            Table.States (188).Productions := WisiToken.To_Vector (((41, 0), 
(70, 1)));
+            Add_Action (Table.States (188), 21, 204);
+            Add_Action (Table.States (188), 30, 67);
             Add_Error (Table.States (188));
-            Table.States (188).Minimal_Complete_Action := (Shift, 20, 204);
-            Table.States (189).Productions := WisiToken.To_Vector ((1 => (70, 
0)));
-            Add_Action (Table.States (189), (5, 7, 11, 15, 17, 22, 35), (70, 
0), 5, typed_string_declaration_0'Access,
+            Table.States (188).Minimal_Complete_Action := (Shift, 21, 204);
+            Table.States (189).Productions := WisiToken.To_Vector ((1 => (72, 
0)));
+            Add_Action (Table.States (189), (6, 8, 12, 16, 18, 23, 37), (72, 
0), 5, typed_string_declaration_0'Access,
             null);
-            Table.States (189).Minimal_Complete_Action := (Reduce, 70, 5);
-            Table.States (190).Productions := WisiToken.To_Vector (((54, 1), 
(65, 1)));
-            Add_Action (Table.States (190), 26, 170);
-            Add_Action (Table.States (190), 33, 205);
+            Table.States (189).Minimal_Complete_Action := (Reduce, 72, 5);
+            Table.States (190).Productions := WisiToken.To_Vector (((56, 1), 
(67, 1)));
+            Add_Action (Table.States (190), 27, 170);
+            Add_Action (Table.States (190), 34, 205);
             Add_Error (Table.States (190));
-            Table.States (190).Minimal_Complete_Action := (Shift, 33, 205);
-            Table.States (191).Productions := WisiToken.To_Vector ((1 => (39, 
0)));
-            Add_Action (Table.States (191), (26, 33), (39, 0), 3, 
aggregate_g_0'Access, null);
-            Table.States (191).Minimal_Complete_Action := (Reduce, 39, 3);
-            Table.States (192).Productions := WisiToken.To_Vector (((42, 0), 
(42, 1)));
-            Add_Action (Table.States (192), 13, 206);
-            Add_Action (Table.States (192), 26, Reduce, (42, 0), 3, null, 
null);
-            Add_Action (Table.States (192), 33, Reduce, (42, 0), 3, null, 
null);
+            Table.States (190).Minimal_Complete_Action := (Shift, 34, 205);
+            Table.States (191).Productions := WisiToken.To_Vector ((1 => (41, 
0)));
+            Add_Action (Table.States (191), (27, 34), (41, 0), 3, 
aggregate_g_0'Access, null);
+            Table.States (191).Minimal_Complete_Action := (Reduce, 41, 3);
+            Table.States (192).Productions := WisiToken.To_Vector (((44, 0), 
(44, 1)));
+            Add_Action (Table.States (192), 14, 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);
             Add_Error (Table.States (192));
-            Table.States (192).Minimal_Complete_Action := (Reduce, 42, 3);
-            Table.States (193).Productions := WisiToken.To_Vector ((1 => (54, 
1)));
-            Add_Action (Table.States (193), (26, 33), (54, 1), 3, null, null);
-            Table.States (193).Minimal_Complete_Action := (Reduce, 54, 3);
-            Table.States (194).Productions := WisiToken.To_Vector ((1 => (57, 
1)));
-            Add_Action (Table.States (194), (26, 30, 32, 33), (57, 1), 3, 
null, null);
-            Table.States (194).Minimal_Complete_Action := (Reduce, 57, 3);
-            Table.States (195).Productions := WisiToken.To_Vector ((1 => (63, 
0)));
-            Add_Action (Table.States (195), (1 =>  37), (63, 0), 9, 
project_extension_0'Access,
+            Table.States (192).Minimal_Complete_Action := (Reduce, 44, 3);
+            Table.States (193).Productions := WisiToken.To_Vector ((1 => (56, 
1)));
+            Add_Action (Table.States (193), (27, 34), (56, 1), 3, null, null);
+            Table.States (193).Minimal_Complete_Action := (Reduce, 56, 3);
+            Table.States (194).Productions := WisiToken.To_Vector ((1 => (59, 
1)));
+            Add_Action (Table.States (194), (27, 31, 33, 34), (59, 1), 3, 
null, null);
+            Table.States (194).Minimal_Complete_Action := (Reduce, 59, 3);
+            Table.States (195).Productions := WisiToken.To_Vector ((1 => (65, 
0)));
+            Add_Action (Table.States (195), (1 =>  39), (65, 0), 9, 
project_extension_0'Access,
             project_extension_0_check'Access);
-            Table.States (195).Minimal_Complete_Action := (Reduce, 63, 9);
-            Table.States (196).Productions := WisiToken.To_Vector ((1 => (44, 
0)));
-            Add_Action (Table.States (196), 5, 207);
-            Add_Action (Table.States (196), 7, Reduce, (51, 0), 0, null, null);
-            Add_Action (Table.States (196), 11, 208);
-            Add_Action (Table.States (196), 15, 209);
-            Add_Action (Table.States (196), 17, 210);
-            Add_Action (Table.States (196), 22, 211);
-            Add_Action (Table.States (196), 24, Reduce, (51, 0), 0, null, 
null);
-            Add_Action (Table.States (196), 35, 212);
+            Table.States (195).Minimal_Complete_Action := (Reduce, 65, 9);
+            Table.States (196).Productions := WisiToken.To_Vector ((1 => (46, 
0)));
+            Add_Action (Table.States (196), 6, 207);
+            Add_Action (Table.States (196), 8, Reduce, (53, 0), 0, null, null);
+            Add_Action (Table.States (196), 12, 208);
+            Add_Action (Table.States (196), 16, 209);
+            Add_Action (Table.States (196), 18, 210);
+            Add_Action (Table.States (196), 23, 211);
+            Add_Action (Table.States (196), 25, Reduce, (53, 0), 0, null, 
null);
+            Add_Action (Table.States (196), 37, 212);
             Add_Error (Table.States (196));
-            Add_Goto (Table.States (196), 40, 213);
-            Add_Goto (Table.States (196), 43, 214);
-            Add_Goto (Table.States (196), 49, 215);
-            Add_Goto (Table.States (196), 50, 216);
-            Add_Goto (Table.States (196), 51, 217);
-            Add_Goto (Table.States (196), 58, 218);
-            Add_Goto (Table.States (196), 59, 219);
-            Add_Goto (Table.States (196), 60, 220);
-            Add_Goto (Table.States (196), 61, 221);
-            Add_Goto (Table.States (196), 65, 222);
-            Add_Goto (Table.States (196), 70, 223);
-            Table.States (196).Minimal_Complete_Action := (Reduce, 51, 0);
-            Table.States (197).Productions := WisiToken.To_Vector ((1 => (53, 
1)));
-            Add_Action (Table.States (197), 16, 175);
-            Add_Action (Table.States (197), 31, Reduce, (52, 0), 0, null, 
null);
-            Add_Action (Table.States (197), 34, Reduce, (52, 0), 0, null, 
null);
-            Add_Action (Table.States (197), 36, 176);
+            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).Minimal_Complete_Action := (Reduce, 53, 0);
+            Table.States (197).Productions := WisiToken.To_Vector ((1 => (55, 
1)));
+            Add_Action (Table.States (197), 17, 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, 176);
             Add_Error (Table.States (197));
-            Add_Goto (Table.States (197), 52, 224);
-            Table.States (197).Minimal_Complete_Action := (Reduce, 52, 0);
-            Table.States (198).Productions := WisiToken.To_Vector ((1 => (43, 
0)));
-            Add_Action (Table.States (198), 33, 225);
+            Add_Goto (Table.States (197), 54, 224);
+            Table.States (197).Minimal_Complete_Action := (Reduce, 54, 0);
+            Table.States (198).Productions := WisiToken.To_Vector ((1 => (45, 
0)));
+            Add_Action (Table.States (198), 34, 225);
             Add_Error (Table.States (198));
-            Table.States (198).Minimal_Complete_Action := (Shift, 33, 225);
-            Table.States (199).Productions := WisiToken.To_Vector ((1 => (40, 
2)));
-            Add_Action (Table.States (199), 9, 130);
-            Add_Action (Table.States (199), 10, 131);
-            Add_Action (Table.States (199), 13, 132);
-            Add_Action (Table.States (199), 18, 9);
-            Add_Action (Table.States (199), 26, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (199), 30, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (199), 32, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (199), 33, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (199), 35, 133);
-            Add_Action (Table.States (199), 36, 134);
+            Table.States (198).Minimal_Complete_Action := (Shift, 34, 225);
+            Table.States (199).Productions := WisiToken.To_Vector ((1 => (42, 
3)));
+            Add_Action (Table.States (199), 10, 130);
+            Add_Action (Table.States (199), 11, 131);
+            Add_Action (Table.States (199), 14, 132);
+            Add_Action (Table.States (199), 19, 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, 133);
+            Add_Action (Table.States (199), 38, 134);
             Add_Error (Table.States (199));
-            Add_Goto (Table.States (199), 39, 135);
-            Add_Goto (Table.States (199), 41, 136);
-            Add_Goto (Table.States (199), 42, 137);
-            Add_Goto (Table.States (199), 54, 226);
-            Add_Goto (Table.States (199), 55, 139);
-            Add_Goto (Table.States (199), 56, 140);
-            Add_Goto (Table.States (199), 57, 141);
-            Add_Goto (Table.States (199), 67, 142);
-            Add_Goto (Table.States (199), 69, 143);
-            Table.States (199).Minimal_Complete_Action := (Reduce, 54, 0);
-            Table.States (200).Productions := WisiToken.To_Vector ((1 => (40, 
1)));
-            Add_Action (Table.States (200), 9, 130);
-            Add_Action (Table.States (200), 10, 131);
-            Add_Action (Table.States (200), 13, 132);
-            Add_Action (Table.States (200), 18, 9);
-            Add_Action (Table.States (200), 26, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (200), 30, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (200), 32, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (200), 33, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (200), 35, 133);
-            Add_Action (Table.States (200), 36, 134);
+            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).Minimal_Complete_Action := (Reduce, 56, 0);
+            Table.States (200).Productions := WisiToken.To_Vector (((42, 1), 
(42, 2)));
+            Add_Action (Table.States (200), 4, Reduce, (58, 0), 0, null, null);
+            Add_Action (Table.States (200), 10, 227);
+            Add_Action (Table.States (200), 11, 228);
+            Add_Action (Table.States (200), 14, 229);
+            Add_Action (Table.States (200), 19, 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, 230);
+            Add_Action (Table.States (200), 38, 231);
             Add_Error (Table.States (200));
-            Add_Goto (Table.States (200), 39, 135);
-            Add_Goto (Table.States (200), 41, 136);
-            Add_Goto (Table.States (200), 42, 137);
-            Add_Goto (Table.States (200), 54, 227);
-            Add_Goto (Table.States (200), 55, 139);
-            Add_Goto (Table.States (200), 56, 140);
-            Add_Goto (Table.States (200), 57, 141);
-            Add_Goto (Table.States (200), 67, 142);
-            Add_Goto (Table.States (200), 69, 143);
-            Table.States (200).Minimal_Complete_Action := (Reduce, 54, 0);
-            Table.States (201).Productions := WisiToken.To_Vector ((1 => (60, 
0)));
-            Add_Action (Table.States (201), 7, 228);
+            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).Minimal_Complete_Action := (Reduce, 56, 0);
+            Table.States (201).Productions := WisiToken.To_Vector ((1 => (62, 
0)));
+            Add_Action (Table.States (201), 8, 241);
             Add_Error (Table.States (201));
-            Table.States (201).Minimal_Complete_Action := (Shift, 7, 228);
-            Table.States (202).Productions := WisiToken.To_Vector ((1 => (59, 
0)));
-            Add_Action (Table.States (202), 33, 229);
+            Table.States (201).Minimal_Complete_Action := (Shift, 8, 241);
+            Table.States (202).Productions := WisiToken.To_Vector ((1 => (61, 
0)));
+            Add_Action (Table.States (202), 34, 242);
             Add_Error (Table.States (202));
-            Table.States (202).Minimal_Complete_Action := (Shift, 33, 229);
-            Table.States (203).Productions := WisiToken.To_Vector ((1 => (57, 
1)));
-            Add_Action (Table.States (203), (30, 33), (57, 1), 3, null, null);
-            Table.States (203).Minimal_Complete_Action := (Reduce, 57, 3);
-            Table.States (204).Productions := WisiToken.To_Vector ((1 => (39, 
0)));
-            Add_Action (Table.States (204), (1 =>  33), (39, 0), 3, 
aggregate_g_0'Access, null);
-            Table.States (204).Minimal_Complete_Action := (Reduce, 39, 3);
-            Table.States (205).Productions := WisiToken.To_Vector ((1 => (65, 
1)));
-            Add_Action (Table.States (205), (5, 7, 11, 15, 17, 22, 35), (65, 
1), 6, simple_declarative_item_1'Access,
+            Table.States (202).Minimal_Complete_Action := (Shift, 34, 242);
+            Table.States (203).Productions := WisiToken.To_Vector ((1 => (59, 
1)));
+            Add_Action (Table.States (203), (31, 34), (59, 1), 3, null, null);
+            Table.States (203).Minimal_Complete_Action := (Reduce, 59, 3);
+            Table.States (204).Productions := WisiToken.To_Vector ((1 => (41, 
0)));
+            Add_Action (Table.States (204), (1 =>  34), (41, 0), 3, 
aggregate_g_0'Access, null);
+            Table.States (204).Minimal_Complete_Action := (Reduce, 41, 3);
+            Table.States (205).Productions := WisiToken.To_Vector ((1 => (67, 
1)));
+            Add_Action (Table.States (205), (6, 8, 12, 16, 18, 23, 37), (67, 
1), 6, simple_declarative_item_1'Access,
             null);
-            Table.States (205).Minimal_Complete_Action := (Reduce, 65, 6);
-            Table.States (206).Productions := WisiToken.To_Vector ((1 => (42, 
1)));
-            Add_Action (Table.States (206), 36, 230);
+            Table.States (205).Minimal_Complete_Action := (Reduce, 67, 6);
+            Table.States (206).Productions := WisiToken.To_Vector ((1 => (44, 
1)));
+            Add_Action (Table.States (206), 38, 243);
             Add_Error (Table.States (206));
-            Table.States (206).Minimal_Complete_Action := (Shift, 36, 230);
-            Table.States (207).Productions := WisiToken.To_Vector ((1 => (43, 
0)));
-            Add_Action (Table.States (207), 12, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (207), 30, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (207), 35, 105);
+            Table.States (206).Minimal_Complete_Action := (Shift, 38, 243);
+            Table.States (207).Productions := WisiToken.To_Vector ((1 => (45, 
0)));
+            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, 105);
             Add_Error (Table.States (207));
-            Add_Goto (Table.States (207), 56, 106);
-            Add_Goto (Table.States (207), 57, 231);
-            Table.States (207).Minimal_Complete_Action := (Reduce, 57, 0);
-            Table.States (208).Productions := WisiToken.To_Vector (((40, 0), 
(40, 1), (40, 2)));
-            Add_Action (Table.States (208), 9, 232);
-            Add_Action (Table.States (208), 35, 233);
+            Add_Goto (Table.States (207), 58, 106);
+            Add_Goto (Table.States (207), 59, 244);
+            Table.States (207).Minimal_Complete_Action := (Reduce, 59, 0);
+            Table.States (208).Productions := WisiToken.To_Vector (((42, 0), 
(42, 1), (42, 2), (42, 3)));
+            Add_Action (Table.States (208), 10, 245);
+            Add_Action (Table.States (208), 37, 246);
             Add_Error (Table.States (208));
-            Table.States (208).Minimal_Complete_Action := (Shift, 35, 233);
-            Table.States (209).Productions := WisiToken.To_Vector ((1 => (65, 
4)));
-            Add_Action (Table.States (209), 33, 234);
+            Table.States (208).Minimal_Complete_Action := (Shift, 37, 246);
+            Table.States (209).Productions := WisiToken.To_Vector ((1 => (67, 
4)));
+            Add_Action (Table.States (209), 34, 247);
             Add_Error (Table.States (209));
-            Table.States (209).Minimal_Complete_Action := (Shift, 33, 234);
-            Table.States (210).Productions := WisiToken.To_Vector (((59, 0), 
(60, 0), (61, 0)));
-            Add_Action (Table.States (210), 8, Reduce, (56, 0), 0, null, null);
-            Add_Action (Table.States (210), 12, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (210), 19, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (210), 35, 111);
+            Table.States (209).Minimal_Complete_Action := (Shift, 34, 247);
+            Table.States (210).Productions := WisiToken.To_Vector (((61, 0), 
(62, 0), (63, 0)));
+            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, 111);
             Add_Error (Table.States (210));
-            Add_Goto (Table.States (210), 56, 235);
-            Table.States (210).Minimal_Complete_Action := (Reduce, 56, 0);
-            Table.States (211).Productions := WisiToken.To_Vector ((1 => (70, 
0)));
-            Add_Action (Table.States (211), 35, 236);
+            Add_Goto (Table.States (210), 58, 248);
+            Table.States (210).Minimal_Complete_Action := (Reduce, 58, 0);
+            Table.States (211).Productions := WisiToken.To_Vector ((1 => (72, 
0)));
+            Add_Action (Table.States (211), 37, 249);
             Add_Error (Table.States (211));
-            Table.States (211).Minimal_Complete_Action := (Shift, 35, 236);
-            Table.States (212).Productions := WisiToken.To_Vector (((65, 0), 
(65, 1)));
-            Add_Action (Table.States (212), 27, 237);
-            Add_Action (Table.States (212), 28, 238);
+            Table.States (211).Minimal_Complete_Action := (Shift, 37, 249);
+            Table.States (212).Productions := WisiToken.To_Vector (((67, 0), 
(67, 1)));
+            Add_Action (Table.States (212), 28, 250);
+            Add_Action (Table.States (212), 29, 251);
             Add_Error (Table.States (212));
-            Table.States (212).Minimal_Complete_Action := (Shift, 28, 238);
-            Table.States (213).Productions := WisiToken.To_Vector ((1 => (65, 
2)));
-            Add_Action (Table.States (213), (5, 7, 11, 15, 17, 22, 24, 35), 
(65, 2), 1, null, null);
-            Table.States (213).Minimal_Complete_Action := (Reduce, 65, 1);
+            Table.States (212).Minimal_Complete_Action := (Shift, 29, 251);
+            Table.States (213).Productions := WisiToken.To_Vector ((1 => (67, 
2)));
+            Add_Action (Table.States (213), (6, 8, 12, 16, 18, 23, 25, 37), 
(67, 2), 1, null, null);
+            Table.States (213).Minimal_Complete_Action := (Reduce, 67, 1);
          end Subr_2;
          procedure Subr_3
          is begin
-            Table.States (214).Productions := WisiToken.To_Vector ((1 => (65, 
3)));
-            Add_Action (Table.States (214), (5, 7, 11, 15, 17, 22, 24, 35), 
(65, 3), 1, null, null);
-            Table.States (214).Minimal_Complete_Action := (Reduce, 65, 1);
-            Table.States (215).Productions := WisiToken.To_Vector ((1 => (50, 
0)));
-            Add_Action (Table.States (215), (5, 7, 11, 15, 17, 22, 24, 35), 
(50, 0), 1, null, null);
-            Table.States (215).Minimal_Complete_Action := (Reduce, 50, 1);
-            Table.States (216).Productions := WisiToken.To_Vector (((50, 1), 
(51, 1)));
-            Add_Action (Table.States (216), 5, 207);
-            Add_Action (Table.States (216), 7, Reduce, (51, 1), 1, null, null);
-            Add_Action (Table.States (216), 11, 208);
-            Add_Action (Table.States (216), 15, 209);
-            Add_Action (Table.States (216), 17, 210);
-            Add_Action (Table.States (216), 22, 211);
-            Add_Action (Table.States (216), 24, Reduce, (51, 1), 1, null, 
null);
-            Add_Action (Table.States (216), 35, 212);
+            Table.States (214).Productions := WisiToken.To_Vector ((1 => (67, 
3)));
+            Add_Action (Table.States (214), (6, 8, 12, 16, 18, 23, 25, 37), 
(67, 3), 1, null, null);
+            Table.States (214).Minimal_Complete_Action := (Reduce, 67, 1);
+            Table.States (215).Productions := WisiToken.To_Vector ((1 => (52, 
0)));
+            Add_Action (Table.States (215), (6, 8, 12, 16, 18, 23, 25, 37), 
(52, 0), 1, null, null);
+            Table.States (215).Minimal_Complete_Action := (Reduce, 52, 1);
+            Table.States (216).Productions := WisiToken.To_Vector (((52, 1), 
(53, 1)));
+            Add_Action (Table.States (216), 6, 207);
+            Add_Action (Table.States (216), 8, Reduce, (53, 1), 1, null, null);
+            Add_Action (Table.States (216), 12, 208);
+            Add_Action (Table.States (216), 16, 209);
+            Add_Action (Table.States (216), 18, 210);
+            Add_Action (Table.States (216), 23, 211);
+            Add_Action (Table.States (216), 25, Reduce, (53, 1), 1, null, 
null);
+            Add_Action (Table.States (216), 37, 212);
             Add_Error (Table.States (216));
-            Add_Goto (Table.States (216), 40, 213);
-            Add_Goto (Table.States (216), 43, 214);
-            Add_Goto (Table.States (216), 49, 239);
-            Add_Goto (Table.States (216), 58, 218);
-            Add_Goto (Table.States (216), 59, 219);
-            Add_Goto (Table.States (216), 60, 220);
-            Add_Goto (Table.States (216), 61, 221);
-            Add_Goto (Table.States (216), 65, 222);
-            Add_Goto (Table.States (216), 70, 223);
-            Table.States (216).Minimal_Complete_Action := (Reduce, 51, 1);
-            Table.States (217).Productions := WisiToken.To_Vector ((1 => (44, 
0)));
-            Add_Action (Table.States (217), (7, 24), (44, 0), 4, 
case_item_0'Access, null);
-            Table.States (217).Minimal_Complete_Action := (Reduce, 44, 4);
-            Table.States (218).Productions := WisiToken.To_Vector ((1 => (49, 
2)));
-            Add_Action (Table.States (218), (5, 7, 11, 15, 17, 22, 24, 35), 
(49, 2), 1, null, null);
-            Table.States (218).Minimal_Complete_Action := (Reduce, 49, 1);
-            Table.States (219).Productions := WisiToken.To_Vector ((1 => (58, 
0)));
-            Add_Action (Table.States (219), (5, 7, 11, 15, 17, 22, 24, 35), 
(58, 0), 1, null, null);
-            Table.States (219).Minimal_Complete_Action := (Reduce, 58, 1);
-            Table.States (220).Productions := WisiToken.To_Vector ((1 => (58, 
1)));
-            Add_Action (Table.States (220), (5, 7, 11, 15, 17, 22, 24, 35), 
(58, 1), 1, null, null);
-            Table.States (220).Minimal_Complete_Action := (Reduce, 58, 1);
-            Table.States (221).Productions := WisiToken.To_Vector ((1 => (58, 
2)));
-            Add_Action (Table.States (221), (5, 7, 11, 15, 17, 22, 24, 35), 
(58, 2), 1, null, null);
-            Table.States (221).Minimal_Complete_Action := (Reduce, 58, 1);
-            Table.States (222).Productions := WisiToken.To_Vector ((1 => (49, 
0)));
-            Add_Action (Table.States (222), (5, 7, 11, 15, 17, 22, 24, 35), 
(49, 0), 1, null, null);
-            Table.States (222).Minimal_Complete_Action := (Reduce, 49, 1);
-            Table.States (223).Productions := WisiToken.To_Vector ((1 => (49, 
1)));
-            Add_Action (Table.States (223), (5, 7, 11, 15, 17, 22, 24, 35), 
(49, 1), 1, null, null);
-            Table.States (223).Minimal_Complete_Action := (Reduce, 49, 1);
-            Table.States (224).Productions := WisiToken.To_Vector ((1 => (53, 
1)));
-            Add_Action (Table.States (224), (31, 34), (53, 1), 3, null, null);
-            Table.States (224).Minimal_Complete_Action := (Reduce, 53, 3);
-            Table.States (225).Productions := WisiToken.To_Vector ((1 => (43, 
0)));
-            Add_Action (Table.States (225), (5, 7, 11, 15, 17, 22, 35), (43, 
0), 7, case_statement_0'Access, null);
-            Table.States (225).Minimal_Complete_Action := (Reduce, 43, 7);
-            Table.States (226).Productions := WisiToken.To_Vector (((40, 2), 
(54, 1)));
-            Add_Action (Table.States (226), 26, 170);
-            Add_Action (Table.States (226), 33, 240);
+            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).Minimal_Complete_Action := (Reduce, 53, 1);
+            Table.States (217).Productions := WisiToken.To_Vector ((1 => (46, 
0)));
+            Add_Action (Table.States (217), (8, 25), (46, 0), 4, 
case_item_0'Access, null);
+            Table.States (217).Minimal_Complete_Action := (Reduce, 46, 4);
+            Table.States (218).Productions := WisiToken.To_Vector ((1 => (51, 
2)));
+            Add_Action (Table.States (218), (6, 8, 12, 16, 18, 23, 25, 37), 
(51, 2), 1, null, null);
+            Table.States (218).Minimal_Complete_Action := (Reduce, 51, 1);
+            Table.States (219).Productions := WisiToken.To_Vector ((1 => (60, 
0)));
+            Add_Action (Table.States (219), (6, 8, 12, 16, 18, 23, 25, 37), 
(60, 0), 1, null, null);
+            Table.States (219).Minimal_Complete_Action := (Reduce, 60, 1);
+            Table.States (220).Productions := WisiToken.To_Vector ((1 => (60, 
1)));
+            Add_Action (Table.States (220), (6, 8, 12, 16, 18, 23, 25, 37), 
(60, 1), 1, null, null);
+            Table.States (220).Minimal_Complete_Action := (Reduce, 60, 1);
+            Table.States (221).Productions := WisiToken.To_Vector ((1 => (60, 
2)));
+            Add_Action (Table.States (221), (6, 8, 12, 16, 18, 23, 25, 37), 
(60, 2), 1, null, null);
+            Table.States (221).Minimal_Complete_Action := (Reduce, 60, 1);
+            Table.States (222).Productions := WisiToken.To_Vector ((1 => (51, 
0)));
+            Add_Action (Table.States (222), (6, 8, 12, 16, 18, 23, 25, 37), 
(51, 0), 1, null, null);
+            Table.States (222).Minimal_Complete_Action := (Reduce, 51, 1);
+            Table.States (223).Productions := WisiToken.To_Vector ((1 => (51, 
1)));
+            Add_Action (Table.States (223), (6, 8, 12, 16, 18, 23, 25, 37), 
(51, 1), 1, null, null);
+            Table.States (223).Minimal_Complete_Action := (Reduce, 51, 1);
+            Table.States (224).Productions := WisiToken.To_Vector ((1 => (55, 
1)));
+            Add_Action (Table.States (224), (32, 35), (55, 1), 3, null, null);
+            Table.States (224).Minimal_Complete_Action := (Reduce, 55, 3);
+            Table.States (225).Productions := WisiToken.To_Vector ((1 => (45, 
0)));
+            Add_Action (Table.States (225), (6, 8, 12, 16, 18, 23, 37), (45, 
0), 7, case_statement_0'Access, null);
+            Table.States (225).Minimal_Complete_Action := (Reduce, 45, 7);
+            Table.States (226).Productions := WisiToken.To_Vector (((42, 3), 
(56, 1)));
+            Add_Action (Table.States (226), 27, 170);
+            Add_Action (Table.States (226), 34, 253);
             Add_Error (Table.States (226));
-            Table.States (226).Minimal_Complete_Action := (Shift, 33, 240);
-            Table.States (227).Productions := WisiToken.To_Vector (((40, 1), 
(54, 1)));
-            Add_Action (Table.States (227), 26, 170);
-            Add_Action (Table.States (227), 33, 241);
+            Table.States (226).Minimal_Complete_Action := (Shift, 34, 253);
+            Table.States (227).Productions := WisiToken.To_Vector ((1 => (57, 
0)));
+            Add_Action (Table.States (227), 14, 254);
             Add_Error (Table.States (227));
-            Table.States (227).Minimal_Complete_Action := (Shift, 33, 241);
-            Table.States (228).Productions := WisiToken.To_Vector ((1 => (60, 
0)));
-            Add_Action (Table.States (228), 33, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (228), 35, 144);
+            Add_Goto (Table.States (227), 41, 255);
+            Table.States (227).Minimal_Complete_Action := (Shift, 14, 254);
+            Table.States (228).Productions := WisiToken.To_Vector ((1 => (57, 
1)));
+            Add_Action (Table.States (228), 14, 254);
             Add_Error (Table.States (228));
-            Add_Goto (Table.States (228), 56, 242);
-            Table.States (228).Minimal_Complete_Action := (Reduce, 56, 0);
-            Table.States (229).Productions := WisiToken.To_Vector ((1 => (59, 
0)));
-            Add_Action (Table.States (229), (5, 7, 11, 15, 17, 22, 35), (59, 
0), 7, package_spec_0'Access,
-            package_spec_0_check'Access);
-            Table.States (229).Minimal_Complete_Action := (Reduce, 59, 7);
-            Table.States (230).Productions := WisiToken.To_Vector ((1 => (42, 
1)));
-            Add_Action (Table.States (230), 20, 243);
-            Add_Error (Table.States (230));
-            Table.States (230).Minimal_Complete_Action := (Shift, 20, 243);
-            Table.States (231).Productions := WisiToken.To_Vector (((43, 0), 
(57, 1)));
-            Add_Action (Table.States (231), 12, 244);
-            Add_Action (Table.States (231), 30, 121);
-            Add_Error (Table.States (231));
-            Table.States (231).Minimal_Complete_Action := (Shift, 12, 244);
-            Table.States (232).Productions := WisiToken.To_Vector ((1 => (40, 
2)));
-            Add_Action (Table.States (232), 13, 245);
-            Add_Error (Table.States (232));
-            Table.States (232).Minimal_Complete_Action := (Shift, 13, 245);
-            Table.States (233).Productions := WisiToken.To_Vector (((40, 0), 
(40, 1)));
-            Add_Action (Table.States (233), 13, 246);
-            Add_Action (Table.States (233), 23, 247);
+            Add_Goto (Table.States (228), 41, 256);
+            Table.States (228).Minimal_Complete_Action := (Shift, 14, 254);
+            Table.States (229).Productions := WisiToken.To_Vector (((41, 0), 
(71, 1)));
+            Add_Action (Table.States (229), 10, 32);
+            Add_Action (Table.States (229), 11, 33);
+            Add_Action (Table.States (229), 14, 34);
+            Add_Action (Table.States (229), 19, 9);
+            Add_Action (Table.States (229), 21, 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, 36);
+            Add_Action (Table.States (229), 38, 37);
+            Add_Error (Table.States (229));
+            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).Minimal_Complete_Action := (Reduce, 70, 0);
+            Table.States (230).Productions := WisiToken.To_Vector ((1 => (58, 
1)));
+            Add_Action (Table.States (230), (4, 27, 31, 33, 34), (58, 1), 1, 
null, identifier_opt_1_check'Access);
+            Table.States (230).Minimal_Complete_Action := (Reduce, 58, 1);
+            Table.States (231).Productions := WisiToken.To_Vector ((1 => (69, 
0)));
+            Add_Action (Table.States (231), (4, 27, 34), (69, 0), 1, null, 
null);
+            Table.States (231).Minimal_Complete_Action := (Reduce, 69, 1);
+            Table.States (232).Productions := WisiToken.To_Vector ((1 => (71, 
2)));
+            Add_Action (Table.States (232), (4, 27, 34), (71, 2), 1, null, 
null);
+            Table.States (232).Minimal_Complete_Action := (Reduce, 71, 1);
+            Table.States (233).Productions := WisiToken.To_Vector (((44, 0), 
(44, 1)));
+            Add_Action (Table.States (233), 33, 259);
             Add_Error (Table.States (233));
-            Table.States (233).Minimal_Complete_Action := (Shift, 23, 247);
-            Table.States (234).Productions := WisiToken.To_Vector ((1 => (65, 
4)));
-            Add_Action (Table.States (234), (5, 7, 11, 15, 17, 22, 24, 35), 
(65, 4), 2,
-            simple_declarative_item_4'Access, null);
-            Table.States (234).Minimal_Complete_Action := (Reduce, 65, 2);
-            Table.States (235).Productions := WisiToken.To_Vector (((59, 0), 
(60, 0), (61, 0)));
-            Add_Action (Table.States (235), 8, 248);
-            Add_Action (Table.States (235), 12, 249);
-            Add_Action (Table.States (235), 19, 250);
+            Table.States (233).Minimal_Complete_Action := (Shift, 33, 259);
+            Table.States (234).Productions := WisiToken.To_Vector ((1 => (69, 
3)));
+            Add_Action (Table.States (234), (4, 27, 34), (69, 3), 1, null, 
null);
+            Table.States (234).Minimal_Complete_Action := (Reduce, 69, 1);
+            Table.States (235).Productions := WisiToken.To_Vector (((42, 1), 
(42, 2), (56, 1)));
+            Add_Action (Table.States (235), 4, 260);
+            Add_Action (Table.States (235), 27, 261);
+            Add_Action (Table.States (235), 34, 262);
             Add_Error (Table.States (235));
-            Table.States (235).Minimal_Complete_Action := (Shift, 19, 250);
-            Table.States (236).Productions := WisiToken.To_Vector ((1 => (70, 
0)));
-            Add_Action (Table.States (236), 12, 251);
-            Add_Error (Table.States (236));
-            Table.States (236).Minimal_Complete_Action := (Shift, 12, 251);
-            Table.States (237).Productions := WisiToken.To_Vector ((1 => (65, 
1)));
-            Add_Action (Table.States (237), 35, 252);
-            Add_Error (Table.States (237));
-            Table.States (237).Minimal_Complete_Action := (Shift, 35, 252);
-            Table.States (238).Productions := WisiToken.To_Vector ((1 => (65, 
0)));
-            Add_Action (Table.States (238), 9, 130);
-            Add_Action (Table.States (238), 10, 131);
-            Add_Action (Table.States (238), 13, 132);
-            Add_Action (Table.States (238), 18, 9);
-            Add_Action (Table.States (238), 26, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (238), 30, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (238), 32, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (238), 33, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (238), 35, 133);
-            Add_Action (Table.States (238), 36, 134);
+            Table.States (235).Minimal_Complete_Action := (Shift, 34, 262);
+            Table.States (236).Productions := WisiToken.To_Vector ((1 => (69, 
2)));
+            Add_Action (Table.States (236), (4, 27, 34), (69, 2), 1, null, 
null);
+            Table.States (236).Minimal_Complete_Action := (Reduce, 69, 1);
+            Table.States (237).Productions := WisiToken.To_Vector ((1 => (59, 
0)));
+            Add_Action (Table.States (237), (4, 27, 31, 33, 34), (59, 0), 1, 
null, null);
+            Table.States (237).Minimal_Complete_Action := (Reduce, 59, 1);
+            Table.States (238).Productions := WisiToken.To_Vector (((43, 1), 
(59, 1), (69, 1)));
+            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, 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);
             Add_Error (Table.States (238));
-            Add_Goto (Table.States (238), 39, 135);
-            Add_Goto (Table.States (238), 41, 136);
-            Add_Goto (Table.States (238), 42, 137);
-            Add_Goto (Table.States (238), 54, 253);
-            Add_Goto (Table.States (238), 55, 139);
-            Add_Goto (Table.States (238), 56, 140);
-            Add_Goto (Table.States (238), 57, 141);
-            Add_Goto (Table.States (238), 67, 142);
-            Add_Goto (Table.States (238), 69, 143);
-            Table.States (238).Minimal_Complete_Action := (Reduce, 54, 0);
-            Table.States (239).Productions := WisiToken.To_Vector ((1 => (50, 
1)));
-            Add_Action (Table.States (239), (5, 7, 11, 15, 17, 22, 24, 35), 
(50, 1), 2, null, null);
-            Table.States (239).Minimal_Complete_Action := (Reduce, 50, 2);
-            Table.States (240).Productions := WisiToken.To_Vector ((1 => (40, 
2)));
-            Add_Action (Table.States (240), (5, 7, 11, 15, 17, 22, 35), (40, 
2), 8, attribute_declaration_2'Access,
-            null);
-            Table.States (240).Minimal_Complete_Action := (Reduce, 40, 8);
-            Table.States (241).Productions := WisiToken.To_Vector ((1 => (40, 
1)));
-            Add_Action (Table.States (241), (5, 7, 11, 15, 17, 22, 35), (40, 
1), 8, attribute_declaration_1'Access,
-            null);
-            Table.States (241).Minimal_Complete_Action := (Reduce, 40, 8);
-            Table.States (242).Productions := WisiToken.To_Vector ((1 => (60, 
0)));
-            Add_Action (Table.States (242), 33, 254);
-            Add_Error (Table.States (242));
-            Table.States (242).Minimal_Complete_Action := (Shift, 33, 254);
-            Table.States (243).Productions := WisiToken.To_Vector ((1 => (42, 
1)));
-            Add_Action (Table.States (243), (26, 33), (42, 1), 6, null, null);
-            Table.States (243).Minimal_Complete_Action := (Reduce, 42, 6);
-            Table.States (244).Productions := WisiToken.To_Vector ((1 => (43, 
0)));
-            Add_Action (Table.States (244), 7, Reduce, (45, 0), 0, null, null);
-            Add_Action (Table.States (244), 24, 147);
-            Add_Conflict (Table.States (244), 24, (45, 0), 0, null, null);
+            Table.States (238).Minimal_Complete_Action := (Reduce, 43, 1);
+            Table.States (239).Productions := WisiToken.To_Vector ((1 => (71, 
0)));
+            Add_Action (Table.States (239), (4, 27, 34), (71, 0), 1, null, 
null);
+            Table.States (239).Minimal_Complete_Action := (Reduce, 71, 1);
+            Table.States (240).Productions := WisiToken.To_Vector ((1 => (56, 
0)));
+            Add_Action (Table.States (240), (4, 27, 34), (56, 0), 1, null, 
null);
+            Table.States (240).Minimal_Complete_Action := (Reduce, 56, 1);
+            Table.States (241).Productions := WisiToken.To_Vector ((1 => (62, 
0)));
+            Add_Action (Table.States (241), 34, Reduce, (58, 0), 0, null, 
null);
+            Add_Action (Table.States (241), 37, 144);
+            Add_Error (Table.States (241));
+            Add_Goto (Table.States (241), 58, 264);
+            Table.States (241).Minimal_Complete_Action := (Reduce, 58, 0);
+            Table.States (242).Productions := WisiToken.To_Vector ((1 => (61, 
0)));
+            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).Minimal_Complete_Action := (Reduce, 61, 7);
+            Table.States (243).Productions := WisiToken.To_Vector ((1 => (44, 
1)));
+            Add_Action (Table.States (243), 21, 265);
+            Add_Error (Table.States (243));
+            Table.States (243).Minimal_Complete_Action := (Shift, 21, 265);
+            Table.States (244).Productions := WisiToken.To_Vector (((45, 0), 
(59, 1)));
+            Add_Action (Table.States (244), 13, 266);
+            Add_Action (Table.States (244), 31, 121);
             Add_Error (Table.States (244));
-            Add_Goto (Table.States (244), 44, 148);
-            Add_Goto (Table.States (244), 45, 255);
-            Table.States (244).Minimal_Complete_Action := (Reduce, 45, 0);
-            Table.States (245).Productions := WisiToken.To_Vector ((1 => (40, 
2)));
-            Add_Action (Table.States (245), 36, 256);
+            Table.States (244).Minimal_Complete_Action := (Shift, 13, 266);
+            Table.States (245).Productions := WisiToken.To_Vector ((1 => (42, 
3)));
+            Add_Action (Table.States (245), 14, 267);
             Add_Error (Table.States (245));
-            Table.States (245).Minimal_Complete_Action := (Shift, 36, 256);
-            Table.States (246).Productions := WisiToken.To_Vector ((1 => (40, 
1)));
-            Add_Action (Table.States (246), 16, 152);
-            Add_Action (Table.States (246), 20, Reduce, (52, 0), 0, null, 
null);
-            Add_Action (Table.States (246), 36, 153);
+            Table.States (245).Minimal_Complete_Action := (Shift, 14, 267);
+            Table.States (246).Productions := WisiToken.To_Vector (((42, 0), 
(42, 1), (42, 2)));
+            Add_Action (Table.States (246), 14, 268);
+            Add_Action (Table.States (246), 24, 269);
             Add_Error (Table.States (246));
-            Add_Goto (Table.States (246), 52, 257);
-            Table.States (246).Minimal_Complete_Action := (Reduce, 52, 0);
-            Table.States (247).Productions := WisiToken.To_Vector ((1 => (40, 
0)));
-            Add_Action (Table.States (247), 9, 130);
-            Add_Action (Table.States (247), 10, 131);
-            Add_Action (Table.States (247), 13, 132);
-            Add_Action (Table.States (247), 18, 9);
-            Add_Action (Table.States (247), 26, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (247), 30, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (247), 32, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (247), 33, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (247), 35, 133);
-            Add_Action (Table.States (247), 36, 134);
-            Add_Error (Table.States (247));
-            Add_Goto (Table.States (247), 39, 135);
-            Add_Goto (Table.States (247), 41, 136);
-            Add_Goto (Table.States (247), 42, 137);
-            Add_Goto (Table.States (247), 54, 258);
-            Add_Goto (Table.States (247), 55, 139);
-            Add_Goto (Table.States (247), 56, 140);
-            Add_Goto (Table.States (247), 57, 141);
-            Add_Goto (Table.States (247), 67, 142);
-            Add_Goto (Table.States (247), 69, 143);
-            Table.States (247).Minimal_Complete_Action := (Reduce, 54, 0);
-            Table.States (248).Productions := WisiToken.To_Vector ((1 => (60, 
0)));
-            Add_Action (Table.States (248), 12, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (248), 30, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (248), 35, 105);
+            Table.States (246).Minimal_Complete_Action := (Shift, 24, 269);
+            Table.States (247).Productions := WisiToken.To_Vector ((1 => (67, 
4)));
+            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).Minimal_Complete_Action := (Reduce, 67, 2);
+            Table.States (248).Productions := WisiToken.To_Vector (((61, 0), 
(62, 0), (63, 0)));
+            Add_Action (Table.States (248), 9, 270);
+            Add_Action (Table.States (248), 13, 271);
+            Add_Action (Table.States (248), 20, 272);
             Add_Error (Table.States (248));
-            Add_Goto (Table.States (248), 56, 106);
-            Add_Goto (Table.States (248), 57, 259);
-            Table.States (248).Minimal_Complete_Action := (Reduce, 57, 0);
-            Table.States (249).Productions := WisiToken.To_Vector ((1 => (59, 
0)));
-            Add_Action (Table.States (249), 5, 85);
-            Add_Action (Table.States (249), 7, Reduce, (51, 0), 0, null, null);
-            Add_Action (Table.States (249), 11, 86);
-            Add_Action (Table.States (249), 15, 87);
-            Add_Action (Table.States (249), 17, 88);
-            Add_Action (Table.States (249), 22, 89);
-            Add_Action (Table.States (249), 35, 90);
+            Table.States (248).Minimal_Complete_Action := (Shift, 20, 272);
+            Table.States (249).Productions := WisiToken.To_Vector ((1 => (72, 
0)));
+            Add_Action (Table.States (249), 13, 273);
             Add_Error (Table.States (249));
-            Add_Goto (Table.States (249), 40, 91);
-            Add_Goto (Table.States (249), 43, 92);
-            Add_Goto (Table.States (249), 49, 93);
-            Add_Goto (Table.States (249), 50, 94);
-            Add_Goto (Table.States (249), 51, 260);
-            Add_Goto (Table.States (249), 58, 96);
-            Add_Goto (Table.States (249), 59, 97);
-            Add_Goto (Table.States (249), 60, 98);
-            Add_Goto (Table.States (249), 61, 99);
-            Add_Goto (Table.States (249), 65, 100);
-            Add_Goto (Table.States (249), 70, 101);
-            Table.States (249).Minimal_Complete_Action := (Reduce, 51, 0);
-            Table.States (250).Productions := WisiToken.To_Vector ((1 => (61, 
0)));
-            Add_Action (Table.States (250), 30, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (250), 33, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (250), 35, 158);
+            Table.States (249).Minimal_Complete_Action := (Shift, 13, 273);
+            Table.States (250).Productions := WisiToken.To_Vector ((1 => (67, 
1)));
+            Add_Action (Table.States (250), 37, 274);
             Add_Error (Table.States (250));
-            Add_Goto (Table.States (250), 56, 159);
-            Add_Goto (Table.States (250), 57, 261);
-            Table.States (250).Minimal_Complete_Action := (Reduce, 57, 0);
-            Table.States (251).Productions := WisiToken.To_Vector ((1 => (70, 
0)));
-            Add_Action (Table.States (251), 13, 161);
+            Table.States (250).Minimal_Complete_Action := (Shift, 37, 274);
+            Table.States (251).Productions := WisiToken.To_Vector ((1 => (67, 
0)));
+            Add_Action (Table.States (251), 10, 130);
+            Add_Action (Table.States (251), 11, 131);
+            Add_Action (Table.States (251), 14, 132);
+            Add_Action (Table.States (251), 19, 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, 133);
+            Add_Action (Table.States (251), 38, 134);
             Add_Error (Table.States (251));
-            Add_Goto (Table.States (251), 39, 262);
-            Table.States (251).Minimal_Complete_Action := (Shift, 13, 161);
-            Table.States (252).Productions := WisiToken.To_Vector ((1 => (65, 
1)));
-            Add_Action (Table.States (252), 28, 263);
-            Add_Error (Table.States (252));
-            Table.States (252).Minimal_Complete_Action := (Shift, 28, 263);
-            Table.States (253).Productions := WisiToken.To_Vector (((54, 1), 
(65, 0)));
-            Add_Action (Table.States (253), 26, 170);
-            Add_Action (Table.States (253), 33, 264);
-            Add_Error (Table.States (253));
-            Table.States (253).Minimal_Complete_Action := (Shift, 33, 264);
-            Table.States (254).Productions := WisiToken.To_Vector ((1 => (60, 
0)));
-            Add_Action (Table.States (254), (5, 7, 11, 15, 17, 22, 35), (60, 
0), 9, package_extension_0'Access,
-            package_extension_0_check'Access);
-            Table.States (254).Minimal_Complete_Action := (Reduce, 60, 9);
-            Table.States (255).Productions := WisiToken.To_Vector (((43, 0), 
(45, 2)));
-            Add_Action (Table.States (255), 7, 265);
-            Add_Action (Table.States (255), 24, 147);
-            Add_Error (Table.States (255));
-            Add_Goto (Table.States (255), 44, 180);
-            Table.States (255).Minimal_Complete_Action := (Shift, 7, 265);
-            Table.States (256).Productions := WisiToken.To_Vector ((1 => (40, 
2)));
-            Add_Action (Table.States (256), 20, 266);
-            Add_Error (Table.States (256));
-            Table.States (256).Minimal_Complete_Action := (Shift, 20, 266);
-            Table.States (257).Productions := WisiToken.To_Vector ((1 => (40, 
1)));
-            Add_Action (Table.States (257), 20, 267);
-            Add_Error (Table.States (257));
-            Table.States (257).Minimal_Complete_Action := (Shift, 20, 267);
-            Table.States (258).Productions := WisiToken.To_Vector (((40, 0), 
(54, 1)));
-            Add_Action (Table.States (258), 26, 170);
-            Add_Action (Table.States (258), 33, 268);
+            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).Minimal_Complete_Action := (Reduce, 56, 0);
+            Table.States (252).Productions := WisiToken.To_Vector ((1 => (52, 
1)));
+            Add_Action (Table.States (252), (6, 8, 12, 16, 18, 23, 25, 37), 
(52, 1), 2, null, null);
+            Table.States (252).Minimal_Complete_Action := (Reduce, 52, 2);
+            Table.States (253).Productions := WisiToken.To_Vector ((1 => (42, 
3)));
+            Add_Action (Table.States (253), (6, 8, 12, 16, 18, 23, 37), (42, 
3), 8, attribute_declaration_3'Access,
+            null);
+            Table.States (253).Minimal_Complete_Action := (Reduce, 42, 8);
+            Table.States (254).Productions := WisiToken.To_Vector ((1 => (41, 
0)));
+            Add_Action (Table.States (254), 10, 32);
+            Add_Action (Table.States (254), 11, 33);
+            Add_Action (Table.States (254), 14, 34);
+            Add_Action (Table.States (254), 19, 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, 36);
+            Add_Action (Table.States (254), 38, 37);
+            Add_Error (Table.States (254));
+            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).Minimal_Complete_Action := (Reduce, 70, 0);
+            Table.States (255).Productions := WisiToken.To_Vector ((1 => (57, 
0)));
+            Add_Action (Table.States (255), (4, 27, 34), (57, 0), 2, null, 
null);
+            Table.States (255).Minimal_Complete_Action := (Reduce, 57, 2);
+            Table.States (256).Productions := WisiToken.To_Vector ((1 => (57, 
1)));
+            Add_Action (Table.States (256), (4, 27, 34), (57, 1), 2, null, 
null);
+            Table.States (256).Minimal_Complete_Action := (Reduce, 57, 2);
+            Table.States (257).Productions := WisiToken.To_Vector ((1 => (71, 
1)));
+            Add_Action (Table.States (257), (4, 27, 34), (71, 1), 2, null, 
null);
+            Table.States (257).Minimal_Complete_Action := (Reduce, 71, 2);
+            Table.States (258).Productions := WisiToken.To_Vector (((41, 0), 
(70, 1)));
+            Add_Action (Table.States (258), 21, 276);
+            Add_Action (Table.States (258), 30, 67);
             Add_Error (Table.States (258));
-            Table.States (258).Minimal_Complete_Action := (Shift, 33, 268);
-            Table.States (259).Productions := WisiToken.To_Vector (((57, 1), 
(60, 0)));
-            Add_Action (Table.States (259), 12, 269);
-            Add_Action (Table.States (259), 30, 121);
+            Table.States (258).Minimal_Complete_Action := (Shift, 21, 276);
+            Table.States (259).Productions := WisiToken.To_Vector (((44, 0), 
(44, 1)));
+            Add_Action (Table.States (259), 37, 277);
             Add_Error (Table.States (259));
-            Table.States (259).Minimal_Complete_Action := (Shift, 12, 269);
-            Table.States (260).Productions := WisiToken.To_Vector ((1 => (59, 
0)));
-            Add_Action (Table.States (260), 7, 270);
+            Table.States (259).Minimal_Complete_Action := (Shift, 37, 277);
+            Table.States (260).Productions := WisiToken.To_Vector ((1 => (42, 
2)));
+            Add_Action (Table.States (260), 36, 278);
             Add_Error (Table.States (260));
-            Table.States (260).Minimal_Complete_Action := (Shift, 7, 270);
-            Table.States (261).Productions := WisiToken.To_Vector (((57, 1), 
(61, 0)));
-            Add_Action (Table.States (261), 30, 186);
-            Add_Action (Table.States (261), 33, 271);
+            Table.States (260).Minimal_Complete_Action := (Shift, 36, 278);
+            Table.States (261).Productions := WisiToken.To_Vector ((1 => (56, 
1)));
+            Add_Action (Table.States (261), 4, Reduce, (58, 0), 0, null, null);
+            Add_Action (Table.States (261), 10, 227);
+            Add_Action (Table.States (261), 11, 228);
+            Add_Action (Table.States (261), 14, 229);
+            Add_Action (Table.States (261), 19, 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, 230);
+            Add_Action (Table.States (261), 38, 231);
             Add_Error (Table.States (261));
-            Table.States (261).Minimal_Complete_Action := (Shift, 33, 271);
-            Table.States (262).Productions := WisiToken.To_Vector ((1 => (70, 
0)));
-            Add_Action (Table.States (262), 33, 272);
-            Add_Error (Table.States (262));
-            Table.States (262).Minimal_Complete_Action := (Shift, 33, 272);
-            Table.States (263).Productions := WisiToken.To_Vector ((1 => (65, 
1)));
-            Add_Action (Table.States (263), 9, 130);
-            Add_Action (Table.States (263), 10, 131);
-            Add_Action (Table.States (263), 13, 132);
-            Add_Action (Table.States (263), 18, 9);
-            Add_Action (Table.States (263), 26, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (263), 30, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (263), 32, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (263), 33, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (263), 35, 133);
-            Add_Action (Table.States (263), 36, 134);
+            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).Minimal_Complete_Action := (Reduce, 71, 0);
+            Table.States (262).Productions := WisiToken.To_Vector ((1 => (42, 
1)));
+            Add_Action (Table.States (262), (6, 8, 12, 16, 18, 23, 37), (42, 
1), 8, attribute_declaration_1'Access,
+            null);
+            Table.States (262).Minimal_Complete_Action := (Reduce, 42, 8);
+            Table.States (263).Productions := WisiToken.To_Vector ((1 => (59, 
1)));
+            Add_Action (Table.States (263), 37, 280);
             Add_Error (Table.States (263));
-            Add_Goto (Table.States (263), 39, 135);
-            Add_Goto (Table.States (263), 41, 136);
-            Add_Goto (Table.States (263), 42, 137);
-            Add_Goto (Table.States (263), 54, 273);
-            Add_Goto (Table.States (263), 55, 139);
-            Add_Goto (Table.States (263), 56, 140);
-            Add_Goto (Table.States (263), 57, 141);
-            Add_Goto (Table.States (263), 67, 142);
-            Add_Goto (Table.States (263), 69, 143);
-            Table.States (263).Minimal_Complete_Action := (Reduce, 54, 0);
-            Table.States (264).Productions := WisiToken.To_Vector ((1 => (65, 
0)));
-            Add_Action (Table.States (264), (5, 7, 11, 15, 17, 22, 24, 35), 
(65, 0), 4,
-            simple_declarative_item_0'Access, null);
-            Table.States (264).Minimal_Complete_Action := (Reduce, 65, 4);
-            Table.States (265).Productions := WisiToken.To_Vector ((1 => (43, 
0)));
-            Add_Action (Table.States (265), 5, 274);
-            Add_Error (Table.States (265));
-            Table.States (265).Minimal_Complete_Action := (Shift, 5, 274);
-            Table.States (266).Productions := WisiToken.To_Vector ((1 => (40, 
2)));
-            Add_Action (Table.States (266), 23, 275);
+            Table.States (263).Minimal_Complete_Action := (Shift, 37, 280);
+            Table.States (264).Productions := WisiToken.To_Vector ((1 => (62, 
0)));
+            Add_Action (Table.States (264), 34, 281);
+            Add_Error (Table.States (264));
+            Table.States (264).Minimal_Complete_Action := (Shift, 34, 281);
+            Table.States (265).Productions := WisiToken.To_Vector ((1 => (44, 
1)));
+            Add_Action (Table.States (265), (27, 34), (44, 1), 6, null, null);
+            Table.States (265).Minimal_Complete_Action := (Reduce, 44, 6);
+            Table.States (266).Productions := WisiToken.To_Vector ((1 => (45, 
0)));
+            Add_Action (Table.States (266), 8, Reduce, (47, 0), 0, null, null);
+            Add_Action (Table.States (266), 25, 147);
+            Add_Conflict (Table.States (266), 25, (47, 0), 0, null, null);
             Add_Error (Table.States (266));
-            Table.States (266).Minimal_Complete_Action := (Shift, 23, 275);
-            Table.States (267).Productions := WisiToken.To_Vector ((1 => (40, 
1)));
-            Add_Action (Table.States (267), 23, 276);
+            Add_Goto (Table.States (266), 46, 148);
+            Add_Goto (Table.States (266), 47, 282);
+            Table.States (266).Minimal_Complete_Action := (Reduce, 47, 0);
+            Table.States (267).Productions := WisiToken.To_Vector ((1 => (42, 
3)));
+            Add_Action (Table.States (267), 38, 283);
             Add_Error (Table.States (267));
-            Table.States (267).Minimal_Complete_Action := (Shift, 23, 276);
-            Table.States (268).Productions := WisiToken.To_Vector ((1 => (40, 
0)));
-            Add_Action (Table.States (268), (5, 7, 11, 15, 17, 22, 24, 35), 
(40, 0), 5, attribute_declaration_0'Access,
-            null);
-            Table.States (268).Minimal_Complete_Action := (Reduce, 40, 5);
-            Table.States (269).Productions := WisiToken.To_Vector ((1 => (60, 
0)));
-            Add_Action (Table.States (269), 5, 85);
-            Add_Action (Table.States (269), 7, Reduce, (51, 0), 0, null, null);
-            Add_Action (Table.States (269), 11, 86);
-            Add_Action (Table.States (269), 15, 87);
-            Add_Action (Table.States (269), 17, 88);
-            Add_Action (Table.States (269), 22, 89);
-            Add_Action (Table.States (269), 35, 90);
+            Table.States (267).Minimal_Complete_Action := (Shift, 38, 283);
+            Table.States (268).Productions := WisiToken.To_Vector (((42, 1), 
(42, 2)));
+            Add_Action (Table.States (268), 17, 152);
+            Add_Action (Table.States (268), 21, Reduce, (54, 0), 0, null, 
null);
+            Add_Action (Table.States (268), 38, 153);
+            Add_Error (Table.States (268));
+            Add_Goto (Table.States (268), 54, 284);
+            Table.States (268).Minimal_Complete_Action := (Reduce, 54, 0);
+            Table.States (269).Productions := WisiToken.To_Vector ((1 => (42, 
0)));
+            Add_Action (Table.States (269), 10, 130);
+            Add_Action (Table.States (269), 11, 131);
+            Add_Action (Table.States (269), 14, 132);
+            Add_Action (Table.States (269), 19, 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, 133);
+            Add_Action (Table.States (269), 38, 134);
             Add_Error (Table.States (269));
-            Add_Goto (Table.States (269), 40, 91);
-            Add_Goto (Table.States (269), 43, 92);
-            Add_Goto (Table.States (269), 49, 93);
-            Add_Goto (Table.States (269), 50, 94);
-            Add_Goto (Table.States (269), 51, 277);
-            Add_Goto (Table.States (269), 58, 96);
-            Add_Goto (Table.States (269), 59, 97);
-            Add_Goto (Table.States (269), 60, 98);
-            Add_Goto (Table.States (269), 61, 99);
-            Add_Goto (Table.States (269), 65, 100);
-            Add_Goto (Table.States (269), 70, 101);
-            Table.States (269).Minimal_Complete_Action := (Reduce, 51, 0);
-            Table.States (270).Productions := WisiToken.To_Vector ((1 => (59, 
0)));
-            Add_Action (Table.States (270), 33, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (270), 35, 144);
+            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).Minimal_Complete_Action := (Reduce, 56, 0);
+            Table.States (270).Productions := WisiToken.To_Vector ((1 => (62, 
0)));
+            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, 105);
             Add_Error (Table.States (270));
-            Add_Goto (Table.States (270), 56, 278);
-            Table.States (270).Minimal_Complete_Action := (Reduce, 56, 0);
+            Add_Goto (Table.States (270), 58, 106);
+            Add_Goto (Table.States (270), 59, 286);
+            Table.States (270).Minimal_Complete_Action := (Reduce, 59, 0);
             Table.States (271).Productions := WisiToken.To_Vector ((1 => (61, 
0)));
-            Add_Action (Table.States (271), (5, 7, 11, 15, 17, 22, 24, 35), 
(61, 0), 5, package_renaming_0'Access,
-            null);
-            Table.States (271).Minimal_Complete_Action := (Reduce, 61, 5);
-            Table.States (272).Productions := WisiToken.To_Vector ((1 => (70, 
0)));
-            Add_Action (Table.States (272), (5, 7, 11, 15, 17, 22, 24, 35), 
(70, 0), 5,
-            typed_string_declaration_0'Access, null);
-            Table.States (272).Minimal_Complete_Action := (Reduce, 70, 5);
-            Table.States (273).Productions := WisiToken.To_Vector (((54, 1), 
(65, 1)));
-            Add_Action (Table.States (273), 26, 170);
-            Add_Action (Table.States (273), 33, 279);
+            Add_Action (Table.States (271), 6, 85);
+            Add_Action (Table.States (271), 8, Reduce, (53, 0), 0, null, null);
+            Add_Action (Table.States (271), 12, 86);
+            Add_Action (Table.States (271), 16, 87);
+            Add_Action (Table.States (271), 18, 88);
+            Add_Action (Table.States (271), 23, 89);
+            Add_Action (Table.States (271), 37, 90);
+            Add_Error (Table.States (271));
+            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).Minimal_Complete_Action := (Reduce, 53, 0);
+            Table.States (272).Productions := WisiToken.To_Vector ((1 => (63, 
0)));
+            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, 158);
+            Add_Error (Table.States (272));
+            Add_Goto (Table.States (272), 58, 159);
+            Add_Goto (Table.States (272), 59, 288);
+            Table.States (272).Minimal_Complete_Action := (Reduce, 59, 0);
+            Table.States (273).Productions := WisiToken.To_Vector ((1 => (72, 
0)));
+            Add_Action (Table.States (273), 14, 161);
             Add_Error (Table.States (273));
-            Table.States (273).Minimal_Complete_Action := (Shift, 33, 279);
-            Table.States (274).Productions := WisiToken.To_Vector ((1 => (43, 
0)));
-            Add_Action (Table.States (274), 33, 280);
+            Add_Goto (Table.States (273), 41, 289);
+            Table.States (273).Minimal_Complete_Action := (Shift, 14, 161);
+            Table.States (274).Productions := WisiToken.To_Vector ((1 => (67, 
1)));
+            Add_Action (Table.States (274), 29, 290);
             Add_Error (Table.States (274));
-            Table.States (274).Minimal_Complete_Action := (Shift, 33, 280);
-            Table.States (275).Productions := WisiToken.To_Vector ((1 => (40, 
2)));
-            Add_Action (Table.States (275), 9, 130);
-            Add_Action (Table.States (275), 10, 131);
-            Add_Action (Table.States (275), 13, 132);
-            Add_Action (Table.States (275), 18, 9);
-            Add_Action (Table.States (275), 26, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (275), 30, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (275), 32, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (275), 33, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (275), 35, 133);
-            Add_Action (Table.States (275), 36, 134);
+            Table.States (274).Minimal_Complete_Action := (Shift, 29, 290);
+            Table.States (275).Productions := WisiToken.To_Vector (((56, 1), 
(67, 0)));
+            Add_Action (Table.States (275), 27, 170);
+            Add_Action (Table.States (275), 34, 291);
             Add_Error (Table.States (275));
-            Add_Goto (Table.States (275), 39, 135);
-            Add_Goto (Table.States (275), 41, 136);
-            Add_Goto (Table.States (275), 42, 137);
-            Add_Goto (Table.States (275), 54, 281);
-            Add_Goto (Table.States (275), 55, 139);
-            Add_Goto (Table.States (275), 56, 140);
-            Add_Goto (Table.States (275), 57, 141);
-            Add_Goto (Table.States (275), 67, 142);
-            Add_Goto (Table.States (275), 69, 143);
-            Table.States (275).Minimal_Complete_Action := (Reduce, 54, 0);
-            Table.States (276).Productions := WisiToken.To_Vector ((1 => (40, 
1)));
-            Add_Action (Table.States (276), 9, 130);
-            Add_Action (Table.States (276), 10, 131);
-            Add_Action (Table.States (276), 13, 132);
-            Add_Action (Table.States (276), 18, 9);
-            Add_Action (Table.States (276), 26, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (276), 30, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (276), 32, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (276), 33, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (276), 35, 133);
-            Add_Action (Table.States (276), 36, 134);
-            Add_Error (Table.States (276));
-            Add_Goto (Table.States (276), 39, 135);
-            Add_Goto (Table.States (276), 41, 136);
-            Add_Goto (Table.States (276), 42, 137);
-            Add_Goto (Table.States (276), 54, 282);
-            Add_Goto (Table.States (276), 55, 139);
-            Add_Goto (Table.States (276), 56, 140);
-            Add_Goto (Table.States (276), 57, 141);
-            Add_Goto (Table.States (276), 67, 142);
-            Add_Goto (Table.States (276), 69, 143);
-            Table.States (276).Minimal_Complete_Action := (Reduce, 54, 0);
-            Table.States (277).Productions := WisiToken.To_Vector ((1 => (60, 
0)));
-            Add_Action (Table.States (277), 7, 283);
+            Table.States (275).Minimal_Complete_Action := (Shift, 34, 291);
+            Table.States (276).Productions := WisiToken.To_Vector ((1 => (41, 
0)));
+            Add_Action (Table.States (276), (4, 27, 34), (41, 0), 3, 
aggregate_g_0'Access, null);
+            Table.States (276).Minimal_Complete_Action := (Reduce, 41, 3);
+            Table.States (277).Productions := WisiToken.To_Vector (((44, 0), 
(44, 1)));
+            Add_Action (Table.States (277), 4, Reduce, (44, 0), 3, null, null);
+            Add_Action (Table.States (277), 14, 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);
             Add_Error (Table.States (277));
-            Table.States (277).Minimal_Complete_Action := (Shift, 7, 283);
-            Table.States (278).Productions := WisiToken.To_Vector ((1 => (59, 
0)));
-            Add_Action (Table.States (278), 33, 284);
+            Table.States (277).Minimal_Complete_Action := (Reduce, 44, 3);
+            Table.States (278).Productions := WisiToken.To_Vector ((1 => (42, 
2)));
+            Add_Action (Table.States (278), 34, 293);
             Add_Error (Table.States (278));
-            Table.States (278).Minimal_Complete_Action := (Shift, 33, 284);
-            Table.States (279).Productions := WisiToken.To_Vector ((1 => (65, 
1)));
-            Add_Action (Table.States (279), (5, 7, 11, 15, 17, 22, 24, 35), 
(65, 1), 6,
-            simple_declarative_item_1'Access, null);
-            Table.States (279).Minimal_Complete_Action := (Reduce, 65, 6);
-            Table.States (280).Productions := WisiToken.To_Vector ((1 => (43, 
0)));
-            Add_Action (Table.States (280), (5, 7, 11, 15, 17, 22, 24, 35), 
(43, 0), 7, case_statement_0'Access, null);
-            Table.States (280).Minimal_Complete_Action := (Reduce, 43, 7);
-            Table.States (281).Productions := WisiToken.To_Vector (((40, 2), 
(54, 1)));
-            Add_Action (Table.States (281), 26, 170);
-            Add_Action (Table.States (281), 33, 285);
-            Add_Error (Table.States (281));
-            Table.States (281).Minimal_Complete_Action := (Shift, 33, 285);
-            Table.States (282).Productions := WisiToken.To_Vector (((40, 1), 
(54, 1)));
-            Add_Action (Table.States (282), 26, 170);
-            Add_Action (Table.States (282), 33, 286);
+            Table.States (278).Minimal_Complete_Action := (Shift, 34, 293);
+            Table.States (279).Productions := WisiToken.To_Vector ((1 => (56, 
1)));
+            Add_Action (Table.States (279), (4, 27, 34), (56, 1), 3, null, 
null);
+            Table.States (279).Minimal_Complete_Action := (Reduce, 56, 3);
+            Table.States (280).Productions := WisiToken.To_Vector ((1 => (59, 
1)));
+            Add_Action (Table.States (280), (4, 27, 31, 33, 34), (59, 1), 3, 
null, null);
+            Table.States (280).Minimal_Complete_Action := (Reduce, 59, 3);
+            Table.States (281).Productions := WisiToken.To_Vector ((1 => (62, 
0)));
+            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).Minimal_Complete_Action := (Reduce, 62, 9);
+            Table.States (282).Productions := WisiToken.To_Vector (((45, 0), 
(47, 2)));
+            Add_Action (Table.States (282), 8, 294);
+            Add_Action (Table.States (282), 25, 147);
             Add_Error (Table.States (282));
-            Table.States (282).Minimal_Complete_Action := (Shift, 33, 286);
-            Table.States (283).Productions := WisiToken.To_Vector ((1 => (60, 
0)));
-            Add_Action (Table.States (283), 33, Reduce, (56, 0), 0, null, 
null);
-            Add_Action (Table.States (283), 35, 144);
+            Add_Goto (Table.States (282), 46, 180);
+            Table.States (282).Minimal_Complete_Action := (Shift, 8, 294);
+            Table.States (283).Productions := WisiToken.To_Vector ((1 => (42, 
3)));
+            Add_Action (Table.States (283), 21, 295);
             Add_Error (Table.States (283));
-            Add_Goto (Table.States (283), 56, 287);
-            Table.States (283).Minimal_Complete_Action := (Reduce, 56, 0);
-            Table.States (284).Productions := WisiToken.To_Vector ((1 => (59, 
0)));
-            Add_Action (Table.States (284), (5, 7, 11, 15, 17, 22, 24, 35), 
(59, 0), 7, package_spec_0'Access,
+            Table.States (283).Minimal_Complete_Action := (Shift, 21, 295);
+            Table.States (284).Productions := WisiToken.To_Vector (((42, 1), 
(42, 2)));
+            Add_Action (Table.States (284), 21, 296);
+            Add_Error (Table.States (284));
+            Table.States (284).Minimal_Complete_Action := (Shift, 21, 296);
+            Table.States (285).Productions := WisiToken.To_Vector (((42, 0), 
(56, 1)));
+            Add_Action (Table.States (285), 27, 170);
+            Add_Action (Table.States (285), 34, 297);
+            Add_Error (Table.States (285));
+            Table.States (285).Minimal_Complete_Action := (Shift, 34, 297);
+            Table.States (286).Productions := WisiToken.To_Vector (((59, 1), 
(62, 0)));
+            Add_Action (Table.States (286), 13, 298);
+            Add_Action (Table.States (286), 31, 121);
+            Add_Error (Table.States (286));
+            Table.States (286).Minimal_Complete_Action := (Shift, 13, 298);
+            Table.States (287).Productions := WisiToken.To_Vector ((1 => (61, 
0)));
+            Add_Action (Table.States (287), 8, 299);
+            Add_Error (Table.States (287));
+            Table.States (287).Minimal_Complete_Action := (Shift, 8, 299);
+            Table.States (288).Productions := WisiToken.To_Vector (((59, 1), 
(63, 0)));
+            Add_Action (Table.States (288), 31, 186);
+            Add_Action (Table.States (288), 34, 300);
+            Add_Error (Table.States (288));
+            Table.States (288).Minimal_Complete_Action := (Shift, 34, 300);
+            Table.States (289).Productions := WisiToken.To_Vector ((1 => (72, 
0)));
+            Add_Action (Table.States (289), 34, 301);
+            Add_Error (Table.States (289));
+            Table.States (289).Minimal_Complete_Action := (Shift, 34, 301);
+            Table.States (290).Productions := WisiToken.To_Vector ((1 => (67, 
1)));
+            Add_Action (Table.States (290), 10, 130);
+            Add_Action (Table.States (290), 11, 131);
+            Add_Action (Table.States (290), 14, 132);
+            Add_Action (Table.States (290), 19, 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, 133);
+            Add_Action (Table.States (290), 38, 134);
+            Add_Error (Table.States (290));
+            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).Minimal_Complete_Action := (Reduce, 56, 0);
+            Table.States (291).Productions := WisiToken.To_Vector ((1 => (67, 
0)));
+            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).Minimal_Complete_Action := (Reduce, 67, 4);
+            Table.States (292).Productions := WisiToken.To_Vector ((1 => (44, 
1)));
+            Add_Action (Table.States (292), 38, 303);
+            Add_Error (Table.States (292));
+            Table.States (292).Minimal_Complete_Action := (Shift, 38, 303);
+            Table.States (293).Productions := WisiToken.To_Vector ((1 => (42, 
2)));
+            Add_Action (Table.States (293), (6, 8, 12, 16, 18, 23, 37), (42, 
2), 10, attribute_declaration_2'Access,
+            null);
+            Table.States (293).Minimal_Complete_Action := (Reduce, 42, 10);
+            Table.States (294).Productions := WisiToken.To_Vector ((1 => (45, 
0)));
+            Add_Action (Table.States (294), 6, 304);
+            Add_Error (Table.States (294));
+            Table.States (294).Minimal_Complete_Action := (Shift, 6, 304);
+            Table.States (295).Productions := WisiToken.To_Vector ((1 => (42, 
3)));
+            Add_Action (Table.States (295), 24, 305);
+            Add_Error (Table.States (295));
+            Table.States (295).Minimal_Complete_Action := (Shift, 24, 305);
+            Table.States (296).Productions := WisiToken.To_Vector (((42, 1), 
(42, 2)));
+            Add_Action (Table.States (296), 24, 306);
+            Add_Error (Table.States (296));
+            Table.States (296).Minimal_Complete_Action := (Shift, 24, 306);
+            Table.States (297).Productions := WisiToken.To_Vector ((1 => (42, 
0)));
+            Add_Action (Table.States (297), (6, 8, 12, 16, 18, 23, 25, 37), 
(42, 0), 5, attribute_declaration_0'Access,
+            null);
+            Table.States (297).Minimal_Complete_Action := (Reduce, 42, 5);
+            Table.States (298).Productions := WisiToken.To_Vector ((1 => (62, 
0)));
+            Add_Action (Table.States (298), 6, 85);
+            Add_Action (Table.States (298), 8, Reduce, (53, 0), 0, null, null);
+            Add_Action (Table.States (298), 12, 86);
+            Add_Action (Table.States (298), 16, 87);
+            Add_Action (Table.States (298), 18, 88);
+            Add_Action (Table.States (298), 23, 89);
+            Add_Action (Table.States (298), 37, 90);
+            Add_Error (Table.States (298));
+            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).Minimal_Complete_Action := (Reduce, 53, 0);
+            Table.States (299).Productions := WisiToken.To_Vector ((1 => (61, 
0)));
+            Add_Action (Table.States (299), 34, Reduce, (58, 0), 0, null, 
null);
+            Add_Action (Table.States (299), 37, 144);
+            Add_Error (Table.States (299));
+            Add_Goto (Table.States (299), 58, 308);
+            Table.States (299).Minimal_Complete_Action := (Reduce, 58, 0);
+            Table.States (300).Productions := WisiToken.To_Vector ((1 => (63, 
0)));
+            Add_Action (Table.States (300), (6, 8, 12, 16, 18, 23, 25, 37), 
(63, 0), 5, package_renaming_0'Access,
+            null);
+            Table.States (300).Minimal_Complete_Action := (Reduce, 63, 5);
+            Table.States (301).Productions := WisiToken.To_Vector ((1 => (72, 
0)));
+            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).Minimal_Complete_Action := (Reduce, 72, 5);
+            Table.States (302).Productions := WisiToken.To_Vector (((56, 1), 
(67, 1)));
+            Add_Action (Table.States (302), 27, 170);
+            Add_Action (Table.States (302), 34, 309);
+            Add_Error (Table.States (302));
+            Table.States (302).Minimal_Complete_Action := (Shift, 34, 309);
+            Table.States (303).Productions := WisiToken.To_Vector ((1 => (44, 
1)));
+            Add_Action (Table.States (303), 21, 310);
+            Add_Error (Table.States (303));
+            Table.States (303).Minimal_Complete_Action := (Shift, 21, 310);
+            Table.States (304).Productions := WisiToken.To_Vector ((1 => (45, 
0)));
+            Add_Action (Table.States (304), 34, 311);
+            Add_Error (Table.States (304));
+            Table.States (304).Minimal_Complete_Action := (Shift, 34, 311);
+            Table.States (305).Productions := WisiToken.To_Vector ((1 => (42, 
3)));
+            Add_Action (Table.States (305), 10, 130);
+            Add_Action (Table.States (305), 11, 131);
+            Add_Action (Table.States (305), 14, 132);
+            Add_Action (Table.States (305), 19, 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, 133);
+            Add_Action (Table.States (305), 38, 134);
+            Add_Error (Table.States (305));
+            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).Minimal_Complete_Action := (Reduce, 56, 0);
+            Table.States (306).Productions := WisiToken.To_Vector (((42, 1), 
(42, 2)));
+            Add_Action (Table.States (306), 4, Reduce, (58, 0), 0, null, null);
+            Add_Action (Table.States (306), 10, 227);
+            Add_Action (Table.States (306), 11, 228);
+            Add_Action (Table.States (306), 14, 229);
+            Add_Action (Table.States (306), 19, 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, 230);
+            Add_Action (Table.States (306), 38, 231);
+            Add_Error (Table.States (306));
+            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).Minimal_Complete_Action := (Reduce, 56, 0);
+            Table.States (307).Productions := WisiToken.To_Vector ((1 => (62, 
0)));
+            Add_Action (Table.States (307), 8, 314);
+            Add_Error (Table.States (307));
+            Table.States (307).Minimal_Complete_Action := (Shift, 8, 314);
+            Table.States (308).Productions := WisiToken.To_Vector ((1 => (61, 
0)));
+            Add_Action (Table.States (308), 34, 315);
+            Add_Error (Table.States (308));
+            Table.States (308).Minimal_Complete_Action := (Shift, 34, 315);
+            Table.States (309).Productions := WisiToken.To_Vector ((1 => (67, 
1)));
+            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).Minimal_Complete_Action := (Reduce, 67, 6);
+            Table.States (310).Productions := WisiToken.To_Vector ((1 => (44, 
1)));
+            Add_Action (Table.States (310), (4, 27, 34), (44, 1), 6, null, 
null);
+            Table.States (310).Minimal_Complete_Action := (Reduce, 44, 6);
+            Table.States (311).Productions := WisiToken.To_Vector ((1 => (45, 
0)));
+            Add_Action (Table.States (311), (6, 8, 12, 16, 18, 23, 25, 37), 
(45, 0), 7, case_statement_0'Access, null);
+            Table.States (311).Minimal_Complete_Action := (Reduce, 45, 7);
+            Table.States (312).Productions := WisiToken.To_Vector (((42, 3), 
(56, 1)));
+            Add_Action (Table.States (312), 27, 170);
+            Add_Action (Table.States (312), 34, 316);
+            Add_Error (Table.States (312));
+            Table.States (312).Minimal_Complete_Action := (Shift, 34, 316);
+            Table.States (313).Productions := WisiToken.To_Vector (((42, 1), 
(42, 2), (56, 1)));
+            Add_Action (Table.States (313), 4, 317);
+            Add_Action (Table.States (313), 27, 261);
+            Add_Action (Table.States (313), 34, 318);
+            Add_Error (Table.States (313));
+            Table.States (313).Minimal_Complete_Action := (Shift, 34, 318);
+            Table.States (314).Productions := WisiToken.To_Vector ((1 => (62, 
0)));
+            Add_Action (Table.States (314), 34, Reduce, (58, 0), 0, null, 
null);
+            Add_Action (Table.States (314), 37, 144);
+            Add_Error (Table.States (314));
+            Add_Goto (Table.States (314), 58, 319);
+            Table.States (314).Minimal_Complete_Action := (Reduce, 58, 0);
+            Table.States (315).Productions := WisiToken.To_Vector ((1 => (61, 
0)));
+            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 (284).Minimal_Complete_Action := (Reduce, 59, 7);
-            Table.States (285).Productions := WisiToken.To_Vector ((1 => (40, 
2)));
-            Add_Action (Table.States (285), (5, 7, 11, 15, 17, 22, 24, 35), 
(40, 2), 8, attribute_declaration_2'Access,
+            Table.States (315).Minimal_Complete_Action := (Reduce, 61, 7);
+            Table.States (316).Productions := WisiToken.To_Vector ((1 => (42, 
3)));
+            Add_Action (Table.States (316), (6, 8, 12, 16, 18, 23, 25, 37), 
(42, 3), 8, attribute_declaration_3'Access,
             null);
-            Table.States (285).Minimal_Complete_Action := (Reduce, 40, 8);
-            Table.States (286).Productions := WisiToken.To_Vector ((1 => (40, 
1)));
-            Add_Action (Table.States (286), (5, 7, 11, 15, 17, 22, 24, 35), 
(40, 1), 8, attribute_declaration_1'Access,
+            Table.States (316).Minimal_Complete_Action := (Reduce, 42, 8);
+            Table.States (317).Productions := WisiToken.To_Vector ((1 => (42, 
2)));
+            Add_Action (Table.States (317), 36, 320);
+            Add_Error (Table.States (317));
+            Table.States (317).Minimal_Complete_Action := (Shift, 36, 320);
+            Table.States (318).Productions := WisiToken.To_Vector ((1 => (42, 
1)));
+            Add_Action (Table.States (318), (6, 8, 12, 16, 18, 23, 25, 37), 
(42, 1), 8, attribute_declaration_1'Access,
             null);
-            Table.States (286).Minimal_Complete_Action := (Reduce, 40, 8);
-            Table.States (287).Productions := WisiToken.To_Vector ((1 => (60, 
0)));
-            Add_Action (Table.States (287), 33, 288);
-            Add_Error (Table.States (287));
-            Table.States (287).Minimal_Complete_Action := (Shift, 33, 288);
-            Table.States (288).Productions := WisiToken.To_Vector ((1 => (60, 
0)));
-            Add_Action (Table.States (288), (5, 7, 11, 15, 17, 22, 24, 35), 
(60, 0), 9, package_extension_0'Access,
+            Table.States (318).Minimal_Complete_Action := (Reduce, 42, 8);
+            Table.States (319).Productions := WisiToken.To_Vector ((1 => (62, 
0)));
+            Add_Action (Table.States (319), 34, 321);
+            Add_Error (Table.States (319));
+            Table.States (319).Minimal_Complete_Action := (Shift, 34, 321);
+            Table.States (320).Productions := WisiToken.To_Vector ((1 => (42, 
2)));
+            Add_Action (Table.States (320), 34, 322);
+            Add_Error (Table.States (320));
+            Table.States (320).Minimal_Complete_Action := (Shift, 34, 322);
+            Table.States (321).Productions := WisiToken.To_Vector ((1 => (62, 
0)));
+            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 (288).Minimal_Complete_Action := (Reduce, 60, 9);
+            Table.States (321).Minimal_Complete_Action := (Reduce, 62, 9);
+            Table.States (322).Productions := WisiToken.To_Vector ((1 => (42, 
2)));
+            Add_Action (Table.States (322), (6, 8, 12, 16, 18, 23, 25, 37), 
(42, 2), 10,
+            attribute_declaration_2'Access, null);
+            Table.States (322).Minimal_Complete_Action := (Reduce, 42, 10);
          end Subr_3;
       begin
          Subr_1;
============================================================
--- gpr_re2c.c  d8590bfb252c53c1197f4fbb9f2dd3518c894901
+++ gpr_re2c.c  79220e886b24a3860be8d524ef9bb2fc8b33141e
@@ -124,7 +124,7 @@ int gpr_next_token
    *id = -1;
    if (lexer->cursor > lexer->buffer_last)
    {
-      *id            = 37;
+      *id            = 39;
       *byte_position = lexer->buffer_last - lexer->buffer + 1;
       *byte_length   = 0;
       *char_position = lexer->char_token_start;
@@ -163,11 +163,21 @@ int gpr_next_token
        case ',':       goto yy20;
        case '-':       goto yy22;
        case '.':       goto yy23;
-       case ':':       goto yy25;
-       case ';':       goto yy27;
-       case '=':       goto yy29;
+       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 yy30;
+       case 'a':       goto yy33;
        case 'B':
        case 'D':
        case 'G':
@@ -191,34 +201,34 @@ int gpr_next_token
        case 'v':
        case 'x':
        case 'y':
-       case 'z':       goto yy32;
+       case 'z':       goto yy35;
        case 'C':
-       case 'c':       goto yy34;
+       case 'c':       goto yy37;
        case 'E':
-       case 'e':       goto yy35;
+       case 'e':       goto yy38;
        case 'F':
-       case 'f':       goto yy36;
+       case 'f':       goto yy39;
        case 'I':
-       case 'i':       goto yy37;
+       case 'i':       goto yy40;
        case 'L':
-       case 'l':       goto yy38;
+       case 'l':       goto yy41;
        case 'N':
-       case 'n':       goto yy39;
+       case 'n':       goto yy42;
        case 'O':
-       case 'o':       goto yy40;
+       case 'o':       goto yy43;
        case 'P':
-       case 'p':       goto yy41;
+       case 'p':       goto yy44;
        case 'R':
-       case 'r':       goto yy42;
+       case 'r':       goto yy45;
        case 'S':
-       case 's':       goto yy43;
+       case 's':       goto yy46;
        case 'T':
-       case 't':       goto yy44;
+       case 't':       goto yy47;
        case 'U':
-       case 'u':       goto yy45;
+       case 'u':       goto yy48;
        case 'W':
-       case 'w':       goto yy46;
-       case '|':       goto yy47;
+       case 'w':       goto yy49;
+       case '|':       goto yy50;
        case 0xC2:
        case 0xC3:
        case 0xC4:
@@ -248,8 +258,8 @@ int gpr_next_token
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy49;
-       case 0xE0:      goto yy50;
+       case 0xDF:      goto yy52;
+       case 0xE0:      goto yy53;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -264,12 +274,12 @@ int gpr_next_token
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy51;
-       case 0xF0:      goto yy52;
+       case 0xEF:      goto yy54;
+       case 0xF0:      goto yy55;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy53;
-       case 0xF4:      goto yy54;
+       case 0xF3:      goto yy56;
+       case 0xF4:      goto yy57;
        default:        goto yy2;
        }
 yy2:
@@ -277,21 +287,21 @@ yy3:
        YYSKIP ();
 yy3:
        YYDEBUG(3, YYPEEK ());
-#line 231 "../gpr.re2c"
+#line 235 "../gpr.re2c"
        {status = ERROR_unrecognized_character; continue;}
-#line 283 "../gpr_re2c.c"
+#line 293 "../gpr_re2c.c"
 yy4:
        YYDEBUG(4, YYPEEK ());
        YYSKIP ();
        YYDEBUG(5, YYPEEK ());
-#line 229 "../gpr.re2c"
-       {*id =  37; continue;}
-#line 290 "../gpr_re2c.c"
+#line 233 "../gpr.re2c"
+       {*id =  39; continue;}
+#line 300 "../gpr_re2c.c"
 yy6:
        YYDEBUG(6, YYPEEK ());
        YYSKIP ();
        YYDEBUG(7, YYPEEK ());
-#line 186 "../gpr.re2c"
+#line 188 "../gpr.re2c"
        { lexer->byte_token_start = lexer->cursor;
           lexer->char_token_start = lexer->char_pos;
           if (*lexer->cursor == 0x0A)
@@ -299,14 +309,14 @@ yy6:
           else
              lexer->line_token_start = lexer->line;
           continue; }
-#line 303 "../gpr_re2c.c"
+#line 313 "../gpr_re2c.c"
 yy8:
        YYDEBUG(8, YYPEEK ());
        YYSKIP ();
        YYDEBUG(9, YYPEEK ());
-#line 193 "../gpr.re2c"
+#line 195 "../gpr.re2c"
        {*id =  1; continue;}
-#line 310 "../gpr_re2c.c"
+#line 320 "../gpr_re2c.c"
 yy10:
        YYDEBUG(10, YYPEEK ());
        YYSKIP ();
@@ -468,113 +478,138 @@ yy11:
        case 0xF1:
        case 0xF2:
        case 0xF3:
-       case 0xF4:      goto yy56;
+       case 0xF4:      goto yy59;
        default:        goto yy3;
        }
 yy12:
        YYDEBUG(12, YYPEEK ());
        YYSKIP ();
        YYDEBUG(13, YYPEEK ());
-#line 218 "../gpr.re2c"
-       {*id =  26; continue;}
-#line 481 "../gpr_re2c.c"
+#line 221 "../gpr.re2c"
+       {*id =  27; continue;}
+#line 491 "../gpr_re2c.c"
 yy14:
        YYDEBUG(14, YYPEEK ());
        YYSKIP ();
        YYDEBUG(15, YYPEEK ());
-#line 224 "../gpr.re2c"
-       {*id =  32; continue;}
-#line 488 "../gpr_re2c.c"
+#line 227 "../gpr.re2c"
+       {*id =  33; continue;}
+#line 498 "../gpr_re2c.c"
 yy16:
        YYDEBUG(16, YYPEEK ());
        YYSKIP ();
        YYDEBUG(17, YYPEEK ());
-#line 205 "../gpr.re2c"
-       {*id =  13; continue;}
-#line 495 "../gpr_re2c.c"
+#line 208 "../gpr.re2c"
+       {*id =  14; continue;}
+#line 505 "../gpr_re2c.c"
 yy18:
        YYDEBUG(18, YYPEEK ());
        YYSKIP ();
        YYDEBUG(19, YYPEEK ());
-#line 212 "../gpr.re2c"
-       {*id =  20; continue;}
-#line 502 "../gpr_re2c.c"
+#line 215 "../gpr.re2c"
+       {*id =  21; continue;}
+#line 512 "../gpr_re2c.c"
 yy20:
        YYDEBUG(20, YYPEEK ());
        YYSKIP ();
        YYDEBUG(21, YYPEEK ());
-#line 221 "../gpr.re2c"
-       {*id =  29; continue;}
-#line 509 "../gpr_re2c.c"
+#line 224 "../gpr.re2c"
+       {*id =  30; continue;}
+#line 519 "../gpr_re2c.c"
 yy22:
        YYDEBUG(22, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
-       case '-':       goto yy66;
+       case '-':       goto yy69;
        default:        goto yy3;
        }
 yy23:
        YYDEBUG(23, YYPEEK ());
        YYSKIP ();
        YYDEBUG(24, YYPEEK ());
-#line 222 "../gpr.re2c"
-       {*id =  30; continue;}
-#line 524 "../gpr_re2c.c"
+#line 225 "../gpr.re2c"
+       {*id =  31; continue;}
+#line 534 "../gpr_re2c.c"
 yy25:
        YYDEBUG(25, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
+       YYDEBUG(26, YYPEEK ());
        switch (yych) {
-       case '=':       goto yy69;
-       default:        goto yy26;
+       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;
        }
-yy26:
-       YYDEBUG(26, YYPEEK ());
-#line 219 "../gpr.re2c"
-       {*id =  27; continue;}
-#line 537 "../gpr_re2c.c"
 yy27:
        YYDEBUG(27, YYPEEK ());
+#line 230 "../gpr.re2c"
+       {*id =  36; continue;}
+#line 557 "../gpr_re2c.c"
+yy28:
+       YYDEBUG(28, YYPEEK ());
        YYSKIP ();
-       YYDEBUG(28, YYPEEK ());
-#line 225 "../gpr.re2c"
-       {*id =  33; continue;}
-#line 544 "../gpr_re2c.c"
+       yych = YYPEEK ();
+       switch (yych) {
+       case '=':       goto yy72;
+       default:        goto yy29;
+       }
 yy29:
        YYDEBUG(29, YYPEEK ());
+#line 222 "../gpr.re2c"
+       {*id =  28; continue;}
+#line 570 "../gpr_re2c.c"
+yy30:
+       YYDEBUG(30, YYPEEK ());
        YYSKIP ();
+       YYDEBUG(31, YYPEEK ());
+#line 228 "../gpr.re2c"
+       {*id =  34; continue;}
+#line 577 "../gpr_re2c.c"
+yy32:
+       YYDEBUG(32, YYPEEK ());
+       YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
-       case '>':       goto yy71;
+       case '>':       goto yy74;
        default:        goto yy3;
        }
-yy30:
-       YYDEBUG(30, YYPEEK ());
+yy33:
+       YYDEBUG(33, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'B':
-       case 'b':       goto yy73;
+       case 'b':       goto yy76;
        case 'G':
-       case 'g':       goto yy74;
-       default:        goto yy33;
+       case 'g':       goto yy77;
+       case 'T':
+       case 't':       goto yy78;
+       default:        goto yy36;
        }
-yy31:
-       YYDEBUG(31, YYPEEK ());
-#line 227 "../gpr.re2c"
-       {*id =  35; continue;}
-#line 570 "../gpr_re2c.c"
-yy32:
-       YYDEBUG(32, YYPEEK ());
+yy34:
+       YYDEBUG(34, YYPEEK ());
+#line 231 "../gpr.re2c"
+       {*id =  37; continue;}
+#line 605 "../gpr_re2c.c"
+yy35:
+       YYDEBUG(35, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
-yy33:
-       YYDEBUG(33, YYPEEK ());
+yy36:
+       YYDEBUG(36, YYPEEK ());
        switch (yych) {
        case '0':
        case '1':
@@ -638,7 +673,7 @@ yy33:
        case 'w':
        case 'x':
        case 'y':
-       case 'z':       goto yy32;
+       case 'z':       goto yy35;
        case 0xC2:
        case 0xC3:
        case 0xC4:
@@ -668,8 +703,8 @@ yy33:
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy75;
-       case 0xE0:      goto yy76;
+       case 0xDF:      goto yy80;
+       case 0xE0:      goto yy81;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -684,174 +719,174 @@ yy33:
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy77;
-       case 0xF0:      goto yy78;
+       case 0xEF:      goto yy82;
+       case 0xF0:      goto yy83;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy79;
-       case 0xF4:      goto yy80;
-       default:        goto yy31;
+       case 0xF3:      goto yy84;
+       case 0xF4:      goto yy85;
+       default:        goto yy34;
        }
-yy34:
-       YYDEBUG(34, YYPEEK ());
+yy37:
+       YYDEBUG(37, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'A':
-       case 'a':       goto yy81;
+       case 'a':       goto yy86;
        case 'O':
-       case 'o':       goto yy82;
-       default:        goto yy33;
+       case 'o':       goto yy87;
+       default:        goto yy36;
        }
-yy35:
-       YYDEBUG(35, YYPEEK ());
+yy38:
+       YYDEBUG(38, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'N':
-       case 'n':       goto yy83;
+       case 'n':       goto yy88;
        case 'X':
-       case 'x':       goto yy84;
-       default:        goto yy33;
+       case 'x':       goto yy89;
+       default:        goto yy36;
        }
-yy36:
-       YYDEBUG(36, YYPEEK ());
+yy39:
+       YYDEBUG(39, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'O':
-       case 'o':       goto yy85;
-       default:        goto yy33;
+       case 'o':       goto yy90;
+       default:        goto yy36;
        }
-yy37:
-       YYDEBUG(37, YYPEEK ());
+yy40:
+       YYDEBUG(40, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'S':
-       case 's':       goto yy86;
-       default:        goto yy33;
+       case 's':       goto yy91;
+       default:        goto yy36;
        }
-yy38:
-       YYDEBUG(38, YYPEEK ());
+yy41:
+       YYDEBUG(41, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'I':
-       case 'i':       goto yy88;
-       default:        goto yy33;
+       case 'i':       goto yy93;
+       default:        goto yy36;
        }
-yy39:
-       YYDEBUG(39, YYPEEK ());
+yy42:
+       YYDEBUG(42, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'U':
-       case 'u':       goto yy89;
-       default:        goto yy33;
+       case 'u':       goto yy94;
+       default:        goto yy36;
        }
-yy40:
-       YYDEBUG(40, YYPEEK ());
+yy43:
+       YYDEBUG(43, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'T':
-       case 't':       goto yy90;
-       default:        goto yy33;
+       case 't':       goto yy95;
+       default:        goto yy36;
        }
-yy41:
-       YYDEBUG(41, YYPEEK ());
+yy44:
+       YYDEBUG(44, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'A':
-       case 'a':       goto yy91;
+       case 'a':       goto yy96;
        case 'R':
-       case 'r':       goto yy92;
-       default:        goto yy33;
+       case 'r':       goto yy97;
+       default:        goto yy36;
        }
-yy42:
-       YYDEBUG(42, YYPEEK ());
+yy45:
+       YYDEBUG(45, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'E':
-       case 'e':       goto yy93;
-       default:        goto yy33;
+       case 'e':       goto yy98;
+       default:        goto yy36;
        }
-yy43:
-       YYDEBUG(43, YYPEEK ());
+yy46:
+       YYDEBUG(46, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'T':
-       case 't':       goto yy94;
-       default:        goto yy33;
+       case 't':       goto yy99;
+       default:        goto yy36;
        }
-yy44:
-       YYDEBUG(44, YYPEEK ());
+yy47:
+       YYDEBUG(47, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'Y':
-       case 'y':       goto yy95;
-       default:        goto yy33;
+       case 'y':       goto yy100;
+       default:        goto yy36;
        }
-yy45:
-       YYDEBUG(45, YYPEEK ());
+yy48:
+       YYDEBUG(48, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'S':
-       case 's':       goto yy96;
-       default:        goto yy33;
+       case 's':       goto yy101;
+       default:        goto yy36;
        }
-yy46:
-       YYDEBUG(46, YYPEEK ());
+yy49:
+       YYDEBUG(49, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'H':
-       case 'h':       goto yy97;
+       case 'h':       goto yy102;
        case 'I':
-       case 'i':       goto yy98;
-       default:        goto yy33;
+       case 'i':       goto yy103;
+       default:        goto yy36;
        }
-yy47:
-       YYDEBUG(47, YYPEEK ());
+yy50:
+       YYDEBUG(50, YYPEEK ());
        YYSKIP ();
-       YYDEBUG(48, YYPEEK ());
-#line 226 "../gpr.re2c"
-       {*id =  34; continue;}
-#line 853 "../gpr_re2c.c"
-yy49:
-       YYDEBUG(49, YYPEEK ());
+       YYDEBUG(51, YYPEEK ());
+#line 229 "../gpr.re2c"
+       {*id =  35; continue;}
+#line 888 "../gpr_re2c.c"
+yy52:
+       YYDEBUG(52, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -918,11 +953,11 @@ yy49:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy32;
+       case 0xBF:      goto yy35;
        default:        goto yy3;
        }
-yy50:
-       YYDEBUG(50, YYPEEK ());
+yy53:
+       YYDEBUG(53, YYPEEK ());
        yyaccept = 0;
        YYSKIP ();
        YYBACKUP ();
@@ -959,11 +994,11 @@ yy50:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy75;
+       case 0xBF:      goto yy80;
        default:        goto yy3;
        }
-yy51:
-       YYDEBUG(51, YYPEEK ());
+yy54:
+       YYDEBUG(54, YYPEEK ());
        yyaccept = 0;
        YYSKIP ();
        YYBACKUP ();
@@ -1032,11 +1067,11 @@ yy51:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy75;
+       case 0xBF:      goto yy80;
        default:        goto yy3;
        }
-yy52:
-       YYDEBUG(52, YYPEEK ());
+yy55:
+       YYDEBUG(55, YYPEEK ());
        yyaccept = 0;
        YYSKIP ();
        YYBACKUP ();
@@ -1089,11 +1124,11 @@ yy52:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy77;
+       case 0xBF:      goto yy82;
        default:        goto yy3;
        }
-yy53:
-       YYDEBUG(53, YYPEEK ());
+yy56:
+       YYDEBUG(56, YYPEEK ());
        yyaccept = 0;
        YYSKIP ();
        YYBACKUP ();
@@ -1162,11 +1197,11 @@ yy53:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy77;
+       case 0xBF:      goto yy82;
        default:        goto yy3;
        }
-yy54:
-       YYDEBUG(54, YYPEEK ());
+yy57:
+       YYDEBUG(57, YYPEEK ());
        yyaccept = 0;
        YYSKIP ();
        YYBACKUP ();
@@ -1187,15 +1222,15 @@ yy54:
        case 0x8C:
        case 0x8D:
        case 0x8E:
-       case 0x8F:      goto yy77;
+       case 0x8F:      goto yy82;
        default:        goto yy3;
        }
-yy55:
-       YYDEBUG(55, YYPEEK ());
+yy58:
+       YYDEBUG(58, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
-yy56:
-       YYDEBUG(56, YYPEEK ());
+yy59:
+       YYDEBUG(59, YYPEEK ());
        switch (yych) {
        case ' ':
        case '!':
@@ -1291,8 +1326,8 @@ yy56:
        case '|':
        case '}':
        case '~':
-       case 0x7F:      goto yy55;
-       case '"':       goto yy58;
+       case 0x7F:      goto yy58;
+       case '"':       goto yy61;
        case 0xC2:
        case 0xC3:
        case 0xC4:
@@ -1322,8 +1357,8 @@ yy56:
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy60;
-       case 0xE0:      goto yy61;
+       case 0xDF:      goto yy63;
+       case 0xE0:      goto yy64;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -1338,61 +1373,62 @@ yy56:
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy62;
-       case 0xF0:      goto yy63;
+       case 0xEF:      goto yy65;
+       case 0xF0:      goto yy66;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy64;
-       case 0xF4:      goto yy65;
-       default:        goto yy57;
+       case 0xF3:      goto yy67;
+       case 0xF4:      goto yy68;
+       default:        goto yy60;
        }
-yy57:
-       YYDEBUG(57, YYPEEK ());
+yy60:
+       YYDEBUG(60, YYPEEK ());
        YYRESTORE ();
        switch (yyaccept) {
        case 0:         goto yy3;
-       case 1:         goto yy31;
-       case 2:         goto yy59;
-       case 3:         goto yy68;
-       case 4:         goto yy87;
-       case 5:         goto yy110;
-       case 6:         goto yy113;
-       case 7:         goto yy123;
-       case 8:         goto yy129;
+       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 yy141;
-       case 11:        goto yy143;
-       case 12:        goto yy145;
-       case 13:        goto yy164;
-       case 14:        goto yy173;
-       case 15:        goto yy176;
-       case 16:        goto yy178;
-       case 17:        goto yy180;
-       case 18:        goto yy182;
-       case 19:        goto yy185;
-       case 20:        goto yy189;
-       case 21:        goto yy191;
-       case 22:        goto yy193;
-       case 23:        goto yy203;
-       default:        goto yy208;
+       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;
        }
-yy58:
-       YYDEBUG(58, YYPEEK ());
+yy61:
+       YYDEBUG(61, YYPEEK ());
        yyaccept = 2;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
-       case '"':       goto yy55;
-       default:        goto yy59;
+       case '"':       goto yy58;
+       default:        goto yy62;
        }
-yy59:
-       YYDEBUG(59, YYPEEK ());
-#line 228 "../gpr.re2c"
-       {*id =  36; continue;}
-#line 1394 "../gpr_re2c.c"
-yy60:
-       YYDEBUG(60, YYPEEK ());
+yy62:
+       YYDEBUG(62, YYPEEK ());
+#line 232 "../gpr.re2c"
+       {*id =  38; continue;}
+#line 1430 "../gpr_re2c.c"
+yy63:
+       YYDEBUG(63, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -1459,11 +1495,11 @@ yy60:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy55;
-       default:        goto yy57;
+       case 0xBF:      goto yy58;
+       default:        goto yy60;
        }
-yy61:
-       YYDEBUG(61, YYPEEK ());
+yy64:
+       YYDEBUG(64, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -1498,11 +1534,11 @@ yy61:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy60;
-       default:        goto yy57;
+       case 0xBF:      goto yy63;
+       default:        goto yy60;
        }
-yy62:
-       YYDEBUG(62, YYPEEK ());
+yy65:
+       YYDEBUG(65, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -1569,11 +1605,11 @@ yy62:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy60;
-       default:        goto yy57;
+       case 0xBF:      goto yy63;
+       default:        goto yy60;
        }
-yy63:
-       YYDEBUG(63, YYPEEK ());
+yy66:
+       YYDEBUG(66, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -1624,11 +1660,11 @@ yy63:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy62;
-       default:        goto yy57;
+       case 0xBF:      goto yy65;
+       default:        goto yy60;
        }
-yy64:
-       YYDEBUG(64, YYPEEK ());
+yy67:
+       YYDEBUG(67, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -1695,11 +1731,11 @@ yy64:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy62;
-       default:        goto yy57;
+       case 0xBF:      goto yy65;
+       default:        goto yy60;
        }
-yy65:
-       YYDEBUG(65, YYPEEK ());
+yy68:
+       YYDEBUG(68, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -1718,16 +1754,16 @@ yy65:
        case 0x8C:
        case 0x8D:
        case 0x8E:
-       case 0x8F:      goto yy62;
-       default:        goto yy57;
+       case 0x8F:      goto yy65;
+       default:        goto yy60;
        }
-yy66:
-       YYDEBUG(66, YYPEEK ());
+yy69:
+       YYDEBUG(69, YYPEEK ());
        yyaccept = 3;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
-       YYDEBUG(67, YYPEEK ());
+       YYDEBUG(70, YYPEEK ());
        switch (yych) {
        case 0x00:
        case 0x01:
@@ -1855,7 +1891,7 @@ yy66:
        case '|':
        case '}':
        case '~':
-       case 0x7F:      goto yy66;
+       case 0x7F:      goto yy69;
        case 0xC2:
        case 0xC3:
        case 0xC4:
@@ -1885,8 +1921,8 @@ yy66:
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy99;
-       case 0xE0:      goto yy100;
+       case 0xDF:      goto yy104;
+       case 0xE0:      goto yy105;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -1901,60 +1937,188 @@ yy66:
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy101;
-       case 0xF0:      goto yy102;
+       case 0xEF:      goto yy106;
+       case 0xF0:      goto yy107;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy103;
-       case 0xF4:      goto yy104;
-       default:        goto yy68;
+       case 0xF3:      goto yy108;
+       case 0xF4:      goto yy109;
+       default:        goto yy71;
        }
-yy68:
-       YYDEBUG(68, YYPEEK ());
-#line 194 "../gpr.re2c"
-       {*id =  2; continue;}
-#line 1917 "../gpr_re2c.c"
-yy69:
-       YYDEBUG(69, YYPEEK ());
-       YYSKIP ();
-       YYDEBUG(70, YYPEEK ());
-#line 220 "../gpr.re2c"
-       {*id =  28; continue;}
-#line 1924 "../gpr_re2c.c"
 yy71:
        YYDEBUG(71, YYPEEK ());
-       YYSKIP ();
+#line 196 "../gpr.re2c"
+       {*id =  2; continue;}
+#line 1953 "../gpr_re2c.c"
+yy72:
        YYDEBUG(72, YYPEEK ());
+       YYSKIP ();
+       YYDEBUG(73, YYPEEK ());
 #line 223 "../gpr.re2c"
-       {*id =  31; continue;}
-#line 1931 "../gpr_re2c.c"
-yy73:
-       YYDEBUG(73, YYPEEK ());
+       {*id =  29; continue;}
+#line 1960 "../gpr_re2c.c"
+yy74:
+       YYDEBUG(74, YYPEEK ());
+       YYSKIP ();
+       YYDEBUG(75, YYPEEK ());
+#line 226 "../gpr.re2c"
+       {*id =  32; continue;}
+#line 1967 "../gpr_re2c.c"
+yy76:
+       YYDEBUG(76, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'S':
-       case 's':       goto yy105;
-       default:        goto yy33;
+       case 's':       goto yy110;
+       default:        goto yy36;
        }
-yy74:
-       YYDEBUG(74, YYPEEK ());
+yy77:
+       YYDEBUG(77, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'G':
-       case 'g':       goto yy106;
-       default:        goto yy33;
+       case 'g':       goto yy111;
+       default:        goto yy36;
        }
-yy75:
-       YYDEBUG(75, YYPEEK ());
+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 198 "../gpr.re2c"
+       {*id =  4; continue;}
+#line 2117 "../gpr_re2c.c"
+yy80:
+       YYDEBUG(80, YYPEEK ());
+       YYSKIP ();
+       yych = YYPEEK ();
+       switch (yych) {
        case 0x80:
        case 0x81:
        case 0x82:
@@ -2018,11 +2182,11 @@ yy75:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy32;
-       default:        goto yy57;
+       case 0xBF:      goto yy35;
+       default:        goto yy60;
        }
-yy76:
-       YYDEBUG(76, YYPEEK ());
+yy81:
+       YYDEBUG(81, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -2057,11 +2221,11 @@ yy76:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy75;
-       default:        goto yy57;
+       case 0xBF:      goto yy80;
+       default:        goto yy60;
        }
-yy77:
-       YYDEBUG(77, YYPEEK ());
+yy82:
+       YYDEBUG(82, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -2128,11 +2292,11 @@ yy77:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy75;
-       default:        goto yy57;
+       case 0xBF:      goto yy80;
+       default:        goto yy60;
        }
-yy78:
-       YYDEBUG(78, YYPEEK ());
+yy83:
+       YYDEBUG(83, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -2183,11 +2347,11 @@ yy78:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy77;
-       default:        goto yy57;
+       case 0xBF:      goto yy82;
+       default:        goto yy60;
        }
-yy79:
-       YYDEBUG(79, YYPEEK ());
+yy84:
+       YYDEBUG(84, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -2254,11 +2418,11 @@ yy79:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy77;
-       default:        goto yy57;
+       case 0xBF:      goto yy82;
+       default:        goto yy60;
        }
-yy80:
-       YYDEBUG(80, YYPEEK ());
+yy85:
+       YYDEBUG(85, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -2277,67 +2441,67 @@ yy80:
        case 0x8C:
        case 0x8D:
        case 0x8E:
-       case 0x8F:      goto yy77;
-       default:        goto yy57;
+       case 0x8F:      goto yy82;
+       default:        goto yy60;
        }
-yy81:
-       YYDEBUG(81, YYPEEK ());
+yy86:
+       YYDEBUG(86, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'S':
-       case 's':       goto yy107;
-       default:        goto yy33;
+       case 's':       goto yy112;
+       default:        goto yy36;
        }
-yy82:
-       YYDEBUG(82, YYPEEK ());
+yy87:
+       YYDEBUG(87, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'N':
-       case 'n':       goto yy108;
-       default:        goto yy33;
+       case 'n':       goto yy113;
+       default:        goto yy36;
        }
-yy83:
-       YYDEBUG(83, YYPEEK ());
+yy88:
+       YYDEBUG(88, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'D':
-       case 'd':       goto yy109;
-       default:        goto yy33;
+       case 'd':       goto yy114;
+       default:        goto yy36;
        }
-yy84:
-       YYDEBUG(84, YYPEEK ());
+yy89:
+       YYDEBUG(89, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'T':
-       case 't':       goto yy111;
-       default:        goto yy33;
+       case 't':       goto yy116;
+       default:        goto yy36;
        }
-yy85:
-       YYDEBUG(85, YYPEEK ());
+yy90:
+       YYDEBUG(90, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'R':
-       case 'r':       goto yy112;
-       default:        goto yy33;
+       case 'r':       goto yy117;
+       default:        goto yy36;
        }
-yy86:
-       YYDEBUG(86, YYPEEK ());
-       yyaccept = 4;
+yy91:
+       YYDEBUG(91, YYPEEK ());
+       yyaccept = 5;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
@@ -2455,137 +2619,137 @@ yy86:
        case 0xF1:
        case 0xF2:
        case 0xF3:
-       case 0xF4:      goto yy33;
-       default:        goto yy87;
+       case 0xF4:      goto yy36;
+       default:        goto yy92;
        }
-yy87:
-       YYDEBUG(87, YYPEEK ());
-#line 204 "../gpr.re2c"
-       {*id =  12; continue;}
-#line 2466 "../gpr_re2c.c"
-yy88:
-       YYDEBUG(88, YYPEEK ());
+yy92:
+       YYDEBUG(92, YYPEEK ());
+#line 207 "../gpr.re2c"
+       {*id =  13; continue;}
+#line 2630 "../gpr_re2c.c"
+yy93:
+       YYDEBUG(93, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'B':
-       case 'b':       goto yy114;
-       default:        goto yy33;
+       case 'b':       goto yy119;
+       default:        goto yy36;
        }
-yy89:
-       YYDEBUG(89, YYPEEK ());
+yy94:
+       YYDEBUG(94, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'L':
-       case 'l':       goto yy115;
-       default:        goto yy33;
+       case 'l':       goto yy120;
+       default:        goto yy36;
        }
-yy90:
-       YYDEBUG(90, YYPEEK ());
+yy95:
+       YYDEBUG(95, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'H':
-       case 'h':       goto yy116;
-       default:        goto yy33;
+       case 'h':       goto yy121;
+       default:        goto yy36;
        }
-yy91:
-       YYDEBUG(91, YYPEEK ());
+yy96:
+       YYDEBUG(96, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'C':
-       case 'c':       goto yy117;
-       default:        goto yy33;
+       case 'c':       goto yy122;
+       default:        goto yy36;
        }
-yy92:
-       YYDEBUG(92, YYPEEK ());
+yy97:
+       YYDEBUG(97, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'O':
-       case 'o':       goto yy118;
-       default:        goto yy33;
+       case 'o':       goto yy123;
+       default:        goto yy36;
        }
-yy93:
-       YYDEBUG(93, YYPEEK ());
+yy98:
+       YYDEBUG(98, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'N':
-       case 'n':       goto yy119;
-       default:        goto yy33;
+       case 'n':       goto yy124;
+       default:        goto yy36;
        }
-yy94:
-       YYDEBUG(94, YYPEEK ());
+yy99:
+       YYDEBUG(99, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'A':
-       case 'a':       goto yy120;
-       default:        goto yy33;
+       case 'a':       goto yy125;
+       default:        goto yy36;
        }
-yy95:
-       YYDEBUG(95, YYPEEK ());
+yy100:
+       YYDEBUG(100, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'P':
-       case 'p':       goto yy121;
-       default:        goto yy33;
+       case 'p':       goto yy126;
+       default:        goto yy36;
        }
-yy96:
-       YYDEBUG(96, YYPEEK ());
+yy101:
+       YYDEBUG(101, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'E':
-       case 'e':       goto yy122;
-       default:        goto yy33;
+       case 'e':       goto yy127;
+       default:        goto yy36;
        }
-yy97:
-       YYDEBUG(97, YYPEEK ());
+yy102:
+       YYDEBUG(102, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'E':
-       case 'e':       goto yy124;
-       default:        goto yy33;
+       case 'e':       goto yy129;
+       default:        goto yy36;
        }
-yy98:
-       YYDEBUG(98, YYPEEK ());
+yy103:
+       YYDEBUG(103, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'T':
-       case 't':       goto yy125;
-       default:        goto yy33;
+       case 't':       goto yy130;
+       default:        goto yy36;
        }
-yy99:
-       YYDEBUG(99, YYPEEK ());
+yy104:
+       YYDEBUG(104, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -2652,11 +2816,11 @@ yy99:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy66;
-       default:        goto yy57;
+       case 0xBF:      goto yy69;
+       default:        goto yy60;
        }
-yy100:
-       YYDEBUG(100, YYPEEK ());
+yy105:
+       YYDEBUG(105, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -2691,11 +2855,11 @@ yy100:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy99;
-       default:        goto yy57;
+       case 0xBF:      goto yy104;
+       default:        goto yy60;
        }
-yy101:
-       YYDEBUG(101, YYPEEK ());
+yy106:
+       YYDEBUG(106, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -2762,11 +2926,11 @@ yy101:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy99;
-       default:        goto yy57;
+       case 0xBF:      goto yy104;
+       default:        goto yy60;
        }
-yy102:
-       YYDEBUG(102, YYPEEK ());
+yy107:
+       YYDEBUG(107, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -2817,11 +2981,11 @@ yy102:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy101;
-       default:        goto yy57;
+       case 0xBF:      goto yy106;
+       default:        goto yy60;
        }
-yy103:
-       YYDEBUG(103, YYPEEK ());
+yy108:
+       YYDEBUG(108, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -2888,11 +3052,11 @@ yy103:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy101;
-       default:        goto yy57;
+       case 0xBF:      goto yy106;
+       default:        goto yy60;
        }
-yy104:
-       YYDEBUG(104, YYPEEK ());
+yy109:
+       YYDEBUG(109, YYPEEK ());
        YYSKIP ();
        yych = YYPEEK ();
        switch (yych) {
@@ -2911,56 +3075,56 @@ yy104:
        case 0x8C:
        case 0x8D:
        case 0x8E:
-       case 0x8F:      goto yy101;
-       default:        goto yy57;
+       case 0x8F:      goto yy106;
+       default:        goto yy60;
        }
-yy105:
-       YYDEBUG(105, YYPEEK ());
+yy110:
+       YYDEBUG(110, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'T':
-       case 't':       goto yy126;
-       default:        goto yy33;
+       case 't':       goto yy131;
+       default:        goto yy36;
        }
-yy106:
-       YYDEBUG(106, YYPEEK ());
+yy111:
+       YYDEBUG(111, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'R':
-       case 'r':       goto yy127;
-       default:        goto yy33;
+       case 'r':       goto yy132;
+       default:        goto yy36;
        }
-yy107:
-       YYDEBUG(107, YYPEEK ());
+yy112:
+       YYDEBUG(112, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'E':
-       case 'e':       goto yy128;
-       default:        goto yy33;
+       case 'e':       goto yy133;
+       default:        goto yy36;
        }
-yy108:
-       YYDEBUG(108, YYPEEK ());
+yy113:
+       YYDEBUG(113, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'F':
-       case 'f':       goto yy130;
-       default:        goto yy33;
+       case 'f':       goto yy135;
+       default:        goto yy36;
        }
-yy109:
-       YYDEBUG(109, YYPEEK ());
-       yyaccept = 5;
+yy114:
+       YYDEBUG(114, YYPEEK ());
+       yyaccept = 6;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
@@ -3078,28 +3242,28 @@ yy109:
        case 0xF1:
        case 0xF2:
        case 0xF3:
-       case 0xF4:      goto yy33;
-       default:        goto yy110;
+       case 0xF4:      goto yy36;
+       default:        goto yy115;
        }
-yy110:
-       YYDEBUG(110, YYPEEK ());
-#line 199 "../gpr.re2c"
-       {*id =  7; continue;}
-#line 3089 "../gpr_re2c.c"
-yy111:
-       YYDEBUG(111, YYPEEK ());
+yy115:
+       YYDEBUG(115, YYPEEK ());
+#line 202 "../gpr.re2c"
+       {*id =  8; continue;}
+#line 3253 "../gpr_re2c.c"
+yy116:
+       YYDEBUG(116, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'E':
-       case 'e':       goto yy131;
-       default:        goto yy33;
+       case 'e':       goto yy136;
+       default:        goto yy36;
        }
-yy112:
-       YYDEBUG(112, YYPEEK ());
-       yyaccept = 6;
+yy117:
+       YYDEBUG(117, YYPEEK ());
+       yyaccept = 7;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
@@ -3217,105 +3381,105 @@ yy112:
        case 0xF1:
        case 0xF2:
        case 0xF3:
-       case 0xF4:      goto yy33;
-       default:        goto yy113;
+       case 0xF4:      goto yy36;
+       default:        goto yy118;
        }
-yy113:
-       YYDEBUG(113, YYPEEK ());
-#line 203 "../gpr.re2c"
-       {*id =  11; continue;}
-#line 3228 "../gpr_re2c.c"
-yy114:
-       YYDEBUG(114, YYPEEK ());
+yy118:
+       YYDEBUG(118, YYPEEK ());
+#line 206 "../gpr.re2c"
+       {*id =  12; continue;}
+#line 3392 "../gpr_re2c.c"
+yy119:
+       YYDEBUG(119, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'R':
-       case 'r':       goto yy132;
-       default:        goto yy33;
+       case 'r':       goto yy137;
+       default:        goto yy36;
        }
-yy115:
-       YYDEBUG(115, YYPEEK ());
+yy120:
+       YYDEBUG(120, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'L':
-       case 'l':       goto yy133;
-       default:        goto yy33;
+       case 'l':       goto yy138;
+       default:        goto yy36;
        }
-yy116:
-       YYDEBUG(116, YYPEEK ());
+yy121:
+       YYDEBUG(121, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'E':
-       case 'e':       goto yy135;
-       default:        goto yy33;
+       case 'e':       goto yy140;
+       default:        goto yy36;
        }
-yy117:
-       YYDEBUG(117, YYPEEK ());
+yy122:
+       YYDEBUG(122, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'K':
-       case 'k':       goto yy136;
-       default:        goto yy33;
+       case 'k':       goto yy141;
+       default:        goto yy36;
        }
-yy118:
-       YYDEBUG(118, YYPEEK ());
+yy123:
+       YYDEBUG(123, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'J':
-       case 'j':       goto yy137;
-       default:        goto yy33;
+       case 'j':       goto yy142;
+       default:        goto yy36;
        }
-yy119:
-       YYDEBUG(119, YYPEEK ());
+yy124:
+       YYDEBUG(124, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'A':
-       case 'a':       goto yy138;
-       default:        goto yy33;
+       case 'a':       goto yy143;
+       default:        goto yy36;
        }
-yy120:
-       YYDEBUG(120, YYPEEK ());
+yy125:
+       YYDEBUG(125, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'N':
-       case 'n':       goto yy139;
-       default:        goto yy33;
+       case 'n':       goto yy144;
+       default:        goto yy36;
        }
-yy121:
-       YYDEBUG(121, YYPEEK ());
+yy126:
+       YYDEBUG(126, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'E':
-       case 'e':       goto yy140;
-       default:        goto yy33;
+       case 'e':       goto yy145;
+       default:        goto yy36;
        }
-yy122:
-       YYDEBUG(122, YYPEEK ());
-       yyaccept = 7;
+yy127:
+       YYDEBUG(127, YYPEEK ());
+       yyaccept = 8;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
@@ -3433,61 +3597,61 @@ yy122:
        case 0xF1:
        case 0xF2:
        case 0xF3:
-       case 0xF4:      goto yy33;
-       default:        goto yy123;
+       case 0xF4:      goto yy36;
+       default:        goto yy128;
        }
-yy123:
-       YYDEBUG(123, YYPEEK ());
-#line 215 "../gpr.re2c"
-       {*id =  23; continue;}
-#line 3444 "../gpr_re2c.c"
-yy124:
-       YYDEBUG(124, YYPEEK ());
+yy128:
+       YYDEBUG(128, YYPEEK ());
+#line 218 "../gpr.re2c"
+       {*id =  24; continue;}
+#line 3608 "../gpr_re2c.c"
+yy129:
+       YYDEBUG(129, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'N':
-       case 'n':       goto yy142;
-       default:        goto yy33;
+       case 'n':       goto yy147;
+       default:        goto yy36;
        }
-yy125:
-       YYDEBUG(125, YYPEEK ());
+yy130:
+       YYDEBUG(130, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'H':
-       case 'h':       goto yy144;
-       default:        goto yy33;
+       case 'h':       goto yy149;
+       default:        goto yy36;
        }
-yy126:
-       YYDEBUG(126, YYPEEK ());
+yy131:
+       YYDEBUG(131, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'R':
-       case 'r':       goto yy146;
-       default:        goto yy33;
+       case 'r':       goto yy151;
+       default:        goto yy36;
        }
-yy127:
-       YYDEBUG(127, YYPEEK ());
+yy132:
+       YYDEBUG(132, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'E':
-       case 'e':       goto yy147;
-       default:        goto yy33;
+       case 'e':       goto yy152;
+       default:        goto yy36;
        }
-yy128:
-       YYDEBUG(128, YYPEEK ());
-       yyaccept = 8;
+yy133:
+       YYDEBUG(133, YYPEEK ());
+       yyaccept = 9;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
@@ -3605,52 +3769,52 @@ yy128:
        case 0xF1:
        case 0xF2:
        case 0xF3:
-       case 0xF4:      goto yy33;
-       default:        goto yy129;
+       case 0xF4:      goto yy36;
+       default:        goto yy134;
        }
-yy129:
-       YYDEBUG(129, YYPEEK ());
-#line 197 "../gpr.re2c"
-       {*id =  5; continue;}
-#line 3616 "../gpr_re2c.c"
-yy130:
-       YYDEBUG(130, YYPEEK ());
+yy134:
+       YYDEBUG(134, YYPEEK ());
+#line 200 "../gpr.re2c"
+       {*id =  6; continue;}
+#line 3780 "../gpr_re2c.c"
+yy135:
+       YYDEBUG(135, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'I':
-       case 'i':       goto yy148;
-       default:        goto yy33;
+       case 'i':       goto yy153;
+       default:        goto yy36;
        }
-yy131:
-       YYDEBUG(131, YYPEEK ());
+yy136:
+       YYDEBUG(136, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'N':
-       case 'n':       goto yy149;
+       case 'n':       goto yy154;
        case 'R':
-       case 'r':       goto yy150;
-       default:        goto yy33;
+       case 'r':       goto yy155;
+       default:        goto yy36;
        }
-yy132:
-       YYDEBUG(132, YYPEEK ());
+yy137:
+       YYDEBUG(137, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'A':
-       case 'a':       goto yy151;
-       default:        goto yy33;
+       case 'a':       goto yy156;
+       default:        goto yy36;
        }
-yy133:
-       YYDEBUG(133, YYPEEK ());
-       yyaccept = 9;
+yy138:
+       YYDEBUG(138, YYPEEK ());
+       yyaccept = 10;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
@@ -3768,72 +3932,72 @@ yy133:
        case 0xF1:
        case 0xF2:
        case 0xF3:
-       case 0xF4:      goto yy33;
-       default:        goto yy134;
+       case 0xF4:      goto yy36;
+       default:        goto yy139;
        }
-yy134:
-       YYDEBUG(134, YYPEEK ());
-#line 207 "../gpr.re2c"
-       {*id =  15; continue;}
-#line 3779 "../gpr_re2c.c"
-yy135:
-       YYDEBUG(135, YYPEEK ());
+yy139:
+       YYDEBUG(139, YYPEEK ());
+#line 210 "../gpr.re2c"
+       {*id =  16; continue;}
+#line 3943 "../gpr_re2c.c"
+yy140:
+       YYDEBUG(140, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'R':
-       case 'r':       goto yy152;
-       default:        goto yy33;
+       case 'r':       goto yy157;
+       default:        goto yy36;
        }
-yy136:
-       YYDEBUG(136, YYPEEK ());
+yy141:
+       YYDEBUG(141, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'A':
-       case 'a':       goto yy153;
-       default:        goto yy33;
+       case 'a':       goto yy158;
+       default:        goto yy36;
        }
-yy137:
-       YYDEBUG(137, YYPEEK ());
+yy142:
+       YYDEBUG(142, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'E':
-       case 'e':       goto yy154;
-       default:        goto yy33;
+       case 'e':       goto yy159;
+       default:        goto yy36;
        }
-yy138:
-       YYDEBUG(138, YYPEEK ());
+yy143:
+       YYDEBUG(143, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'M':
-       case 'm':       goto yy155;
-       default:        goto yy33;
+       case 'm':       goto yy160;
+       default:        goto yy36;
        }
-yy139:
-       YYDEBUG(139, YYPEEK ());
+yy144:
+       YYDEBUG(144, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'D':
-       case 'd':       goto yy156;
-       default:        goto yy33;
+       case 'd':       goto yy161;
+       default:        goto yy36;
        }
-yy140:
-       YYDEBUG(140, YYPEEK ());
-       yyaccept = 10;
+yy145:
+       YYDEBUG(145, YYPEEK ());
+       yyaccept = 11;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
@@ -3951,17 +4115,17 @@ yy140:
        case 0xF1:
        case 0xF2:
        case 0xF3:
-       case 0xF4:      goto yy33;
-       default:        goto yy141;
+       case 0xF4:      goto yy36;
+       default:        goto yy146;
        }
-yy141:
-       YYDEBUG(141, YYPEEK ());
-#line 214 "../gpr.re2c"
-       {*id =  22; continue;}
-#line 3962 "../gpr_re2c.c"
-yy142:
-       YYDEBUG(142, YYPEEK ());
-       yyaccept = 11;
+yy146:
+       YYDEBUG(146, YYPEEK ());
+#line 217 "../gpr.re2c"
+       {*id =  23; continue;}
+#line 4126 "../gpr_re2c.c"
+yy147:
+       YYDEBUG(147, YYPEEK ());
+       yyaccept = 12;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
@@ -4079,17 +4243,17 @@ yy142:
        case 0xF1:
        case 0xF2:
        case 0xF3:
-       case 0xF4:      goto yy33;
-       default:        goto yy143;
+       case 0xF4:      goto yy36;
+       default:        goto yy148;
        }
-yy143:
-       YYDEBUG(143, YYPEEK ());
-#line 216 "../gpr.re2c"
-       {*id =  24; continue;}
-#line 4090 "../gpr_re2c.c"
-yy144:
-       YYDEBUG(144, YYPEEK ());
-       yyaccept = 12;
+yy148:
+       YYDEBUG(148, YYPEEK ());
+#line 219 "../gpr.re2c"
+       {*id =  25; continue;}
+#line 4254 "../gpr_re2c.c"
+yy149:
+       YYDEBUG(149, YYPEEK ());
+       yyaccept = 13;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
@@ -4207,204 +4371,204 @@ yy144:
        case 0xF1:
        case 0xF2:
        case 0xF3:
-       case 0xF4:      goto yy33;
-       default:        goto yy145;
+       case 0xF4:      goto yy36;
+       default:        goto yy150;
        }
-yy145:
-       YYDEBUG(145, YYPEEK ());
-#line 217 "../gpr.re2c"
-       {*id =  25; continue;}
-#line 4218 "../gpr_re2c.c"
-yy146:
-       YYDEBUG(146, YYPEEK ());
+yy150:
+       YYDEBUG(150, YYPEEK ());
+#line 220 "../gpr.re2c"
+       {*id =  26; continue;}
+#line 4382 "../gpr_re2c.c"
+yy151:
+       YYDEBUG(151, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'A':
-       case 'a':       goto yy157;
-       default:        goto yy33;
+       case 'a':       goto yy162;
+       default:        goto yy36;
        }
-yy147:
-       YYDEBUG(147, YYPEEK ());
+yy152:
+       YYDEBUG(152, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'G':
-       case 'g':       goto yy158;
-       default:        goto yy33;
+       case 'g':       goto yy163;
+       default:        goto yy36;
        }
-yy148:
-       YYDEBUG(148, YYPEEK ());
+yy153:
+       YYDEBUG(153, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'G':
-       case 'g':       goto yy159;
-       default:        goto yy33;
+       case 'g':       goto yy164;
+       default:        goto yy36;
        }
-yy149:
-       YYDEBUG(149, YYPEEK ());
+yy154:
+       YYDEBUG(154, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'D':
-       case 'd':       goto yy160;
-       default:        goto yy33;
+       case 'd':       goto yy165;
+       default:        goto yy36;
        }
-yy150:
-       YYDEBUG(150, YYPEEK ());
+yy155:
+       YYDEBUG(155, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'N':
-       case 'n':       goto yy161;
-       default:        goto yy33;
+       case 'n':       goto yy166;
+       default:        goto yy36;
        }
-yy151:
-       YYDEBUG(151, YYPEEK ());
+yy156:
+       YYDEBUG(156, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'R':
-       case 'r':       goto yy162;
-       default:        goto yy33;
+       case 'r':       goto yy167;
+       default:        goto yy36;
        }
-yy152:
-       YYDEBUG(152, YYPEEK ());
+yy157:
+       YYDEBUG(157, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'S':
-       case 's':       goto yy163;
-       default:        goto yy33;
+       case 's':       goto yy168;
+       default:        goto yy36;
        }
-yy153:
-       YYDEBUG(153, YYPEEK ());
+yy158:
+       YYDEBUG(158, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'G':
-       case 'g':       goto yy165;
-       default:        goto yy33;
+       case 'g':       goto yy170;
+       default:        goto yy36;
        }
-yy154:
-       YYDEBUG(154, YYPEEK ());
+yy159:
+       YYDEBUG(159, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'C':
-       case 'c':       goto yy166;
-       default:        goto yy33;
+       case 'c':       goto yy171;
+       default:        goto yy36;
        }
-yy155:
-       YYDEBUG(155, YYPEEK ());
+yy160:
+       YYDEBUG(160, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'E':
-       case 'e':       goto yy167;
-       default:        goto yy33;
+       case 'e':       goto yy172;
+       default:        goto yy36;
        }
-yy156:
-       YYDEBUG(156, YYPEEK ());
+yy161:
+       YYDEBUG(161, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'A':
-       case 'a':       goto yy168;
-       default:        goto yy33;
+       case 'a':       goto yy173;
+       default:        goto yy36;
        }
-yy157:
-       YYDEBUG(157, YYPEEK ());
+yy162:
+       YYDEBUG(162, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'C':
-       case 'c':       goto yy169;
-       default:        goto yy33;
+       case 'c':       goto yy174;
+       default:        goto yy36;
        }
-yy158:
-       YYDEBUG(158, YYPEEK ());
+yy163:
+       YYDEBUG(163, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'A':
-       case 'a':       goto yy170;
-       default:        goto yy33;
+       case 'a':       goto yy175;
+       default:        goto yy36;
        }
-yy159:
-       YYDEBUG(159, YYPEEK ());
+yy164:
+       YYDEBUG(164, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'U':
-       case 'u':       goto yy171;
-       default:        goto yy33;
+       case 'u':       goto yy176;
+       default:        goto yy36;
        }
-yy160:
-       YYDEBUG(160, YYPEEK ());
+yy165:
+       YYDEBUG(165, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'S':
-       case 's':       goto yy172;
-       default:        goto yy33;
+       case 's':       goto yy177;
+       default:        goto yy36;
        }
-yy161:
-       YYDEBUG(161, YYPEEK ());
+yy166:
+       YYDEBUG(166, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'A':
-       case 'a':       goto yy174;
-       default:        goto yy33;
+       case 'a':       goto yy179;
+       default:        goto yy36;
        }
-yy162:
-       YYDEBUG(162, YYPEEK ());
+yy167:
+       YYDEBUG(167, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'Y':
-       case 'y':       goto yy175;
-       default:        goto yy33;
+       case 'y':       goto yy180;
+       default:        goto yy36;
        }
-yy163:
-       YYDEBUG(163, YYPEEK ());
-       yyaccept = 13;
+yy168:
+       YYDEBUG(168, YYPEEK ());
+       yyaccept = 14;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
@@ -4522,94 +4686,94 @@ yy163:
        case 0xF1:
        case 0xF2:
        case 0xF3:
-       case 0xF4:      goto yy33;
-       default:        goto yy164;
+       case 0xF4:      goto yy36;
+       default:        goto yy169;
        }
-yy164:
-       YYDEBUG(164, YYPEEK ());
-#line 208 "../gpr.re2c"
-       {*id =  16; continue;}
-#line 4533 "../gpr_re2c.c"
-yy165:
-       YYDEBUG(165, YYPEEK ());
+yy169:
+       YYDEBUG(169, YYPEEK ());
+#line 211 "../gpr.re2c"
+       {*id =  17; continue;}
+#line 4697 "../gpr_re2c.c"
+yy170:
+       YYDEBUG(170, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'E':
-       case 'e':       goto yy177;
-       default:        goto yy33;
+       case 'e':       goto yy182;
+       default:        goto yy36;
        }
-yy166:
-       YYDEBUG(166, YYPEEK ());
+yy171:
+       YYDEBUG(171, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'T':
-       case 't':       goto yy179;
-       default:        goto yy33;
+       case 't':       goto yy184;
+       default:        goto yy36;
        }
-yy167:
-       YYDEBUG(167, YYPEEK ());
+yy172:
+       YYDEBUG(172, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'S':
-       case 's':       goto yy181;
-       default:        goto yy33;
+       case 's':       goto yy186;
+       default:        goto yy36;
        }
-yy168:
-       YYDEBUG(168, YYPEEK ());
+yy173:
+       YYDEBUG(173, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'R':
-       case 'r':       goto yy183;
-       default:        goto yy33;
+       case 'r':       goto yy188;
+       default:        goto yy36;
        }
-yy169:
-       YYDEBUG(169, YYPEEK ());
+yy174:
+       YYDEBUG(174, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'T':
-       case 't':       goto yy184;
-       default:        goto yy33;
+       case 't':       goto yy189;
+       default:        goto yy36;
        }
-yy170:
-       YYDEBUG(170, YYPEEK ());
+yy175:
+       YYDEBUG(175, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'T':
-       case 't':       goto yy186;
-       default:        goto yy33;
+       case 't':       goto yy191;
+       default:        goto yy36;
        }
-yy171:
-       YYDEBUG(171, YYPEEK ());
+yy176:
+       YYDEBUG(176, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'R':
-       case 'r':       goto yy187;
-       default:        goto yy33;
+       case 'r':       goto yy192;
+       default:        goto yy36;
        }
-yy172:
-       YYDEBUG(172, YYPEEK ());
-       yyaccept = 14;
+yy177:
+       YYDEBUG(177, YYPEEK ());
+       yyaccept = 15;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
@@ -4727,28 +4891,28 @@ yy172:
        case 0xF1:
        case 0xF2:
        case 0xF3:
-       case 0xF4:      goto yy33;
-       default:        goto yy173;
+       case 0xF4:      goto yy36;
+       default:        goto yy178;
        }
-yy173:
-       YYDEBUG(173, YYPEEK ());
-#line 200 "../gpr.re2c"
-       {*id =  8; continue;}
-#line 4738 "../gpr_re2c.c"
-yy174:
-       YYDEBUG(174, YYPEEK ());
+yy178:
+       YYDEBUG(178, YYPEEK ());
+#line 203 "../gpr.re2c"
+       {*id =  9; continue;}
+#line 4902 "../gpr_re2c.c"
+yy179:
+       YYDEBUG(179, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'L':
-       case 'l':       goto yy188;
-       default:        goto yy33;
+       case 'l':       goto yy193;
+       default:        goto yy36;
        }
-yy175:
-       YYDEBUG(175, YYPEEK ());
-       yyaccept = 15;
+yy180:
+       YYDEBUG(180, YYPEEK ());
+       yyaccept = 16;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
@@ -4866,17 +5030,17 @@ yy175:
        case 0xF1:
        case 0xF2:
        case 0xF3:
-       case 0xF4:      goto yy33;
-       default:        goto yy176;
+       case 0xF4:      goto yy36;
+       default:        goto yy181;
        }
-yy176:
-       YYDEBUG(176, YYPEEK ());
-#line 206 "../gpr.re2c"
-       {*id =  14; continue;}
-#line 4877 "../gpr_re2c.c"
-yy177:
-       YYDEBUG(177, YYPEEK ());
-       yyaccept = 16;
+yy181:
+       YYDEBUG(181, YYPEEK ());
+#line 209 "../gpr.re2c"
+       {*id =  15; continue;}
+#line 5041 "../gpr_re2c.c"
+yy182:
+       YYDEBUG(182, YYPEEK ());
+       yyaccept = 17;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
@@ -4994,17 +5158,17 @@ yy177:
        case 0xF1:
        case 0xF2:
        case 0xF3:
-       case 0xF4:      goto yy33;
-       default:        goto yy178;
+       case 0xF4:      goto yy36;
+       default:        goto yy183;
        }
-yy178:
-       YYDEBUG(178, YYPEEK ());
-#line 209 "../gpr.re2c"
-       {*id =  17; continue;}
-#line 5005 "../gpr_re2c.c"
-yy179:
-       YYDEBUG(179, YYPEEK ());
-       yyaccept = 17;
+yy183:
+       YYDEBUG(183, YYPEEK ());
+#line 212 "../gpr.re2c"
+       {*id =  18; continue;}
+#line 5169 "../gpr_re2c.c"
+yy184:
+       YYDEBUG(184, YYPEEK ());
+       yyaccept = 18;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
@@ -5122,17 +5286,17 @@ yy179:
        case 0xF1:
        case 0xF2:
        case 0xF3:
-       case 0xF4:      goto yy33;
-       default:        goto yy180;
+       case 0xF4:      goto yy36;
+       default:        goto yy185;
        }
-yy180:
-       YYDEBUG(180, YYPEEK ());
-#line 210 "../gpr.re2c"
-       {*id =  18; continue;}
-#line 5133 "../gpr_re2c.c"
-yy181:
-       YYDEBUG(181, YYPEEK ());
-       yyaccept = 18;
+yy185:
+       YYDEBUG(185, YYPEEK ());
+#line 213 "../gpr.re2c"
+       {*id =  19; continue;}
+#line 5297 "../gpr_re2c.c"
+yy186:
+       YYDEBUG(186, YYPEEK ());
+       yyaccept = 19;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
@@ -5250,28 +5414,28 @@ yy181:
        case 0xF1:
        case 0xF2:
        case 0xF3:
-       case 0xF4:      goto yy33;
-       default:        goto yy182;
+       case 0xF4:      goto yy36;
+       default:        goto yy187;
        }
-yy182:
-       YYDEBUG(182, YYPEEK ());
-#line 211 "../gpr.re2c"
-       {*id =  19; continue;}
-#line 5261 "../gpr_re2c.c"
-yy183:
-       YYDEBUG(183, YYPEEK ());
+yy187:
+       YYDEBUG(187, YYPEEK ());
+#line 214 "../gpr.re2c"
+       {*id =  20; continue;}
+#line 5425 "../gpr_re2c.c"
+yy188:
+       YYDEBUG(188, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'D':
-       case 'd':       goto yy190;
-       default:        goto yy33;
+       case 'd':       goto yy195;
+       default:        goto yy36;
        }
-yy184:
-       YYDEBUG(184, YYPEEK ());
-       yyaccept = 19;
+yy189:
+       YYDEBUG(189, YYPEEK ());
+       yyaccept = 20;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
@@ -5389,39 +5553,39 @@ yy184:
        case 0xF1:
        case 0xF2:
        case 0xF3:
-       case 0xF4:      goto yy33;
-       default:        goto yy185;
+       case 0xF4:      goto yy36;
+       default:        goto yy190;
        }
-yy185:
-       YYDEBUG(185, YYPEEK ());
-#line 195 "../gpr.re2c"
+yy190:
+       YYDEBUG(190, YYPEEK ());
+#line 197 "../gpr.re2c"
        {*id =  3; continue;}
-#line 5400 "../gpr_re2c.c"
-yy186:
-       YYDEBUG(186, YYPEEK ());
+#line 5564 "../gpr_re2c.c"
+yy191:
+       YYDEBUG(191, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'E':
-       case 'e':       goto yy192;
-       default:        goto yy33;
+       case 'e':       goto yy197;
+       default:        goto yy36;
        }
-yy187:
-       YYDEBUG(187, YYPEEK ());
+yy192:
+       YYDEBUG(192, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'A':
-       case 'a':       goto yy194;
-       default:        goto yy33;
+       case 'a':       goto yy199;
+       default:        goto yy36;
        }
-yy188:
-       YYDEBUG(188, YYPEEK ());
-       yyaccept = 20;
+yy193:
+       YYDEBUG(193, YYPEEK ());
+       yyaccept = 21;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
@@ -5538,18 +5702,18 @@ yy188:
        case 0xF1:
        case 0xF2:
        case 0xF3:
-       case 0xF4:      goto yy33;
-       case '_':       goto yy195;
-       default:        goto yy189;
+       case 0xF4:      goto yy36;
+       case '_':       goto yy200;
+       default:        goto yy194;
        }
-yy189:
-       YYDEBUG(189, YYPEEK ());
-#line 201 "../gpr.re2c"
-       {*id =  9; continue;}
-#line 5550 "../gpr_re2c.c"
-yy190:
-       YYDEBUG(190, YYPEEK ());
-       yyaccept = 21;
+yy194:
+       YYDEBUG(194, YYPEEK ());
+#line 204 "../gpr.re2c"
+       {*id =  10; continue;}
+#line 5714 "../gpr_re2c.c"
+yy195:
+       YYDEBUG(195, YYPEEK ());
+       yyaccept = 22;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
@@ -5667,17 +5831,17 @@ yy190:
        case 0xF1:
        case 0xF2:
        case 0xF3:
-       case 0xF4:      goto yy33;
-       default:        goto yy191;
+       case 0xF4:      goto yy36;
+       default:        goto yy196;
        }
-yy191:
-       YYDEBUG(191, YYPEEK ());
-#line 213 "../gpr.re2c"
-       {*id =  21; continue;}
-#line 5678 "../gpr_re2c.c"
-yy192:
-       YYDEBUG(192, YYPEEK ());
-       yyaccept = 22;
+yy196:
+       YYDEBUG(196, YYPEEK ());
+#line 216 "../gpr.re2c"
+       {*id =  22; continue;}
+#line 5842 "../gpr_re2c.c"
+yy197:
+       YYDEBUG(197, YYPEEK ());
+       yyaccept = 23;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
@@ -5795,104 +5959,104 @@ yy192:
        case 0xF1:
        case 0xF2:
        case 0xF3:
-       case 0xF4:      goto yy33;
-       default:        goto yy193;
+       case 0xF4:      goto yy36;
+       default:        goto yy198;
        }
-yy193:
-       YYDEBUG(193, YYPEEK ());
-#line 196 "../gpr.re2c"
-       {*id =  4; continue;}
-#line 5806 "../gpr_re2c.c"
-yy194:
-       YYDEBUG(194, YYPEEK ());
+yy198:
+       YYDEBUG(198, YYPEEK ());
+#line 199 "../gpr.re2c"
+       {*id =  5; continue;}
+#line 5970 "../gpr_re2c.c"
+yy199:
+       YYDEBUG(199, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'T':
-       case 't':       goto yy196;
-       default:        goto yy33;
+       case 't':       goto yy201;
+       default:        goto yy36;
        }
-yy195:
-       YYDEBUG(195, YYPEEK ());
+yy200:
+       YYDEBUG(200, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'A':
-       case 'a':       goto yy197;
-       default:        goto yy33;
+       case 'a':       goto yy202;
+       default:        goto yy36;
        }
-yy196:
-       YYDEBUG(196, YYPEEK ());
+yy201:
+       YYDEBUG(201, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'I':
-       case 'i':       goto yy198;
-       default:        goto yy33;
+       case 'i':       goto yy203;
+       default:        goto yy36;
        }
-yy197:
-       YYDEBUG(197, YYPEEK ());
+yy202:
+       YYDEBUG(202, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'S':
-       case 's':       goto yy199;
-       default:        goto yy33;
+       case 's':       goto yy204;
+       default:        goto yy36;
        }
-yy198:
-       YYDEBUG(198, YYPEEK ());
+yy203:
+       YYDEBUG(203, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'O':
-       case 'o':       goto yy200;
-       default:        goto yy33;
+       case 'o':       goto yy205;
+       default:        goto yy36;
        }
-yy199:
-       YYDEBUG(199, YYPEEK ());
+yy204:
+       YYDEBUG(204, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
-       case '_':       goto yy201;
-       default:        goto yy33;
+       case '_':       goto yy206;
+       default:        goto yy36;
        }
-yy200:
-       YYDEBUG(200, YYPEEK ());
+yy205:
+       YYDEBUG(205, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'N':
-       case 'n':       goto yy202;
-       default:        goto yy33;
+       case 'n':       goto yy207;
+       default:        goto yy36;
        }
-yy201:
-       YYDEBUG(201, YYPEEK ());
+yy206:
+       YYDEBUG(206, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'L':
-       case 'l':       goto yy204;
-       default:        goto yy33;
+       case 'l':       goto yy209;
+       default:        goto yy36;
        }
-yy202:
-       YYDEBUG(202, YYPEEK ());
-       yyaccept = 23;
+yy207:
+       YYDEBUG(207, YYPEEK ());
+       yyaccept = 24;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
@@ -6010,50 +6174,50 @@ yy202:
        case 0xF1:
        case 0xF2:
        case 0xF3:
-       case 0xF4:      goto yy33;
-       default:        goto yy203;
+       case 0xF4:      goto yy36;
+       default:        goto yy208;
        }
-yy203:
-       YYDEBUG(203, YYPEEK ());
-#line 198 "../gpr.re2c"
-       {*id =  6; continue;}
-#line 6021 "../gpr_re2c.c"
-yy204:
-       YYDEBUG(204, YYPEEK ());
+yy208:
+       YYDEBUG(208, YYPEEK ());
+#line 201 "../gpr.re2c"
+       {*id =  7; continue;}
+#line 6185 "../gpr_re2c.c"
+yy209:
+       YYDEBUG(209, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'I':
-       case 'i':       goto yy205;
-       default:        goto yy33;
+       case 'i':       goto yy210;
+       default:        goto yy36;
        }
-yy205:
-       YYDEBUG(205, YYPEEK ());
+yy210:
+       YYDEBUG(210, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'S':
-       case 's':       goto yy206;
-       default:        goto yy33;
+       case 's':       goto yy211;
+       default:        goto yy36;
        }
-yy206:
-       YYDEBUG(206, YYPEEK ());
+yy211:
+       YYDEBUG(211, YYPEEK ());
        yyaccept = 1;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
        switch (yych) {
        case 'T':
-       case 't':       goto yy207;
-       default:        goto yy33;
+       case 't':       goto yy212;
+       default:        goto yy36;
        }
-yy207:
-       YYDEBUG(207, YYPEEK ());
-       yyaccept = 24;
+yy212:
+       YYDEBUG(212, YYPEEK ());
+       yyaccept = 25;
        YYSKIP ();
        YYBACKUP ();
        yych = YYPEEK ();
@@ -6171,16 +6335,16 @@ yy207:
        case 0xF1:
        case 0xF2:
        case 0xF3:
-       case 0xF4:      goto yy33;
-       default:        goto yy208;
+       case 0xF4:      goto yy36;
+       default:        goto yy213;
        }
-yy208:
-       YYDEBUG(208, YYPEEK ());
-#line 202 "../gpr.re2c"
-       {*id =  10; continue;}
-#line 6182 "../gpr_re2c.c"
+yy213:
+       YYDEBUG(213, YYPEEK ());
+#line 205 "../gpr.re2c"
+       {*id =  11; continue;}
+#line 6346 "../gpr_re2c.c"
 }
-#line 232 "../gpr.re2c"
+#line 236 "../gpr.re2c"
 
       }
    *byte_position = lexer->byte_token_start - lexer->buffer + 1;
============================================================
--- test/gpr/simple.gpr aacae7596bdc97ef6be625c89b6799fe751c5219
+++ test/gpr/simple.gpr 381051bc2e7d8b060d732102c93680e23d763d08
@@ -4,6 +4,8 @@
 --
 --  Newlines in odd places to check for indentation errors
 
+--EMACSCMD:(setq skip-recase-test t)
+
 --EMACSCMD:major-mode
 --EMACSRESULT:'gpr-mode
 library project Simple is
@@ -60,4 +62,9 @@ library project Simple is
             null;
       end case;
    end Compiler;
+
+   package Naming is
+      for Spec ("MyPack.MyChild") use "mypack.mychild.spec" at 1;
+   end Naming;
+
 end Simple;

reply via email to

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